Skip to main content
×
×
Home

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

  • ULRIKE GOLAS (a1), ANNEGRET HABEL (a2) and HARTMUT EHRIG (a3)
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.

Copyright
References
Hide All
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.
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.
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.
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.)
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.
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.
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.
Degano, P. and Montanari, U. (1987) A Model of Distributed Systems Based on Graph Rewriting. Journal of the ACM 34 (2)411449.
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.
Ehrig, H., Ehrig, K., Prange, U. and Taentzer, G. (2006) Fundamentals of Algebraic Graph Transformation, EATCS Monographs, Springer-Verlag.
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.
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).
Ermel, C. (2006) Simulation and Animation of Visual Languages based on Typed Algebraic Graph Transformation, Ph.D. thesis, Technische Universität Berlin.
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.
Golas, U. (2011) Analysis and Correctness of Algebraic Graph and Model Transformations, Ph.D. thesis, Technische Universität Berlin, Vieweg and Teubner.
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.
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.
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.
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.
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.
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.
Lack, S. and Sobociński, P. (2005) Adhesive and Quasiadhesive Categories. Theoretical Informatics and Applications 39 (3)511545.
Löwe, M. (1993) Algebraic Approach to Single-Pushout Graph Transformation. Theoretical Computer Science 109 181224.
Reisig, W. and Rozenberg, G. (1998) Lectures on Petri Nets I: Basic Models. Springer-Verlag Lecture Notes in Computer Science 1491.
Rensink, A. and Kuperus, J.-H. (2009) Repotting the Geraniums: On Nested Graph Transformation Rules. Electronic Communications of the EASST 18 115.
Rozenberg, G. (ed.) (1997) Handbook of Graph Grammars and Computing by Graph Transformation 1: Foundations, World Scientific.
Rozenberg, G. and Lindenmayer, A. (1976) Automata, Languages, and Development, North Holland.
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.
Taentzer, G. (1996) Parallel and Distributed Graph Transformation: Formal Description and Application to Communication Based Systems, Ph.D. thesis, Technische Universität Berlin.
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.
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.
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.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed