AToM^{3}


IntroductionAToM^{3} is a tool for multiparadigm modelling under development at the Modelling, Simulation and Design Lab (MSDL) in the School of Computer Science of McGill University. It is developed in close colaboration with Prof. Juan de Lara of the School of Computer Science, Universidad Autónoma de Madrid (UAM), Spain. AToM^{3} stands for ``A Tool for Multiformalism and MetaModelling''. AToM^{3} allows the description or metamodelling of different kinds of formalisms (we have focused on formalisms for simulation of dynamical systems), as well as to generate custom tools to manipulate (create, edit, transform, simulate, optimize, ... ) models expressed in such formalisms. Most commonly, metamodels are expressed in the Entity Relationship (ER) formalism augmented with Constraints. Model transformations are specified (metamodelled) as Graph Grammars. AToM^{3} includes a graph rewriting engine to perform the transformations specified as Graph Grammars. Typical model transformations include model simplification (e.g., state reduction in Finite State Automata), code generation, generation of executable simulators based on the operational semantics of formalisms, as well as behaviourpreserving transformations between models in different formalisms. In AToM^{3}, formalisms are modelled graphically. From a metaspecification (in the ER formalism), AToM^{3} generates a tool to manipulate models described in the specified formalism. Models are represented internally using Abstract Syntax Graphs. As a consequence, transformations between formalisms can be performed by graph rewriting. The transformations themselves can thus be declaratively expressed as graph grammar models. Some of the metamodels currently available are: EntityRelationship, GPSS, Deterministic Finite state Automata, NonDeterministic Finite state Automata, Petri Nets, Data Flow Diagrams and Structure Charts. 