Skip to main content
Log in

Meta-modelling and graph grammars for multi-paradigm modelling in AToM3

  • Special section on graph transformations and visual modeling techniques
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

This paper presents the combined use of meta-modelling and graph grammars for the generation of visual modelling tools for simulation formalisms. In meta-modelling, formalisms are described at a meta-level. This information is used by a meta-model processor to generate modelling tools for the described formalisms. We combine meta-modelling with graph grammars to extend the model manipulation capabilities of the generated modelling tools: edit, simulate, transform into another formalism, optimize and generate code. We store all (meta-)models as graphs, and thus, express model manipulations as graph grammars.

We present the design and implementation of these concepts in AToM3 (A_To_ol for M_ulti-formalism, M_eta-M_odelling). AToM3 supports modelling of complex systems using different formalisms, all meta-modelled in their own right. Models in different formalisms may be transformed into a single common formalism for further processing. These transformations are specified by graph grammars. Mosterman and Vangheluwe [18] introduced the term multi-paradigm modelling to denote the combination of multiple formalisms, multiple abstraction levels, and meta-modelling. As an example of multi-paradigm modelling we present a meta-model for the Object-Oriented Continuous Simulation Language OOCSMP, in which we combine ideas from UML class diagrams (to express the OOCSMP model structure), Causal Block Diagrams (CBDs), and Statecharts (to specify the methods of the OOCSMP classes). A graph grammar is able to generate OOCSMP code, and then a compiler for this language (C-OOL) generates Java applets for the simulation execution.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aho AV, Sethi R, Ullman JD (1986) Compilers, principles, techniques and tools. Chapter 6, Type Checking. Addison-Wesley

  2. Alfonseca M, Pulido E, Orosco R, de Lara J (1997) OOCSMP: An Object-Oriented Simulation Language. In: Proceedings of the 9th European Simulation Symposium ESS97, SCS Int., Erlangen, Germany, pp. 44–48. See the OOCSMP home page at: http://www.ii.uam.es/∼jlara/investigacion/download/OOCSMP.html

  3. AToM3 home page: http://atom3.cs.mcgill.ca

  4. Bardohl R, Ermel C, Weinhold I (2002) AGG and GenGED: Graph Transformation-Based Specification and Analysis Techniques for Visual Languages. In: Proc. GraBaTs 2002. Electronic Notes in Theoretical Computer Science, vol 72(2)

  5. Barros FJ, Zeigler BP, Fishwick PA (1998) Multimodels and dynamic structure models: an integration of DSDE/DEVS and OOPM. In: Proceedings of the 1998 Winter Simulation Conference, pp 413–419

  6. Booch G, Rumbaugh J, Jacobson I (1999) The Unified Modeling Language User Guide. Addison Wesley

  7. Davis II J, Hylands C, Kienhuis B, Lee EA, Liu J, Liu X, Muliadi L, Neuendorffer S, Tsay J, Vogel B, Xiong Y (2001) Heterogeneous Concurrent Modeling and Design in Java. Technical Memorandum UCB/ERL M01/12, EECS, University of California, Berkeley. See also: http://ptolomey.eecs.berkeley.edu/publications

  8. de Lara J, Vangheluwe H (2002) AToM3: A Tool for Multi-Formalism Modelling and Meta-Modelling. In: European Conferences on Theory And Practice of Software Engineering ETAPS’02, Fundamental Approaches to Software Engineering (FASE). Lecture Notes in Computer Science, vol 2306. Springer-Verlag, pp 174–188

  9. de Lara J, Vangheluwe H (2002) Computer Aided Multi-Paradigm Modelling to process Petri-Nets and Statecharts. In: 1st International Conference on Graph Transformations, ICGT’2002 (Barcelona). Lecture Notes in Computer Science, vol 2505, pp 239–253

  10. de Lara J, Vangheluwe H, Alfonseca M (2002) Using Meta-Modelling and Graph Grammars to create Modelling Environments. In: Graph Transformations and Visual Modelling Techniques (GT-VMT) Workshop, Barcelona. Electronic Notes in Theoretical Computer Science, vol 72(3)

  11. DOME guide (2000) http://www.htc.honeywell.com/dome/, Honeywell Technology Center. Honeywell, version 5.3

  12. Elmqvist H, Mattson SE (1997) An Introduction to the Physical Modeling Language Modelica. In: Proceedings 9th European Simulation Sympossium ESS97, SCS Int., Erlangen, pp 110–114. See also http://www.modelica.org

  13. Fishwick P, Zeigler BP (1992) A Multimodel Methodology for Qualitative Model Engineering. ACM Transactions on Modelling and Computer Simulation 1(2):52–81

    Article  Google Scholar 

  14. Gray J, Bapty T, Neema S (2000) Aspectifying Constraints in Model-Integrated Computing. In: OOPSLA 2000: Workshop on Advanced Separation of Concerns, Minneapolis, MN, October, 2000

  15. Harel D (1987) Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8:231–274

    Article  MathSciNet  Google Scholar 

  16. IBM Corp. (1972) Continuous System Modelling Program III (CSMP III) and Graphic Feature (CSMP III Graphic Feature) General Information Manual. IBM Canada, Ontario, GH19-7000

  17. Minas M (2002) Specifying Graph-like diagrams with DIAGEN. Science of Computer Programming 44:157–180

    Article  Google Scholar 

  18. Mosterman P, Vangheluwe H (2002) Computer Automated Multi-Paradigm Modeling. ACM Transactions on Modeling and Computer Simulation 12(4):1–7. Special Issue Guest Editorial

    Article  Google Scholar 

  19. OMG Home Page: http://www.omg.org

  20. Pereira Remelhe M, Engel S, Otter M, Derarade A, Mosterman P (2002) An Environment for Integrated Modelling of Systems with Complex Continuous and Discrete Dynamics. In: Lecture Notes in Control and Information Systems, vol 279, pp: 83–105

  21. Python home page: http://www.python.org

  22. Rozenberg G (ed) (1999) Handbook of Graph Grammars and Computing by Graph Transformation. Vol. 1. World Scientific

  23. Taentzer G (1996) Parallel and Distributed Graph Transformation. Formal Description and Application to Communication-Based Systems. PhD Dissertation, Shaker Verlag

  24. Vangheluwe H (2000) DEVS as a common denominator for multi-formalism hybrid systems modelling. In: Varga A (ed) IEEE International Symposium on Computer-Aided Control System Design. IEEE Computer Society Press, Anchorage, Alaska, pp 129–134

  25. Vangheluwe H, de Lara J, Mosterman P (2002) An Introduction to Multi-Paradigm Modelling and Simulation. In: Proceedings of AI, Simulation and Planning – AIS’2002. Lisbon. SCS International, pp: 9–20

  26. Zeigler BP, Praehofer H, Kim TG (2000) Theory of modelling and simulation: Integrating discrete event and continuous complex dynamic systems, second ed. Academic Press

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

de Lara, J., Vangheluwe, H. & Alfonseca, M. Meta-modelling and graph grammars for multi-paradigm modelling in AToM3. Softw Syst Model 3, 194–209 (2004). https://doi.org/10.1007/s10270-003-0047-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-003-0047-5

Keywords

Navigation