AToM3 is a tool for multi-paradigm 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. AToM3 stands for ``A Tool for Multi-formalism and Meta-Modelling''.

AToM3 allows the description or meta-modelling 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, meta-models are expressed in the Entity Relationship (ER) formalism augmented with Constraints. Model transformations are specified (meta-modelled) as Graph Grammars. AToM3 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 behaviour-preserving transformations between models in different formalisms.

In AToM3, formalisms are modelled graphically. From a meta-specification (in the ER formalism), AToM3 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 meta-models currently available are: Entity-Relationship, GPSS, Deterministic Finite state Automata, Non-Deterministic Finite state Automata, Petri Nets, Data Flow Diagrams and Structure Charts.