Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "ATL/User Guide"
< ATL
m (ATL/User Manual moved to ATL/User Guide: renamed to synchronize with other guides) |
|||
Line 1: | Line 1: | ||
− | + | = 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 ==== |
− | ==Appendix D - The Table metamodel | + | ==== 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 = |
Revision as of 09:22, 13 January 2009
Contents
- 1 Introduction
- 2 An Introduction to Model Transformation
- 3 Overview of the Atlas Transformation Language
- 4 The ATL Language
- 4.1 Data types
- 4.2 ATL Comments
- 4.3 OCL Declarative Expressions
- 4.4 ATL Helpers
- 4.5 ATL Rules
- 4.6 ATL Queries
- 4.7 ATL Keywords
- 4.8 ATL Tips & Tricks
- 4.9 The ATL Tools
- 4.10 Installation
- 4.11 Perspectives
- 4.12 Programming ATL
- 4.13 Debugging ATL
- 5 Additional ATL Resources
- 6 Conclusion
- 7 References
- 8 Appendix A - The MMAuthor metamodel
- 9 Appendix B - The MMPerson metamodel
- 10 Appendix C - The Biblio metamodel
- 11 Appendix D - The Table metamodel