# ATL User Guide

- Introduction
- Contents
- Installation
- Prerequisites
- Install ATL
- Overview of the Atlas Transformation Language
- Examples metamodels
- Author metamodel
- Person metamodel
- Biblio metamodel
- ATL module
- Structure of an ATL module
- Header section
- Import section
- Helpers
- Rules
- Module execution modes
- Normal execution mode
- Refining execution mode
- Module execution semantics
- Default mode execution semantics
- Refining mode execution semantics
- ATL Query
- Structure of an ATL query
- Query execution semantics
- ATL Library
- The ATL Language
- Data types
- OclType operations
- OclAny operations
- The ATL Module data type
- Primitive data types
- Boolean data type operations
- Boolean expressions evaluation
- String data type operations
- Numerical data type operations
- Examples
- Collection data types
- Operations on collections
- Sequence data type operations
- Set data type operations
- OrderedSet data type operations
- Bag data type operations
- Iterating over collections
- Examples
- Enumeration data types
- Tuple data type
- Map data type
- Model element data type
- Full name reference to metamodel classes
- Examples
- ATL Comments
- Since ATL 3.1
- OCL Declarative Expressions
- If expression
- Let expression
- Other expressions
- Expressions tips & tricks
- ATL Helpers
- Helpers
- Calling super helpers
- Attributes
- Limitations
- ATL Rules
- ATL imperative code
- The assignment statement
- The if statement
- The for statement
- Current limitations
- Matched Rules
- Source pattern
- Local variables section
- Simple target pattern element
- Iterative target pattern element
- Imperative block section
- Lazy Rules
- Unique Lazy Rules
- Called Rules
- Rule inheritance
- Rules usage
- ATL Refining Mode
- Refining Mode support in previous compilers:
- Summary of compiler features
- ATL Queries
- ATL Keywords
- ATL Tips & Tricks
- The ATL Tools
- Perspectives
- ATL perspective
- Navigator
- Editors
- Outline
- Problems
- Error Log
- Console
- ATL Debug perspective
- Debug
- Variables
- Breakpoints
- Programming ATL
- Creating an ATL project
- Content assist
- Usage
- Since ATL 3.1
- Creating an ATL file
- The ATL File Wizard
- Creating an ATL file from scratch
- Compiling an ATL file
- Setting up an ATL run launch configuration
- The ATL Configuration tab
- The Advanced tab
- The Common tab
- Module superimposition
- Description
- Usage
- Running an ATL launch configuration
- ATL ant tasks
- Task atl.loadModel
- Parameters specified as attributes
- Parameters specified as nested elements
- Examples
- Task atl.saveModel
- Task atl.launch
- Parameters specified as attributes
- Parameters specified as nested elements
- inmodel
- outmodel
- superimpose
- library
- option
- Launcher configuration
- Making ATL transformations chains without intermediate serialization
- Examples
- Mapping with AM3 ant tasks
- Launching an Ant file with ATL tasks in an Eclipse workbench
- ATL Plugins
- Debugging ATL
- Managing breakpoints
- Setting/Removing breakpoints
- Activating/Deactivating breakpoints
- Limitations
- Creating an ATL Debug launch configuration
- Running an ATL Debug launch configuration
- Debugging actions
- Displaying variables values
- Updating This Document