# AToMPM Documentation

AToMPM (“A Tool for Multi-Paradigm Modelling”) is a (meta)modelling workbench, which allows language developers to create visual domain-specific languages, and domain experts to use these languages. A language is defined by its abstract syntax in a metamodel, its concrete syntax(es), which define(s) how each abstract syntax element is visualized, and its semantics definition(s), either operational (a simulator) or translational (by mapping onto a known semantic domain). AToMPM supports model transformations to model semantics.

This documentation serves to introduce AToMPM to the two main user groups: language developers and language users.

## Contents

- Installation
  - Windows
  - Linux
  - Mac
- Overview
  - First Usage
  - The AToMPM User Interface
    - Toolbars
    - Canvas
    - Console
- Creating a Modelling Language
  - Initializing
  - Defining Abstract Syntax
    - Requirements
    - Classes
    - Associations
    - Cardinalities
    - Attributes
    - Inheritance
    - Constraints
    - Actions
    - Triggers
    - Action Library
  - Defining Concrete Syntax
    - Mappers and Parsers
  - Compiling
- Using a Modelling Language
  - Loading a Formalism Toolbar
  - Opening a Model
  - Saving a Model
  - Validating a Model
- Modelling a Model Transformation
  - Compiling a Language to a Pattern Language
  - Initializing Schedules/Rules
  - The Rule Language
    - LHS and NAC
    - RHS
  - The MoTif Scheduling Language
  - Action Library
  - TrafficLight Example
- Executing a Model Transformation
- Troubleshooting
- Workflows
  - Using Workflows
  - Opening the workflow
  - Setting the run-time parameters
  - Execute the workflow
  - Dependency
  - Example Workflow for Creating a DSL