|
|
(162 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | = Introduction =
| + | #REDIRECT [[ATL/User_Guide_-_Introduction]] |
− | | + | |
− | = An Introduction to Model Transformation =
| + | |
− | | + | |
− | == The Model-Driven Architecture ==
| + | |
− | | + | |
− | == Model Transformation ==
| + | |
− | | + | |
− | = Overview of the Atlas Transformation Language =
| + | |
− | | + | |
− | == 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 ====
| + | |
− | | + | |
− | ==== 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 ===
| + | |
− | | + | |
− | ==== Examples ====
| + | |
− | | + | |
− | == ATL Comments ==
| + | |
− | | + | |
− | == OCL Declarative Expressions ==
| + | |
− | | + | |
− | === If expression ===
| + | |
− | | + | |
− | === Let expression ===
| + | |
− | | + | |
− | === Other expressions ===
| + | |
− | | + | |
− | === Expressions tips & tricks ===
| + | |
− | | + | |
− | == ATL Helpers ==
| + | |
− | | + | |
− | === 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 ====
| + | |
− | | + | |
− | === Called Rules ===
| + | |
− | | + | |
− | == ATL Queries ==
| + | |
− | | + | |
− | == ATL Keywords ==
| + | |
− | | + | |
− | == ATL Tips & Tricks ==
| + | |
− | | + | |
− | == The ATL Tools ==
| + | |
− | | + | |
− | == Installation ==
| + | |
− | | + | |
− | == Perspectives ==
| + | |
− | | + | |
− | === ATL perspective ===
| + | |
− | | + | |
− | ==== Navigator ====
| + | |
− | | + | |
− | ==== Editors ====
| + | |
− | | + | |
− | ==== Outline ====
| + | |
− | | + | |
− | ==== Problems ====
| + | |
− | | + | |
− | ==== Properties ====
| + | |
− | | + | |
− | ==== Error Log ====
| + | |
− | | + | |
− | ==== Console ====
| + | |
− | | + | |
− | === ATL Debug perspective ===
| + | |
− | | + | |
− | ==== Debug ====
| + | |
− | | + | |
− | ==== Variables ====
| + | |
− | | + | |
− | ==== Breakpoints ====
| + | |
− | | + | |
− | ==== Editors ====
| + | |
− | | + | |
− | ==== Outline ====
| + | |
− | | + | |
− | ==== Console ====
| + | |
− | | + | |
− | ==== Tasks ====
| + | |
− | | + | |
− | === AM3 perspective ===
| + | |
− | | + | |
− | == Programming ATL ==
| + | |
− | | + | |
− | === Creating an ATL project ===
| + | |
− | | + | |
− | === Designing metamodels with KM3 ===
| + | |
− | | + | |
− | === 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 Model Choice tab ====
| + | |
− | | + | |
− | ==== The Common tab ====
| + | |
− | | + | |
− | === Running an ATL launch configuration ===
| + | |
− | | + | |
− | == 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 ===
| + | |
− | | + | |
− | = Additional ATL Resources =
| + | |
− | | + | |
− | = Conclusion =
| + | |
− | | + | |
− | = References =
| + | |
− | | + | |
− | = Appendix A - The MMAuthor metamodel =
| + | |
− | | + | |
− | = Appendix B - The MMPerson metamodel =
| + | |
− | | + | |
− | = Appendix C - The Biblio metamodel =
| + | |
− | | + | |
− | = Appendix D - The Table metamodel =
| + | |