Advanced Applications Of Model-to-Model Transformation © 2008 INRIA - 1 - Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

1 Hugo Bruneliere (INRIA) MODELPLEX Interim Review, Brussels (Belgium), 27 th of March 2009 WP3 - Model Engineering D3.2.d “Global Model Management Traceability.
June 9, 2006 Transforming models with ATL © 2006 ATLAS Nantes Transforming models with ATL The A TLAS Transformation Language Frédéric Jouault ATLAS.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes,
Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering.
Query/Views/Transformations © 2006 ATLAS Nantes Query/Views/Transformations An introduction to the MOF 2.0 QVT standard with focus on the Operational.
Families to Persons © 2007 ATLAS Nantes "Families to Persons" A simple illustration of model-to-model transformation Freddy Allilaire Frédéric Jouault.
Pieter Van Gorp, Olaf Muliawan, Hans Schippers MoTMoT.sourceforge.net.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Sheet 1© 2005 Lentedagen, 30 March-1 April 2005 IPA Lentedagen on Software Architecture Model Transformations in MDA Ivan Kurtev.
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
MDE In A Sales Management System: A Case Study © 2008 INRIA, TUD & SAP MDE In A Sales Management System: A Case Study Mathias Fritzsche, Hugo Bruneliere,
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
XML Metadata Interchange (XMI)
Knowledge Discovery: How To Reverse-Engineer Legacy Sytems © 2008 INRIA Knowledge Discovery: How to Reverse-Engineer Legacy Systems Hugo Bruneliere,
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Overview of ATL and ETL (Jouault and Kurtev 2006, ‘Transforming Models with ATL’, Proc. MODELS 2005 Workshops, LNCS, vol. 3844, pp Kolovos et.
Composing Models: Principles & Techniques © Copyright TUBS & TUD Composing Models: Principles & Techniques Steven Völkel & Jendrik Johannes.
WorkPlace Pro Utilities.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
ATL The ATLAS Transformation Language. 2 ATL (ATLAS Transformation Language) ATL transformation pattern ATL metamodel Helpers – Operation helpers – Attribute.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Model Handling with EMF Eclipse ECESIS Project Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA),
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
Usage of OCL April Usage of OCL for design guidelines of models Christian Hein, Fraunhofer FOKUS April 2006.
August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Applications Of Model Weaving Techniques © 2008 INRIA & TUD Applications Of Model Weaving Techniques Hugo Bruneliere, Jendrik Johannes INRIA, TUD.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
WP 3.3 © Copyright Xactium, TUBS & TUD How to build a set of DSLs: from Theory to Practise Xactium, TUBS, Jendrik Johannes (TUD)
A language to describe software texture in abstract design models and implementation.
Systems Analysis and Design in a Changing World, 3rd Edition
Introduction to Model-Driven Simulation © 2008 SAP, TU Dresden, XJ Technologies Introduction to Model-Driven Simulation Mathias Fritzsche 1, Jendrik.
An ATL Example © 2005 ATLAS Nantes An ATL Example The BibTeXML to DocBook Transformation ATLAS group (INRIA & LINA), University of Nantes, France.
A new viewpoint for change management in RM-ODP systems Nesrine Yahiaoui 1,2, Bruno Traverson 1, Nicole Lévy 2 1 EDF R&D - 2 UVSQ PRiSM Workshop on ODP.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
1 Model-based Aspect Weaver Construction Suman Roychoudhury Frédéric Jouault Jeff Gray {roychous, jouault, cis.uab.edu This project is supported.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
Introduction To Model-to-Model Transformation © 2008 INRIA Introduction To Model-to-Model Transformation Hugo Bruneliere & Frédéric Jouault INRIA.
Supervised By: Dr. Juergen Dingel Suchita Ganesan, Laith “Leo” Juwaidah, Nondini Das Madiha Kazmi, Mojtaba Bagherzadeh Model-Based Monitoring for PapyrusRT.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
An Introduction to Metamodelling Eclipse ECESIS Project An Introduction to Metamodelling Principles & Fundamentals Department of Computer Science,
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
Design Pattern Support based on principles of model driven development Zihao Zhao.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Product Training Program
Operational QVT Incremental Update
Business Process Measures
Implementing Language Extensions with Model Transformations
Towards Automatic Model Synchronization from Model Transformation
Class Diagrams.
Authors: Barry Smyth, Mark T. Keane, Padraig Cunningham
Execute your Processes
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric Jouault INRIA

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6 project ( Co-funded by the European Commission, the MODELPLEX project involves 21 partners from 8 different countries. MODELPLEX aims at defining and developing a coherent infrastructure specifically for the application of MDE to the development and subsequent management of complex systems within a variety of industrial domains. To achieve the goal of large-scale adoption of MDE, MODELPLEX promotes the idea of a collaborative development of courseware dedicated to this domain. The MDE courseware provided here with the status of open- source software is produced under the EPL 1.0 license.

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Outline Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Imperative “Do” section & Called Rules Rule Inheritance Refining mode Chaining ATL transformations using ANT scripts ATL-specific ANT tasks Concrete use Handling UML2 models & profiles with ATL The UML24ATL model handler Concrete use Handling weaving models with ATL & AMW The AMW4ATL model handler Concrete use High-Order Transformations: Handling of transformations by transformations Principles Concrete use

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Simple Copy

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Structure creation

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Structure simplification

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Structure simplification (needlessly more complex)

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Traceability: implicit resolution of default elements

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Remark: same result, less modular

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Traceability: resolveTemp for additional elements

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Traceability: resolveTemp even for first element

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules Structure creation revisited with resolveTemp

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules We have only seen standard rules in default mode so far. Kind of ruleNumber of references to source pattern Number of times the target pattern gets created Kind of traceability link created standard0 1 n > default or not (using keyword nodefault) lazy0 1 n > 1 01n01n Not default unique lazy0 1 n > Not default

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Implicit resolution, ResolveTemp & lazy rules (1) For collections: aCollection->collect(e | thisModule.R1(e))

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Imperative “Do” Section Example: use an incremental variable

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Called Rules

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Rule Inheritance Help structure transformations and reuse rules and patterns: A child rule matches a subset of what its parent rule matches,  All the bindings of the parent still make sense for the child A child rule specializes target elements of its parent rule: Initialization of existing elements may be improved or changed New elements may be created Syntax: abstract rule R1 { } rule R2 extends R1 { }

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Rule Inheritance Copy class inheritance without rule inheritance

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Rule Inheritance Copy class inheritance with rule inheritance

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Overview of advanced ATL features Refining Mode For transformations that need to modify only a small part of a model: Since source models are read-only target models must be created from scratch This can be done by writing copy rules for each elements that are not transformed  This is not very elegant In refining mode, the ATL engine automatically copies unmatched elements The developer only specifies what changes ATL semantics is respected: source models are still read-only.  An (optimized) engine may modify source models in-place but only commit the changes in the end Syntax: replace from by refining module A2A; create OUT : MMA refining IN : MMA;

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Chaining ATL transformations using ANT scripts ATL-Specific ANT tasks Task “am3.loadModel” Loads a model either using the model handler facility or a specific injector Works for terminal models & metamodels (the metametamodel is automatically loaded and can be referred to using “MOF”) Task “am3.saveModel” Saves a model either using the model handler facility or a specific extractor Works for any models (including the metametamodel) Task “am3.atl” Launches the execution of an ATL transformation Required models needs to be previously loaded Detailed description available from the Eclipse Wiki:

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Chaining ATL transformations using ANT scripts Concrete Use Part of the Performance-Annotated UML2 State Charts scenario An XML injection (XML model loading) Two ATL transformations (XML-to-Excel and Excel-to-Trace) A model serialisation (Trace model saving)

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Chaining ATL transformations using ANT scripts Concrete Use Corresponding ANT script

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Handling UML2 models & profiles with ATL The UML24ATL model handler Extends the standard EMF model handler in order to support Eclipse-MDT UML2 ( ) Provides a set of UML2 specific primitives (cf. the Eclipse- MDT UML2 project documentation) Some useful primitives for profile application “applyProfile”  applies the profile given as parameter on the selected UML2 model “applyStereotype”  applies the stereotype given as parameter on the selected UML2 model element “setValue”  sets the value given as parameter to the given property of the specified stereotype

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Handling UML2 models & profiles with ATL Concrete Use Part of the Performance-Annotated UML2 State Charts scenario Application of a UML2 profile (about Performance) to a UML2 model (state chart) using data coming from an additional model (previously computed metrics)

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Handling UML2 models & profiles with ATL Concrete Use Corresponding ATL transformation (excerpt)

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Handling weaving models with ATL & AMW The ATL4AMW model handler Extends the standard EMF model handler in order to support Eclipse-GMT AMW ( Provides a set of model weaving-specific primitives (details provided here: Generating weaving models (from woven models): “generateModelRef”  produces a reference to a given woven model “getElementID” & “getElementIDbyRefType”  provides a reference to a given woven model element Use existing weaving models: “getReferredElement”  allows retrieving a given model element (from another model) linked to a model element thanks to a weaving link

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Handling weaving models with ATL & AMW Concrete Use Application of the Traceability AMW use case on the “Class To Relational” basic transformation example Objective: generate a traceability model between the source and target models of the transformation by “augmented” it

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Handling weaving models with ATL & AMW Concrete Use Corresponding “augmented” ATL transformation (excerpt)

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA High-Order Transformations (HOT): Handling of transformations by transformations Principles A transformation is a model An ATL transformation is a model which conforms to the ATL metamodel A transformation can be taken as input of another transformation A transformation can be generated as output of another transformation Such a transformation is called a High-Order Transformation or HOT A lot of applications of such a technique for automation of transformations (often used in combination with model weaving techniques): Traceability, Model evolution, Interoperability, etc

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA High-Order Transformations (HOT): Handling of transformations by transformations Concrete Use An extension of the Traceability AMW use case Objective: automated generation using a HOT of an “augmented” transformation (traceability) from the initial one

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA High-Order Transformations (HOT): Handling of transformations by transformations Concrete Use Corresponding HOT which adds traceability support (excerpt)

Advanced Applications Of Model-to-Model Transformation © 2008 INRIA References ATL Home page ATL Documentation page ATL Use Cases page ATL Newsgroup (use [ATL] tag) news://news.eclipse.org/eclipse.modeling.m2m news://news.eclipse.org/eclipse.modeling.m2m news://news.eclipse.org/eclipse.modeling.m2m ATL on Eclipse Wiki