ATLAS Transformation Language

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
ATLAS Transformation Language
DevelopersOBEO, INRIA
Free software community
Stable release
4.9.0 / December 7, 2023; 2 years ago (2023-12-07)[1]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    LicenseEclipse Public License
    Websitewww.eclipse.org/atl
    File:Operational context of ATL.png
    ATL Operational Context

    ATL (ATLAS Transformation Language) is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the AtlanMod team (previously called ATLAS Group). In the field of Model-Driven Engineering (MDE), ATL provides ways to produce a set of target models from a set of source models.

    Released under the terms of the Eclipse Public License, ATL is an M2M (Eclipse) component, inside of the Eclipse Modeling Project (EMP).

    Overview

    [edit | edit source]

    ATL is a model transformation language (MTL) developed by OBEO and INRIA to answer the QVT Request For Proposal. QVT is an Object Management Group standard for performing model transformations. It can be used to do syntactic or semantic translation. ATL is built on top of a model transformation Virtual Machine.

    ATL is the ATLAS INRIA & LINA research group answer to the OMG MOF/QVT RFP. It is a model transformation language specified both as a metamodel and as a textual concrete syntax. It is a hybrid of declarative and imperative. The preferred style of transformation writing is declarative, which means simple mappings can be expressed simply. However, imperative constructs are provided so that some mappings too complex to be declaratively handled can still be specified. An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models.

    Architecture

    [edit | edit source]

    A model-transformation-oriented virtual machine has been defined and implemented to provide execution support for ATL while maintaining a certain level of flexibility. As a matter of fact, ATL becomes executable simply because a specific transformation from its metamodel to the virtual machine bytecode exists. Extending ATL is therefore mainly a matter of specifying the new language features execution semantics in terms of simple instructions: basic actions on models (elements creations and properties assignments).

    Example

    [edit | edit source]
    File:ATL presentation.png

    An ATL program (T1.atl here) will take model Ma.xmi as input and will produce model Mb.xmi as output. Both models may be expressed in the OMG XMI standard. The model Ma conforms to metamodel MMa.km3. Model Mb conforms to metamodel MMb.km3. The KM3 notation is a simple and neutral metamodel specification language.

    The ATL program itself (T1.atl here) is also a model, so it conforms to a metamodel (the ATL metamodel) not presented here.

    An ATL program is composed of a header, of a set of side-effect free functions called helpers and of a set of rules.

    Implementations

    [edit | edit source]

    There is an associated ATL Development Toolkit plugin available in open source from the ATL[2] Eclipse Modeling Project (EMP) that implements the ATL transformation language which is inspired by the MOF Query/View/Transformation language QVT.[3] A large library of transformations is available.[4] MOF QVT is a Domain Specific Language for Model Transformation. It supports models conforming to Ecore, EMOF, KM3 (a specific Domain Specific Language for metamodel specification), etc. ATL is also running on MDR/NetBeans.

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    • The MDA Manifesto available from the MDA Journal
    • Model Driven Architecture: Applying MDA to Enterprise Computing, David S. Frankel, John Wiley & Sons, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., book
    • On the Architectural Alignment of ATL and QVT. Frederic Jouault, Ivan Kurtev in: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track, Dijon, Bourgogne, France, (April 2006), pdf paper.

    Further reading

    [edit | edit source]
    • Bohlen, M: QVT and multi metamodel transformation in MDA. Webpublished
    • Wagelaar, D: MDE Case Study: Using Model Transformations for UML and DSLs. Webpublished
    • Czarnecki, K, and Helsen, S : Classification of Model Transformation Approaches. In: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in the Context Of Model-Driven Architecture. Anaheim (CA, USA). Webpublished
    • ModelBaset.net. MDA Tools
    • SoftwareMag.com. MDA Tools. Webpublished

    Articles

    [edit | edit source]
    • Model-Driven Architecture: Vision, Standards And Emerging Technologies at OMG.org
    • An Introduction to Model Driven Architecture at IBM.com
    • From Object Composition to Model Transformation with the MDA at OMG.org
    • Jouault, F and Kurtev, I: On the Architectural Alignment of ATL and QVT. In: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track. Dijon (Bourgogne, FRA), April 2006. Webpublished

    ATL Atlas model transformation language

    [edit | edit source]
    • Eclipse/M2M newsgroup: ATL discussion group.
    • Jouault, F and Kurtev, I:On the Architectural Alignment of ATL and QVT. In: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track. Dijon (Bourgogne, FRA), April 2006. Webpublished
    • Eclipse : M2M/ATL is part of the new Top Level Modeling Project

    UMT UML model transformation tool

    [edit | edit source]
    • Grønmo, R, and Oldevik, J : An Empirical Study of the UML Model Transformation Tool (UMT). In: INTEROP-ESA'05, Feb. 2005. Webpublished
    [edit | edit source]
    • Voelter, M: Model Driven Software Development. Webpublished
    • Portal site MDA and Model Transformation:
    [edit | edit source]
    • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).