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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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
Berzins, V.: Software merge: semantics of combining changes to programs. TOPLAS, Vol. 16(6). ACM Press (1994) 1875–1903
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
Conradi, C., Westfechtel, B.: Version Models for Software Configuration Management. ACM Computing Surveys, Vol. 30(2). ACM Press (1998).
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
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)
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
Engels, G., Ehrig, H., Rozenberg, G. (eds.): Special issue on graph transformations. Fundamenta Informaticae, Vol. 26(3,4). IOS Press (1996)
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)
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)
Proceedings 5th International Workshop on Graph Grammars and their Application to Computer Science. Lecture Notes in Computer Science. Springer-Verlag (1996)
Proceedings 6th International Workshop on Theory and Application of Graph Transformation. Lecture Notes in Computer Science. Springer-Verlag (1998)
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
Heckel, R.: Algebraic graph transformations with application conditions. Dissertation, Technische Universität Berlin (1995)
Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars — A constructive approach. Lecture Notes in Theoretical Computer Science, Vol. 1. Elsevier Science (1995)
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)
Löwe, M.: Algebraic approach to single-pushout graph transformation. Theoretical Computer Science, Vol. 109 (1993) 181–224
Lucas, C.: Documenting reuse and evolution with reuse contracts. PhD Dissertation, Department of Computer Science, Vrije Universiteit Brussel, September (1997)
Mens, T.: A formal foundation for object-oriented software evolution. PhD Dissertation, Department of Computer Science, Vrije Universiteit Brussel, September 1999.
Le Métayer, D.: Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, Vol. 24(7). IEEE Press (1998) 521–553
Opdyke, W.F.: Refactoring object-oriented frameworks. PhD Thesis, University of Illinois at Urbana-Champaign, Technical Report UIUC-DCS-R-92-1759 (1992)
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
Rigg, W., Burrows, C., Ingram, P.: Configuration management tools. Ovum Ltd. (1995)
Romero, N.: Managing architectural evolution with reuse contracts. Masters Dissertation, Department of Computer Science, Vrije Universiteit Brussel, 1999.
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.
Taentzer, G., Goedicke, M., Meyer, T.: Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In [12] (1998)
Wermelinger, M.: Towards a chemical model for sofware architecture reconfiguration. IEEE Proceedings — Software, Vol. 145(5). IEEE Press (1998) 130–136
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
Wiels, V., Easterbrook, S.: Management of evolving specifications using category theory. In proceedings of Automated Software Engineering Conference’ 98. IEEE Press (1998) 12–21
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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