Skip to main content

Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution

  • Conference paper
  • First Online:
Applications of Graph Transformations with Industrial Relevance (AGTIVE 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1779))

Abstract

This paper presents a formal approach for managing unanticipated software evolution. Labelled typed nested graphs are used to represent arbitrarily complex software artifacts, and conditional graph rewriting is used for managing evolution of these artifacts. More specifically, we detect structural and behavioural inconsistencies when merging parallel evolutions of the same software artifact. The approach is domain-independent, in the sense that it can be customised to many different domains, such as software architectures, UML analysis and design models, and software code.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Banerjee, J., Chou, H.-J., Kim, H. J., Korth, H. F.: Semantics and implementation of schema evolution in object-oriented databases. SIGMOD RECORD, Vol. 16(3). ACM Press (1987) 311–322

    Article  Google Scholar 

  2. Berzins, V.: Software merge: semantics of combining changes to programs. TOPLAS, Vol. 16(6). ACM Press (1994) 1875–1903

    Article  Google Scholar 

  3. Binkley, D., Horwitz, S., Reps, T.: Program Integration for Languages with Procedure Calls. ACM Transactions on Software Engineering and Methodology, Vol. 4(1). ACM Press (1995) 3–35

    Article  Google Scholar 

  4. Conradi, C., Westfechtel, B.: Version Models for Software Configuration Management. ACM Computing Surveys, Vol. 30(2). ACM Press (1998).

    Google Scholar 

  5. Corradini, A., Montanari, U., Rossi, F.: Graph processes. In Ehrig, H., Rozenberg, G. (eds.): Special issue on graph transformations. Fundamenta Informaticae, Vol. 26(3,4). IOS Press [8] (1996) 241–265

    Google Scholar 

  6. Corradini, A., Ehrig, H., Löwe, M., Montanari, U., Padberg, J.: The category of typed graph grammars and their adjunction with categories of derivations. In [11] (1996)

    Google Scholar 

  7. Ehrig, H., Habel, A., Kreowski, H.-J., Parisi-Presicce, F.: From graph grammars to high-level replacement systems. In Kreowski, H.-J., Rozenberg, G. (eds.): Proceedings 4th International Workshop on Graph Grammars and their Application to Computer Science. Lecture Notes in Computer Science, Vol. 532. Springer-Verlag [10] (1991) 269–291

    Chapter  Google Scholar 

  8. Engels, G., Ehrig, H., Rozenberg, G. (eds.): Special issue on graph transformations. Fundamenta Informaticae, Vol. 26(3,4). IOS Press (1996)

    Google Scholar 

    Google Scholar 

  9. Engels, G., Schürr, A.: Encapsulated hierarchical graphs, graph types and meta types. Joint Compugraph/Semagraph Workshop on Graph Rewriting and Computation. Electronic Notes in Theoretical Computer Science, Vol. 2. Elsevier (1995)

    Google Scholar 

  10. Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.): Proceedings 4th International Workshop on Graph Grammars and their Application to Computer Science. Lecture Notes in Computer Science, Vol. 532. Springer-Verlag (1991)

    Google Scholar 

  11. Proceedings 5th International Workshop on Graph Grammars and their Application to Computer Science. Lecture Notes in Computer Science. Springer-Verlag (1996)

    Google Scholar 

  12. Proceedings 6th International Workshop on Theory and Application of Graph Transformation. Lecture Notes in Computer Science. Springer-Verlag (1998)

    Google Scholar 

  13. Habel, A., Heckel, R., Taentzer, G.: Graph Grammars with Negative Application Conditions. In Ehrig, H., Rozenberg, G. (eds.): Special issue on graph transformations. Fundamenta Informaticae, Vol. 26(3,4). IOS Press [8] (1996) 287–313

    Google Scholar 

  14. Heckel, R.: Algebraic graph transformations with application conditions. Dissertation, Technische Universität Berlin (1995)

    Google Scholar 

  15. Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars — A constructive approach. Lecture Notes in Theoretical Computer Science, Vol. 1. Elsevier Science (1995)

    Google Scholar 

  16. Hirsch, D., Inverardi, P., Montanari, U.: Modelling software architectures and styles with graph grammars and constraint solving. In Donohoe, P. (ed.), Software Architecture. Kluwer Academic Publishers (1999)

    Google Scholar 

  17. Löwe, M.: Algebraic approach to single-pushout graph transformation. Theoretical Computer Science, Vol. 109 (1993) 181–224

    Article  MATH  MathSciNet  Google Scholar 

  18. Lucas, C.: Documenting reuse and evolution with reuse contracts. PhD Dissertation, Department of Computer Science, Vrije Universiteit Brussel, September (1997)

    Google Scholar 

  19. Mens, T.: A formal foundation for object-oriented software evolution. PhD Dissertation, Department of Computer Science, Vrije Universiteit Brussel, September 1999.

    Google Scholar 

  20. Le Métayer, D.: Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, Vol. 24(7). IEEE Press (1998) 521–553

    Article  Google Scholar 

  21. Opdyke, W.F.: Refactoring object-oriented frameworks. PhD Thesis, University of Illinois at Urbana-Champaign, Technical Report UIUC-DCS-R-92-1759 (1992)

    Google Scholar 

  22. Poulovassilis, A., Levene, M.: A nested-graph model for the representation and manipulation of complex objects. ACM Transactions on Information Systems, Vol. 12(1). ACM Press (1994) 35–68

    Article  Google Scholar 

  23. Rigg, W., Burrows, C., Ingram, P.: Configuration management tools. Ovum Ltd. (1995)

    Google Scholar 

  24. Romero, N.: Managing architectural evolution with reuse contracts. Masters Dissertation, Department of Computer Science, Vrije Universiteit Brussel, 1999.

    Google Scholar 

  25. Steyaert, P., Lucas, C., Mens, K., D’Hondt, T.: Reuse contracts-Managing the evolution of reusable assets. In proceedings of OOPSLA’ 96. ACM SIGPLAN Notices, Vol. 31(10), ACM Press (1996) 268–286.

    Article  Google Scholar 

  26. Taentzer, G., Goedicke, M., Meyer, T.: Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In [12] (1998)

    Google Scholar 

  27. Wermelinger, M.: Towards a chemical model for sofware architecture reconfiguration. IEEE Proceedings — Software, Vol. 145(5). IEEE Press (1998) 130–136

    Article  Google Scholar 

  28. Westfechtel, B.: Structure-oriented merging of revisions of software documents. In proceedings of 3rd International Workshop on Software Configuration Management. ACM Press (1991) 68–79

    Google Scholar 

  29. Wiels, V., Easterbrook, S.: Management of evolving specifications using category theory. In proceedings of Automated Software Engineering Conference’ 98. IEEE Press (1998) 12–21

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mens, T. (2000). Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution. In: Nagl, M., Schürr, A., Münch, M. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 1999. Lecture Notes in Computer Science, vol 1779. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45104-8_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-45104-8_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67658-4

  • Online ISBN: 978-3-540-45104-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics