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
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating t ...
, ATL is an
M2M (Eclipse) component, inside of the
Eclipse Modeling Project (EMP).
Overview
ATL is a
model transformation language (MTL) developed by OBEO and
INRIA
The National Institute for Research in Digital Science and Technology (Inria) () is a French national research institution focusing on computer science and applied mathematics.
It was created under the name French Institute for Research in Comp ...
to answer the
QVT
QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group.
Overview
Model transformation is a key technique used in model-driven architecture. As the name QVT indicates, the ...
Request For Proposal. QVT is an
Object Management Group
The Object Management Group (OMG®) is a computer industry Standards Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
standard for performing
model transformation
A model transformation, in model-driven engineering, is an automated way of modifying and creating platform-specific model from platform-independent ones. An example use of model transformation is ensuring that a family of models is consistent, in ...
s. It can be used to do syntactic or
semantic translation
Semantic translation is the process of using semantic information to aid in the translation of data in one representation or data model to another representation or data model. Semantic translation takes advantage of semantics that associate mean ...
. ATL is built on top of a model transformation
Virtual Machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
.
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
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
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
A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , .
Models can be divided in ...
Ma conforms to
metamodel
A metamodel is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction, and development of the frames, rules, constraints, models, and theories applica ...
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
There is an associated ATL Development Toolkit
plugin available in open source
from the ATL
Eclipse
An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
Modeling Project (EMP) that implements the ATL transformation language which is inspired by the
MOF Query/View/Transformation language
QVT
QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group.
Overview
Model transformation is a key technique used in model-driven architecture. As the name QVT indicates, the ...
. A large library of transformations is available.
MOF QVT is a
Domain Specific Language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
for Model Transformation. It supports models conforming to Ecore, EMOF,
KM3 (a specific
Domain Specific Language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
for metamodel specification), etc. ATL is also running on MDR/
NetBeans
NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
.
See also
*
Model Driven Engineering
Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract r ...
(MDE)
*
Domain-specific modelling (DSM)
*
Model Transformation Language (MTL)
*
MOF Queries/Views/Transformations (QVT)
References
*''The MDA Manifesto'
available from the MDA Journal*''Model Driven Architecture: Applying MDA to Enterprise Computing'',
David S. Frankel, John Wiley & Sons,
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
*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
*''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
* 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
* Grønmo, R, and Oldevik, J : ''An Empirical Study of the UML Model Transformation Tool (UMT)''. In: INTEROP-ESA'05, Feb. 2005. Webpublished
Related model-driven development approaches
* Voelter, M: ''Model Driven Software Development''. Webpublished
* Portal site ''MDA and Model Transformation'':
External links
* {{Official website
Cross-platform software
Free UML tools
Java platform software
Systems engineering
Unified Modeling Language