ATL Use Cases

This section provides a set of ATL model transformation use cases covering different domains of application. These use cases are concrete examples of how model to model transformation (M2M) can be applied. Some of these use cases will be simple ones, some others will be more elaborated and will reuse basic use cases or parts of other ones.

Other Eclipse projects have use case section as well for example AMW or MoDisco (GMT components).

A general description is given for each of these use cases, as well as some more precise documentations. For many of them, prototypes have already been implemented and are directly downloadable from this website.

The general status of each of the provided use cases is indicated by one of the following icon:

Specification Only Partially Implemented Reaching Completion


List of use cases

  • DSLs coordination for Telephony

    This work presents a case study of implementing two telephony languages: SPL and CPL. They are partially based on similar vocabularies. However they are very different and have been designed to be used by different people. The use case shows how M2M transformations may be used to map programs conforming to SPL or CPL at different abstraction levels.
  • Model Adaptation

    The evolution of a metamodel may render its related terminal models invalid. This use case proposes a three-step solution that automatically adapts terminal models to their evolving metamodels. The main contribution is the precise detection of metamodel changes by using the AtlanMod Matching Language (AML), a DSL built on top of ATL and AMW. The running example is the Petrinet models.
  • Models Validation through Petri nets

    This work presents a use case of model transformation using ATL rules to validate MDD's models. This use case considers a simplified process description language, SimplePDL. It then presents a property-driven approach in which SimplePDL process models are translated into Petri nets. SimplePDL behavioral properties are expressed on corresponding Petri nets in LTL (Linear Temporal Logic). The Tina toolkit and, in particular, its model-checker, are used to validate process models by checking the expressed properties. This use case has been done by Benoit Combemale (IRIT). This is a collaboration between IRIT and LAAS labs in Toulouse, France.
  • Sharing Rules Between OCL/UML and SWRL/OWL

    This work presents an implementation of sharing rules between two rule languages from different domains: OCL (Object Constraint Language) together with UML and SWRL (Semantic Web Rule Language) together with OWL. For this integration we used the R2ML (REWERSE I1 Rule Markup Language) metamodel as pivotal metamodel. The R2ML is a general Web rule markup language and it can represent different rule types: integrity, reaction, derivation and production. This work has been done by Milan Milanovic in collaboration between the GOOD OLD AI Laboratory at University of Belgrade, School of Interactive Arts and Technology at Simon Fraser University Surrey in Canada and Chair of Internet Technology at Brandenburg University of Technology at Cottbus in Germany.
  • Compiling a new formal verification language to LOTOS (ISO 8807)

    In this use case, we translate FIACRE programs into LOTOS (ISO 8807) programs, which can then be verified using the CADP toolbox. This work is the result of the cooperation of two INRIA teams: ATLAS (Nantes), and VASY (Grenoble), in the context of the OpenEmbeDD project.
  • Models Measurement

    This use case shows how to compute and generate measures on KM3 metamodels or UML2 models, and how to display them in different way (HTML, and SVG). This work has been done in collaboration between SODIUS and the ATLAS Group. As a complementary application to this contribution, an online service is provided at SODIUS's web site under the name "MC-Meter". The online measurement service is available at: http://www.mdworkbench.com/measuring.php
  • Modeling Web applications

    This use case shows how model weaving is used to help in the development of model transformations. In some cases, the gap between the input and output metamodels makes it difficult to develop a model transformation that works for every input model. In such cases a weaving model can be used to enrich the input model by annotation. This process can be thought of as a way to parameterize the model transformation.
  • Visual Representation for Code Clone Tools

    The aim of this use case is to realize a uniform visual representation for different code clone detection tools. Different analysis results provided by different code clone detection tools can be injected into models. These models will be transformed to a generic Code Clone DSL model, and then into SVG model. Finally, the SVG code can be automatically extracted from SVG model.
  • Rational Rose to UML2 Tools

    This use case shows how we can reuse UML projects created with Rational Rose and import them in GMF (specifically in UML2 Tools) using ATL transformations. In this use case, we only support UML class diagrams. In practice, this use case was applied to the QVT metamodel available on the OMG site.
  • Model Driven Performance Engineering: From UML/SPT to AnyLogic

    This use case presents a transformation from annotated UML activity diagrams to AnyLogic simulation models. The actions and control flows in activity diagrams are annotated with performance information utilizing the UML profile for schedulability, performance, and timing (SPT). This information is used to generate a simulation model that can be executed by the AnyLogic simulation tool from XJ Technologies. Such simulations can help to identify performance issues early in a software design process. This use case has been done by Jendrik Johannes (TU Dresden) and its development has been supported by the IST European MODELPLEX project (MODELing solution for comPLEX software systems, FP6-IP 34081).
  • Production of UML class diagrams from syntactical models of english text or SBVR models

    This work presents a case study of obtaining a UML class diagram from a syntactical analysis of a text using SBVR as an intermediate layer. We show how it is possible, with the help of model engineering, to realize two transformations: from a syntactical model into a SBVR model, and from a SBVR model into a UML model. This work has been done in collaboration between the ATLANMOD team in Nantes and the ILOG company.
  • QVT to ATL Virtual Machine Compiler

    This work provides a QVT compiler that targets the ATL Virtual Machine (ATL VM), and thus provides executability of QVT programs on top of the ATL VM. The code generator is written in the ACG (Atl Code Generation) Domain-Specific Language (DSL). It takes as input a QVT model (typically in XMI format) that may have been created by a QVT front-end (i.e., a parser and type checker) like Eclipse/modeling/m2m/Procedural QVT, or SmartQVT. The output of the code generator is a ".asm" file similar to the ones generated by the ATL compiler, or the ACG compiler (both also written in ACG).
  • A Metamodel Independent Approach to Difference Representation

    This work presents an ATL implementation of a metamodel independent approach to the representation of model differences which is agnostic of the calculation method. Given two models being differenced which conform to a metamodel, their difference is conforming to another metamodel derived from the former by an automated transformation. Interestingly, difference models are first-class artifacts which in turn induce other transformations, such that they can be applied to one of the differenced models to automatically obtain the other one. This work has been done by Antonio Cicchetti, Davide Di Ruscio and Alfonso Pierantonio (Università dell'Aquila).
  • Software Quality Control Tools Interoperability (Bugzilla, Mantis, Excel)

    Problems of tools interoperability can be found in various domains. Software quality control is one of these. This use case presents an implementation of bridges between different bug tracking tools like Bugzilla, and Mantis. We also consider that bug tracking information may be handled in a generic tool like Excel.
  • Software Build Tools Interoperability (Make, Ant, Maven)

    Make is one of the most common build tool. It remains widely used but essentially in Unix-based platforms. Many problems have surfaced with scaling Make to work with modern, large software projects. So, it is interesting to provide some bridges from Make to other build tools like Ant (which is popular for Java development and uses an XML file format) and Maven (a Java tool for management project and automated software build).
  • Web Syndication Interoperability (RSS and Atom)

    People who generate web syndication feeds have a choice of formats. Today, the two most likely candidates are RSS 2.0 and Atom 1.0. The goal of this case study is to provide a bridge between both formats by using a light and flexible interoperability solution.
  • ODM Implementation (Bridging UML and OWL)

    This use case presents an implemented solution to the OMG Ontology Definition Metamodel (ODM) specification. ODM offers a set of metamodels and mappings for bridging the metamodeling world and the ontologies. The present solution supports the UML 2.0 metamodel and the OWL metamodel as defined in ODM. This work is made by the SIDo Group from the L3I lab in La Rochelle.
  • Implementing two business rule languages: PRR and IRL

    This work presents a case study of implementing two business rule languages: Production Rule Representation (PRR) and ILOG Rule Language (IRL). We show how a pivot language can be translated into a concrete one with the help of model engineering. The outcome of this experiment also provides an interesting example of DSLs coordination. This work has been done in collaboration between the ATLAS Group in Nantes and ILOG. A web service PRR to IRL is available here: http://www.sciences.univ-nantes.fr/lina/atl/atldemo/prronline/.
  • From Hoare's Monitors to Dijkstra's Semaphores

    This is a classic in synchronization. We propose an automatic translation from Hoare's monitors as defined in [1] into Dijkstra's semaphores as initially introduced in [2]. The ATL transformation code follows the rules given in [1]. A complete reprint of this paper is available at: http://www.acm.org/classics/feb96/.
  • From UML Activity Diagram to Project Management Software

    This use case shows the possibility to have interoperability between an UML activity diagram and a project management software like MsProject. UML Activity Diagrams are typically used for business process modeling, for modeling the logic captured by a single use case or usage scenario, or for modeling the detailed logic of a business rule. Microsoft Project is a project management software program developed by Microsoft.
  • Using a UML modeler to generate metamodels

    This use case shows how to use and integrate a model transformation service in a UML Modeler to generate metamodels conforming to KM3, MOF 1.4, and Ecore. The used UML Modeler is Papyrus (CEA LIST).
  • Measuring UML models

    This use case shows how to use and integrate a model transformation service in a UML Modeler to compute and generate quality measures on UML models. The used UML Modeler is Papyrus (CEA LIST).
  • Verifying UML profiled models

    This use case shows how to use and integrate a model transformation service in a UML Modeler to verify a UML profiled model. The used UML Modeler is Papyrus (CEA LIST).
  • RSM to Topcased UML2 Editor

    TOPCASED currently relies on the ATL model transformation toolkit. Model transformations have been mainly used in order to access models defined using other editors than TOPCASED one's. This use case presents an operational application of ATL to bridge RSM and TOPCASED.

  • Sildex to Topcased SAM

    This use case presents the import of SILDEX models (a synchronous language based graphical modelling formalism developed by TNI and currently in use at AIRBUS) in the TOPCASED SAM modelling language. SAM represents the new TOPCASED business metamodel for functional and automaton parts of SILDEX. This use case was implemented by C-S in the context of the TOPCASED project.

  • Sildex to Topcased AADL/COTRE

    This use case presents the import of SILDEX models (a synchronous language based graphical modelling formalism developed by TNI and currently in use at AIRBUS) in AADL/COTRE. It was implemented by C-S in the context of the TOPCASED project.