AToM3 Quick Links
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 collaboration 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''.
The two main tasks of AToM3 are meta-modelling and model-transforming. Meta-modelling refers to the description, or modelling of different kinds of formalisms used to model systems (although we have focused on formalisms for simulation of dynamical systems, AToM3's capabilities are not restricted to these.) Model-transforming refers to the (automatic) process of converting, translating or modifying a model in a given formalism, into another model that might or might not be in the same formalism.
In AToM3, formalisms and models are described as graphs. From a meta-specification (in the ER formalism) of a formalism, AToM3 generates a tool to visually manipulate (create and edit) models described in the specified formalism. Model transformations are 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. 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.
Download AToM3 (Updated: 17 January 2008 -- corrected Petri Net coverability analysis)
Tutorial focused on visual formalism layout (i.e.: good ways to manipulate x, y coordinates of entities, trigger the available layout algorithms, and handle visual hierarchies) possible if you show interest to Denis at email@example.com
External Utility Pack
The external utility pack adds extra functionality to AToM3. It need only be
installed once since it does not change (unlike the main AToM3 distribution).
The simplist method to install them is to place the external utility folders in your User area (this is created the first time AToM3 is started) in the 'User_External' directory. You can also place them arbitrarily, but then you'll have to edit the ExternalUserPaths.py file to point to it.