Model Refactoring and other Advanced ATL Techniques

Frederic Jouault, William Piers (OBEO)

Frameworks - Modeling · Tutorial - 4 hours  slideshare zip files
Monday, 13:30, 4 hours | Grand Ballroom E

7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18

Modeling technologies help design software systems by offering the possibility to represent their different parts (e.g., user interface, class structure) more adequately as models defined in Domain-Specific Languages (DSLs). This contrasts with the traditional way of encoding all the functionality of a large system using a single General Purpose Language like Java. However, for the system to actually run, code has to be generated from these higher-level models. Model-to-Model (M2M) transformation is one of the key techniques that are used to achieve this result. The tools provided in the M2M Eclipse.org modeling project make it possible for developers to use this technique in practice. They are to model-to-model transformation what JDT (Java Development Tools) are to Java development.

This tutorial presents the ATL language and its toolbox, which are provided in the M2M project: editor (with syntax highlighting, content assist), execution engine, and debugger. Beginners will learn what model transformation, M2M, and ATL are, as well as how to use them on concrete case-studies. Veteran ATL users will discover new functionalities and techniques. This notably includes usage of the new ATL refining mode to refactor UML models in-place (this new feature will be part of Galileo). Full source code of the presented material will be made available both in partial (e.g., as exercises) and complete forms. Attendees are also invited to vote for their two favorite topics (see list in outline). The presenter will then discuss the two or three most demanded topics.

The presentation will be performed by model-to-model transformation experts, including the architect of ATL, who designed the language and created the initial implementation now further developed by contributors from the Eclipse.org community.

Remark: This tutorial complements a tutorial presented at EclipseCon 2008. New technical material is presented: new exercises, detailed presentation of refining mode (used for refactoring transformations), etc. However, enough introductory material will be presented so that anyone may follow.

Outline

  1. Introduction
    • Model-To-Model transformation in the MDE field
    • M2M vs. M2T
  2. ATL Overview
    • Available resources: wiki, zoo, newsgroup, use cases, etc.
    • ATL language description
  3. First exercise: Model Visualization
  4. Advanced Usage of ATL
    • Simple and Efficient Refactoring Transformations
    • Model Enrichment
  5. Second exercise: Model Refactoring (e.g., UML & Ecore)
  6. Architecture
    • Overview
    • The new virtual machine: EMF-VM
  7. Third exercise: A DSL Compiler for SWTBot
  8. ATL Industrialization
  9. Discussions

    Two or three among the following topics:

    • ATL or QVT?
    • Model-to-model or Model-to-text?
    • The ATL Virtual Machine (a Common-Modeling Runtime)
    • ATL Best Practices
    • MDE & Domain-Specific Languages
    • Modeling platforms
    • Where do model come from?

    Attendees may suggest additional topics.

  10. Frédéric is the architect and lead of M2M/ATL, and of TMF/TCS. He created these two languages, and tools as part of his Ph.D. thesis. Frédéric is continuing his research activities on model-to-model transformation, as well as on textual syntaxes. This notably results in continuous improvements of ATL and TCS. He is also using these tools for teaching purposes.

    William Piers, MDA Consultant at Obeo, is currently working on the m2m part of modeling, especially for ATL and QVT-R projects. He is committer on these two projects. He has graduated a Master at the University of Nantes and specialized himself in software engineering and model driven engineering. William is currently working on new features, and on the Galileo process. He also provides support, gives tutorials, and trains people on ATL usage.

    Slides

    View more EclipseCon and EclipseSummit presentations and discussions at gPublication.com/eclipse.

    Download Material

    Download file of related material.

Gold sponsors

IBM Corporation

Windriver logo

JBoss

Sun Microsystems

SOPERA

BLU AGE

BIRT Exchange by Actuate

Silver sponsors

Innovations Software Technology

Google

Genuitec

Instantiations

itemis

EclipseSource

Innovent Solutions

SAP Business Objects

Hardware Sponsor

Cisco

Lanyard Sponsor

Intel logo



report a problem with this page