Hostname: page-component-586b7cd67f-vdxz6 Total loading time: 0 Render date: 2024-11-25T06:20:36.069Z Has data issue: false hasContentIssue false

Multi-amalgamation of rules with application conditions in $\mathcal{M}$-adhesive categories

Published online by Cambridge University Press:  26 June 2014

ULRIKE GOLAS
Affiliation:
Konrad-Zuse-Zentrum für Informationstechnik Berlin, Berlin, Germany Email: [email protected]
ANNEGRET HABEL
Affiliation:
Universität Oldenburg, Oldenburg, Germany Email: [email protected]
HARTMUT EHRIG
Affiliation:
Technische Universität Berlin, Berlin, Germany Email: [email protected]

Abstract

Amalgamation is a well-known concept for graph transformations that is used to model synchronised parallelism of rules with shared subrules and corresponding transformations. This concept is especially important for an adequate formalisation of the operational semantics of statecharts and other visual modelling languages, where typed attributed graphs are used for multiple rules with nested application conditions. However, the theory of amalgamation for the double-pushout approach has so far only been developed on a set-theoretical basis for pairs of standard graph rules without any application conditions.

For this reason, in the current paper we present the theory of amalgamation for $\mathcal{M}$-adhesive categories, which form a slightly more general framework than (weak) adhesive HLR categories, for a bundle of rules with (nested) application conditions. The two main results are the Complement Rule Theorem, which shows how to construct a minimal complement rule for each subrule, and the Multi-Amalgamation Theorem, which generalises the well-known Parallelism and Amalgamation Theorems to the case of multiple synchronised parallelism. In order to apply the largest amalgamated rule, we use maximal matchings, which are computed according to the actual instance graph. The constructions are illustrated by a small but meaningful running example, while a more complex case study concerning the firing semantics of Petri nets is presented as an introductory example and to provide motivation.

Type
Paper
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Balasubramanian, D., Narayanan, A., Neema, S., Shi, F., Thibodeaux, R. and Karsai, G. (2007) A Subgraph Operator for Graph Transformation Languages. Electronic Communications of the EASST 6 112.Google Scholar
Biermann, E., Ehrig, H., Ermel, C., Golas, U. and Taentzer, G. (2010a) Parallel Independence of Amalgamated Graph Transformations Applied to Model Transformation. In: Graph Transformations and Model-Driven Engineering. Springer-Verlag Lecture Notes in Computer Science 5765 121140.Google Scholar
Biermann, E., Ermel, C. and Taentzer, G. (2010b) Lifting Parallel Graph Transformation Concepts to Model Transformation Based on the Eclipse Modeling Framework. Electronic Communications of the EASST 26 119.Google Scholar
Biermann, E., Ermel, C., Schmidt, J. and Warning, A. (2010c) Visual Modeling of Controlled EMF Model Transformation using HENSHIN. In: Proceedings of the Fourth International Workshop on Graph-Based Tools (GraBaTs 2010). (Available at http://journal.ub.tu-berlin.de/index.php/eceasst/article/view/528.)Google Scholar
Böhm, P., Fonio, H. and Habel, A. (1987) Amalgamation of Graph Transformations: A Synchronization Mechanism. Journal of Computer and System Sciences 34 (2-3)377408.Google Scholar
Castellani, I. and Montanari, U. (1983) Graph Grammars for Distributed Systems. In: Ehrig, H., Nagl, M. and Rozenberg, G. (eds.) Graph Grammars and Their Application to Computer Science. Springer-Verlag Lecture Notes in Computer Science 153 2038.Google Scholar
de Lara, J., Ermel, C., Taentzer, G. and Ehrig, K. (2004) Parallel Graph Transformation for Model Simulation Applied to Timed Transition Petri Nets. Electronic Notes in Theoretical Computer Science 109 1729.Google Scholar
Degano, P. and Montanari, U. (1987) A Model of Distributed Systems Based on Graph Rewriting. Journal of the ACM 34 (2)411449.Google Scholar
Ehrig, H. and Kreowski, H.-J. (1976) Parallelism of Manipulations in Multidimensional Information Structures. In: Proceedings of MFCS 1976. Springer-Verlag Lecture Notes in Computer Science 45 285293.Google Scholar
Ehrig, H., Ehrig, K., Prange, U. and Taentzer, G. (2006) Fundamentals of Algebraic Graph Transformation, EATCS Monographs, Springer-Verlag.Google Scholar
Ehrig, H., Golas, U. and Hermann, F. (2010) Categorical Frameworks for Graph Transformation and HLR Systems based on the DPO Approach. Bulletin of the EATCS 102 111121.Google Scholar
Ehrig, H., Golas, U., Habel, A., Lambers, L. and Orejas, F. (2014) M-Adhesive Transformation Systems with Nested Application Conditions. Part 1: Parallelism, Concurrency and Amalgamation. Mathematical Structures in Computer Science (this volume).Google Scholar
Ermel, C. (2006) Simulation and Animation of Visual Languages based on Typed Algebraic Graph Transformation, Ph.D. thesis, Technische Universität Berlin.Google Scholar
Fischer, T., Niere, J., Torunski, L. and Zündorf, A. (2000) A New Graph Rewrite Language Based on the Unified Modeling Language. In: Proceedings of TAGT 1998. Springer-Verlag Lecture Notes in Computer Science 1764 296309.CrossRefGoogle Scholar
Golas, U. (2011) Analysis and Correctness of Algebraic Graph and Model Transformations, Ph.D. thesis, Technische Universität Berlin, Vieweg and Teubner.CrossRefGoogle Scholar
Golas, U., Biermann, E., Ehrig, H. and Ermel, C. (2011) A Visual Interpreter Semantics for Statecharts Based on Amalgamated Graph Transformation. Electronic Communications of the EASST 39 124.Google Scholar
Golas, U., Ehrig, H. and Habel, A. (2010) Multi-Amalgamation in Adhesive Categories. In: Graph Transformations. Proceedings of ICGT 2010. Springer-Verlag Lecture Notes in Computer Science 6372 346361.Google Scholar
Grønmo, R., Krogdahl, S. and Møller-Pedersen, B. (2009) A Collection Operator for Graph Transformation. In: Proceedings of ICMT 2009. Springer-Verlag Lecture Notes in Computer Science 5563 6782.Google Scholar
Habel, A. and Pennemann, K.-H. (2009) Correctness of High-Level Transformation Systems Relative to Nested Conditions. Mathematical Structures in Computer Science 19 (2)245296.CrossRefGoogle Scholar
Hoffmann, B., Janssens, D. and van Eetvelde, N. (2006) Cloning and Expanding Graph Transformation Rules for Refactoring. Electronic Notes in Theoretical Computer Science 152 5367.CrossRefGoogle Scholar
Kuske, S., Gogolla, M., Kollmann, R. and Kreowski, H.-J. (2002) An Integrated Semantics for UML Class, Object and State Diagrams Based on Graph Transformation. In: Proceedings of IFM 2002. Springer-Verlag Lecture Notes in Computer Science 2335 1128.CrossRefGoogle Scholar
Lack, S. and Sobociński, P. (2005) Adhesive and Quasiadhesive Categories. Theoretical Informatics and Applications 39 (3)511545.Google Scholar
Löwe, M. (1993) Algebraic Approach to Single-Pushout Graph Transformation. Theoretical Computer Science 109 181224.CrossRefGoogle Scholar
Reisig, W. and Rozenberg, G. (1998) Lectures on Petri Nets I: Basic Models. Springer-Verlag Lecture Notes in Computer Science 1491.Google Scholar
Rensink, A. and Kuperus, J.-H. (2009) Repotting the Geraniums: On Nested Graph Transformation Rules. Electronic Communications of the EASST 18 115.Google Scholar
Rozenberg, G. (ed.) (1997) Handbook of Graph Grammars and Computing by Graph Transformation 1: Foundations, World Scientific.Google Scholar
Rozenberg, G. and Lindenmayer, A. (1976) Automata, Languages, and Development, North Holland.Google Scholar
Schürr, A., Winter, A. and Zündorf, A. (1999) The PROGRES-Approach: Language and Environment. In: Handbook of Graph Grammars and Computing by Graph Transformation 2: Applications, Languages and Tools, World Scientific 487550.Google Scholar
Taentzer, G. (1996) Parallel and Distributed Graph Transformation: Formal Description and Application to Communication Based Systems, Ph.D. thesis, Technische Universität Berlin.Google Scholar
Taentzer, G. (2004) AGG: A Graph Transformation Environment for Modeling and Validation of Software. In: Proceedings of AGTIVE 2003. Springer-Verlag Lecture Notes in Computer Science 3062 446456.Google Scholar
Taentzer, G. and Beyer, M. (1994) Amalgamated Graph Transformations and Their Use for Specifying AGG – an Algebraic Graph Grammar System. In: Graph Transformations in Computer Science. Springer-Verlag Lecture Notes in Computer Science 776 380394.CrossRefGoogle Scholar
Varró, D. (2002) A Formal Semantics of UML Statecharts by Model Transition Systems. In: Proceedings of ICGT 2002. Springer-Verlag Lecture Notes in Computer Science 2505 378392.CrossRefGoogle Scholar