Foundations of multi-paradigm modeling and simulation: computer automated multi-paradigm modelling: meta-modelling and graph transformation

  • Authors:
  • Hans Vangheluwe;Juan de Lara

  • Affiliations:
  • McGill University, Montréal, Quebec, Canada;ETS Informática, Universidad Autónoma de Madrid, Madrid, Spain

  • Venue:
  • Proceedings of the 35th conference on Winter simulation: driving innovation
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present Computer Automated Multi-Paradigm Modelling (CAMPaM) (Mosterman and Vangheluwe 2002) for Model-Driven Development based on Meta-Modelling and Graph Transformation. The syntax of a class of models of interest is graphically meta-modelled in an appropriate formalism such as Entity-Relationship Diagrams. From this description of abstract syntax, augmented with concrete (visual) syntax information, an interactive, visual modelling environment is automatically generated. As the abstract syntax of models, irrespective of the formalism they are described in, is graph-like, graph rewriting can be used to perform model transformation. Graph Grammar models thus allow for model transformation specification. The Graph Grammar formalism can be meta-modelled in its own right and hence a visual environment for manipulating transformation models can also be automatically generated. Graph rewriting provides a rigourous basis for specifying and analyzing model transformations such as simplification, simulation, and code generation. In this article, we introduce AToM3, A Tool for Multi-formalism and Meta-Modelling. We present the meta-modelling and graph transformation concepts through a simple reactive system example: a Timed Automata model of a traffic light. Meta-modelling Timed Automata, generating the visual modelling environment, and modelling transformations as graph grammers, as well as executing them, are all performed in the AToM3 environment. The model transformations include simulation, transformation into Timed Transition Petri Nets, and code generation.