j.e. rivera, d. ruiz-gonzález, f. lópez-romero, j. bautista, and a. vallecillo mtatl 09 nantes,...

14
Orchestrating ATL Model Transformations J.E. Rivera , D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

Upload: erin-harrell

Post on 29-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

Orchestrating ATL Model Transformations

J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista,

and A. Vallecillo

MtATL 09Nantes, July 09

Page 2: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(2) MtATL 09. Nantes, July 09

Model Driven Software Model Driven Software DevelopmentDevelopment Models: key artifacts in all phases of development They usually address one concern Implementation of a system obtained by applying a set

of transformations

Page 3: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(3) MtATL 09. Nantes, July 09

Model Transformation Model Transformation OrchestrationOrchestration Construction of complex model

transformations from other transformations already defined

Global Model Management●Megamodels as registries for resources available:

models, metamodels, transformations...●Reused to build new tools, processes and

transformations. Ant tasks

Page 4: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(4) MtATL 09. Nantes, July 09

Our ApproachOur Approach A DSL that enables the high-level

orchestration of ATL model transformations.●Modular and compositional construction of

complex model transformations chains

A graphical notation (similar to UML Activity diagrams) and an execution engine

Supports conditional branches, loops, composite transformations, HOT…

Page 5: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(5) MtATL 09. Nantes, July 09

The LanguageThe Language

Page 6: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(6) MtATL 09. Nantes, July 09

A simple chain of 2 model A simple chain of 2 model transformationtransformation

Temporary VS. Persistent Models

Page 7: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(7) MtATL 09. Nantes, July 09

TransformationsTransformations ATL Units: modules, libraries and queries

Composite Transformation

Page 8: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(8) MtATL 09. Nantes, July 09

TransformationsTransformations Identity Transformation

●Do not alter data

Generic Transformation●HOT

Page 9: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(9) MtATL 09. Nantes, July 09

Parallel CompositionParallel Composition Several outgoing data flows

Page 10: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(10) MtATL 09. Nantes, July 09

Conditional compositionConditional composition Decision nodes

If-then-else-endif If-then-endif

Page 11: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(11) MtATL 09. Nantes, July 09

LoopsLoops

Page 12: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(12) MtATL 09. Nantes, July 09

The Execution EngineThe Execution Engine1. elements = searchInputElements();2. void execute(elements) {3. for each e in elements {4. targetElements = searchTargetElements(e);5. for each targetElement in targetElements {6. if ( enabled(targetElement) ) {7. executeOneElement(targetElement);8. targetOutgoings =

searchTargetElements(targetElement);9. execute(targetOutgoings)10. }11. }12. }13. }

Page 13: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(13) MtATL 09. Nantes, July 09

The ToolThe Toolhttp://atenea.lcc.uma.es/index.php/Main_Page/Resources/Wires*

Page 14: J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09

(14) MtATL 09. Nantes, July 09

Conclusions & Future WorkConclusions & Future Work

● A graphical executable language for the orchestration of ATL transformations

● Provides appropriate mechanisms to enable the modular and compositional construction of complex model transformations chains.

Future Work:● Static validation of the Wires* models: valid

connections between output and input models (subtyping algorithm)

● Other kinds of model transformations: injectors, extractors (e.g., TCS).

● Other transformation languages● New ATL features