"Families to Persons"

Size: px
Start display at page:

Download ""Families to Persons""

Transcription

1 "" A simple illustration of model-to to-model transformation Freddy Allilaire Frédéric Jouault ATLAS group, INRIA & University of Nantes, France -1-

2 Context of this work The present courseware has been elaborated in the context of the Usine Logicielle project ( of the cluster Paris- Région with the support of the Direction Générale des Entreprises, Conseil Régional d Ile de France, Conseil Général des Yvelines, Conseil Général de l'essonne, and Conseil Général des Hauts de Seine. The MDD courseware provided here with the status of open source software is produced under the EPL 1.0 license. -2-

3 Overview This presentation describes a very simple model transformation example, some kind of ATL "hello world". It is intended to be extended later. The presentation is composed of the following parts: Prerequisites. Introduction. Metamodeling. Transformation. Conclusion. -3-

4 Prerequisites In the presentation we will not discuss the prerequisites. The interested reader may look in another presentation to these prerequisites on: MDE (MOF, XMI, OCL). Eclipse/EMF (ECORE). AMMA/ATL. -4-

5 Introduction The goal is to present a use case of a model to model transformation written in ATL. This use case is named:. Initially we have a text describing a list of families. We want to transform this into another text describing a list of persons. -5-

6 Goal of the ATL transformation we are going to write Transforming this Family March Father: Jim Mother: Cindy Son: Brandon Daughter: Brenda other Families into this. Mr. Jim March Mrs. Cindy March Mr. Brandon March Mrs. Brenda March other Persons Let's suppose these are not texts, but models (we'll discuss the correspondence between models and texts later). -6-

7 Input of the transformation is a model Family March Father: Jim Mother: Cindy Son: Brandon Daughter: Brenda Family Sailor Father: Peter Mother: Jackie Son: David Son: Dylan Daughter: Kelly This is the text. This is the corresponding model. It is expressed in XMI, a standard way to represent models. -7-

8 Output of the transformation should be a model Mr. Dylan Sailor Mr. Peter Sailor Mr. Brandon March Mr. Jim March Mr. David Sailor Mrs. Jackie Sailor Mrs. Brenda March Mrs. Cindy March Mrs. Kelly Sailor <?xml version="1.0" encoding="iso "?> <xmi:xmi xmi:version="2.0" xmlns:xmi=" xmlns="persons"> <Male fullname="dylan Sailor"/> <Male fullname="peter Sailor"/> <Male fullname="brandon March"/> <Male fullname="jim March"/> <Male fullname="david Sailor"/> <Female fullname="jackie Sailor"/> <Female fullname="brenda March"/> <Female fullname="cindy March"/> <Female fullname="kelly Sailor"/> </xmi:xmi> This is the text. This is the corresponding model (The corresponding XMI file is named "sample-persons.ecore"). -8-

9 Each model conforms to a metamodel Source metamodel Target metamodel conformsto conformsto Source model "sample-families.ecore" Target model "sample-persons.ecore" -9-

10 The general picture conformsto Metametamodel (ECORE) conformsto Source metamodel conformsto Target metamodel conformsto conformsto Source model Target model -10-

11 What we need to provide In order to achieve the transformation, we need to provide: 1. A source metamodel in KM3 ("Families"). 2. A source model (in XMI) conforming to "Families". 3. A target metamodel in KM3 ("Persons"). 4. A transformation model in ATL ("Families2Persons"). When the ATL transformation is executed, we obtain: A target model (in XMI) conforming to "Persons". -11-

12 Definition of the source metamodel "Families" What is Families : A collection of families. Each family has a name and is composed of members: A father A mother Several sons Several daughters Each family member has a first name. Family March Father: Jim Mother: Cindy Son: Brandon Daughter: Brenda Family Sailor Father: Peter Mother: Jackie Sons: David, Dylan Daughter: Kelly Family lastname : String familyfather familymother familyson familydaughter father 1 mother 1 sons * daughters * Member firstname : String -12-

13 "Families" metamodel (visual presentation and KM3) Family lastname : String familyfather father 1 familymother mother 1 familyson sons * familydaughter daughters * Member firstname : String -13-

14 "Persons" metamodel (visual presentation and KM3) Person fullname Male Female -14-

15 The big picture Eclipse Modeling Framework (EMF) 1. Our goal in this mini-tutorial is to write the ATL transformation, stored in the "Families2Persons" file. M3 Ecore.ecore 2. Prior to the execution of this transformation the resulting file "sample-persons.ecore" does not exist. It is created by the transformation. M2 Families.km3 ATL.km3 Persons.km3 3. Before defining the transformation itself, we need to define the source and target metamodels ("Families.km3" and "Person.KM3"). M1 sample- Families.ecore Families2Persons.atl sample- Persons.ecore 4. We take for granted that the definition of the ATL language is available (supposedly in the "ATL.km3" file). 5. Similarly we take for granted that the environment provides the recursive definition of the metametamodel (supposedly in the "Ecore.ecore" file). -15-

16 Architecture M3 Eclipse Modeling Framework (EMF) Ecore.ecore 1. Families and Persons metamodels have been created previously. 2. They have been written in the KM3 metamodel specification DSL (Domain Specific Language). M2 Families.km3 ATL.km3 Persons.km3 M1 Families2Persons.atl -16- sample- Families.ecore sample- Persons.ecore

17 Architecture M3 Eclipse Modeling Framework (EMF) Ecore.ecore 1. The following file is the sample that we will use as source model in this use case: M2 Families.km3 ATL.km3 Persons.km3 M1 Families2Persons.atl -17- sample- Families.ecore sample- Persons.ecore

18 Architecture M3 M2 Eclipse Modeling Framework (EMF) Ecore.ecore Families.km3 ATL.km3 Persons.km3 1. Now, let us start the creation of the ATL transformation Families2Persons.atl. 2. We suppose the ATL environment is already installed. 3. The creation of the ATL transformation will follow several steps as described in the next slides. M1 Families2Persons.atl -18- sample- Families.ecore sample- Persons.ecore

19 : project creation First we create an ATL project by using the ATL Project Wizard. -19-

20 : ATL transformation creation Next we create the ATL transformation. To do this, we use the ATL File Wizard. This will generate automatically the header section. IN: Name of the source model in the transformation OUT: Name of the target model in the transformation Families: Name of the source metamodel in the transformation Persons: Name of the target metamodel in the transformation -20-

21 : header section The header section names the transformation module and names the variables corresponding to the source and target models ("IN" and "OUT") together with their metamodels ("Persons" and "Families") acting as types. The header section of "Families2Persons" is: -21-

22 : helper "isfemale()" A helper is an auxiliary function that computes a result needed in a rule. The following helper "isfemale()" computes the gender of the current member: Family lastname : String familyfather familymother familyson familydaughter father 1 mother 1 sons * daughters * Member firstname : String -22-

23 : helper "familyname" The family name is not directly contained in class Member. The following helper returns the family name by navigating the relation between Family and Member : Family lastname : String familyfather familymother familyson familydaughter father 1 mother 1 sons * daughters Member firstname : String * -23-

24 : writing the rules After the helpers we now write the rules: Member to Male rule Member2Male { from s : Families!Member (not s.isfemale()) to t : Persons!Male ( fullname <- s.firstname + ' ' + s.familyname ) } Member to Female rule Member2Female { from s : Families!Member (s.isfemale()) to t : Persons!Female ( fullname <- s.firstname + ' ' + s.familyname ) } -24-

25 Summary of the Transformation Family lastname : String familyfather familymother familyson familydaughter Male + If isfemale() Female Else Male Person fullname : String father 1 mother 1 sons * daughters * Female Member firstname : String 1. For each instance of the class "Member" in the IN model, create an instance in the OUT model. 2. If the original "Member" instance is a "mother" or one of the "daughters" of a given "Family", then we create an instance of the "Female" class in the OUT model. 3. If the original "Member" instance is a "father" or one of the "sons" of a given "Family", then we create an instance of the "Male" class in the OUT model. 4. In both cases, the "fullname" of the created instance is the concatenation of the Member "firstname" and of the Family "lastname", separated by a blank. -25-

26 Architecture Eclipse Modeling Framework (EMF) 1. Once the ATL transformation Families2Persons is created, we can execute it to build the OUT model. M3 M2 Ecore.ecore Families.km3 ATL.km3 Persons.km3 M1 Families2Persons.atl -26- sample- Families.ecore sample- Persons.ecore

27 ATL Launch Configuration

28 ATL Launch Configuration

29 Summary We have presented here a "hello world" level basic ATL transformation. This is not a recommendation on how to program in ATL, just an initial example. Several questions have not been answered Like how to transform a text into an XMI-encoded model. Or how to transform the XMI-encoded result into text. For any further questions, see the documentation mentioned in the resource page (FAQ, Manual, Examples, etc.). -29-

30 ATL Resource page ATL Home page ATL Documentation page ATL Newsgroup news://news.eclipse.org/eclipse.modeling.m2m ATL Wiki

31 Working on the example Person fullname: String grandparent There are a lot of exercise questions that could be based on this simple example. Male Female For example, modify the target metamodel as shown and compute the "grandparent" for any Person. -31-

M. (1) (1) (2) (1) ATLAS

M. (1) (1) (2) (1) ATLAS Practice of Model Transformation and Model Weaving in the Eclipse Modeling Project with ATL and AMW Part 1 ATL: the ATLAS Transformation Language Mikaël Barbero (1) Marcos Didonet Del Fabro (1) Juan M.

More information

Introduction To Model-to-Model Transformation

Introduction To Model-to-Model Transformation - 1 - Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6 project ( http://www.modelplex.org/). Co-funded by the European Commission, the MODELPLEX

More information

INF5120 Modelbased System development

INF5120 Modelbased System development INF5120 Modelbased System development Lecture 13: 23.04.2018 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 2 Course parts - 2018 Part I-a -(Introduction to Modeling):

More information

Transforming models with ATL

Transforming models with ATL The ATLAS Transformation Language Frédéric Jouault ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has

More information

Static Fault Localization in Model Transformations

Static Fault Localization in Model Transformations IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. XX, NO. X, MONTH 20XX 1 Static Fault Localization in Model Transformations Loli Burgueño, Javier Troya, Manuel Wimmer and Antonio Vallecillo Abstract As

More information

Applications Of Model Weaving Techniques

Applications Of Model Weaving Techniques Applications Of Model Weaving Techniques Hugo Bruneliere, Jendrik Johannes INRIA, TUD 1 Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

ATL: Atlas Transformation Language. ATL User Manual

ATL: Atlas Transformation Language. ATL User Manual ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven

More information

Ant tasks for AMMA. Ant is an Apache project. It is open source software, and is released under the Apache Software License.

Ant tasks for AMMA. Ant is an Apache project. It is open source software, and is released under the Apache Software License. Ant tasks for AMMA About Ant Ant is a software tool for automating software build processes. It is similar to make but is written in the Java language, requires the Java platform, and is best suited to

More information

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS Jean Bézivin, Frédéric Jouault, Jean Paliès ATLAS Group (INRIA & LINA, University of Nantes) {bezivin frederic.jouault jean.palies}@gmail.com Abstract Keywords:

More information

Model handling with EMF

Model handling with EMF Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA), University of Nantes France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Kermeta. in compiled mode

Kermeta. in compiled mode Kermeta in compiled mode Cyril Faucher IRISA Lab / INRIA Rennes, France Triskell Group Kermeta Day - April 2nd, 2009 1 Outline Motivation Compilation process: Kmt to Java/EMF plugin Need of a model to

More information

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract Kermeta tutorial How to create a metamodel François Tanguy, Didier Vojtisek Abstract This tutorial is part of a serie of tutorials that explain step by step one of the aspect of Kermeta. This one will

More information

Draft version. Model Integration with Model Weaving: a Case Study in System Architecture

Draft version. Model Integration with Model Weaving: a Case Study in System Architecture Model Integration with Model Weaving: a Case Study in System Architecture Albin Jossic Marcos Didonet Del Fabro 2 Jean-Philippe Lerat Jean Bézivin 2 Frédéric Jouault 2 Sodius SAS 6, rue de Cornouaille,

More information

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

Knowledge Discovery: How to Reverse-Engineer Legacy Systems Knowledge Discovery: How to Reverse-Engineer Legacy Systems Hugo Bruneliere, Frédéric Madiot INRIA & MIA-Software 1 Context of this work Knowledge Discovery: How To Reverse-Engineer Legacy Sytems The present

More information

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations 1. ATL TRANSFORMATION EXAMPLE: REPLACE INHERITANCE BY ASSOCIATION... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...

More information

Transformation of the system sequence diagram to an interface navigation diagram

Transformation of the system sequence diagram to an interface navigation diagram Transformation of the system sequence diagram to an interface navigation diagram William Germain DIMBISOA PhD Student Laboratory of Computer Science and Mathematics Applied to Development (LIMAD), University

More information

Model Engineering Support for Tool Interoperability

Model Engineering Support for Tool Interoperability Model Engineering Support for Tool Interoperability Jean Bézivin, Hugo Brunelière, Frédéric Jouault, Ivan Kurtev To cite this version: Jean Bézivin, Hugo Brunelière, Frédéric Jouault, Ivan Kurtev. Model

More information

A Practical Evaluation of Using TXL for Model Transformation

A Practical Evaluation of Using TXL for Model Transformation A Practical Evaluation of Using TXL for Model Transformation Hongzhi Liang and Juergen Dingel School of Computing, Queen s University, Canada {liang, dingel}@cs.queensu.ca Abstract. As one of the MDA s

More information

Two Basic Correctness Properties for ATL Transformations: Executability and Coverage

Two Basic Correctness Properties for ATL Transformations: Executability and Coverage Two Basic Correctness Properties for ATL Transformations: Executability and Coverage Elena Planas 1, Jordi Cabot 2, and Cristina Gómez 3 1 Universitat Oberta de Catalunya (Spain), eplanash@uoc.edu 2 École

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

ATL: Atlas Transformation Language. ATL Transformation Description Template - version 0.1 -

ATL: Atlas Transformation Language. ATL Transformation Description Template - version 0.1 - ATL: Atlas Transformation Language ATL Transformation Description Template - version 0.1 - December 2005 by ATLAS group LINA & INRIA Nantes Content 1 Transformation Specification Sheet... 3 2 Transformation

More information

Detailed Description and User Guide

Detailed Description and User Guide Overview The aim of this Use Case is to implement a set of mappings already defined between a pair of metamodels using the ATL language. More specifically, we want to implement the transformation for obtaining

More information

ATL Demystified and an Introduction to the RPG2Petrinet Experiment

ATL Demystified and an Introduction to the RPG2Petrinet Experiment ATL Demystified and an Introduction to the RPG2Petrinet Experiment Daan Janssens daan.janssens@student.uantwerpen.be University of Antwerp Abstract ATL is a fairly well known M2M model transformation language.

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

Introduction to XML Metadata Interchange (XMI)

Introduction to XML Metadata Interchange (XMI) Introduction to XML Metadata Interchange (XMI) Department for Cooperative and Trusted Systems Information and Communication Technology, SINTEF, Forskningsveien 1, N-0314 Oslo, Norway http://www.sintef.no!1

More information

A Practical Approach to Bridging Domain Specific Languages with UML profiles

A Practical Approach to Bridging Domain Specific Languages with UML profiles A Practical Approach to Bridging Domain Specific Languages with profiles Anas Abouzahra, Jean Bézivin, Marcos Didonet Del Fabro, Frédéric Jouault ATLAS Group (INRIA & LINA, University of Nantes) {Abouzahra.Anas

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

CS793 Project: Code Clones Visual Representation

CS793 Project: Code Clones Visual Representation CS793 Project: Code Clones Visual Representation Yu Sun, Frédéric Jouault {yu.sun.cs, f.jouault}@gmail.com 12/5/2007 Goal Realize an uniform visual representation for analysis results of different code

More information

An ATL Example. The BibTeXML to DocBook Transformation

An ATL Example. The BibTeXML to DocBook Transformation The BibTeXML to DocBook Transformation ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has been elaborated

More information

(Meta)Models between MetaEdit+

(Meta)Models between MetaEdit+ The Interchange of (Meta)Models between MetaEdit+ and Eclipse EMF Heiko Kern kern@informatik.uni-leipzig.de ni ig Nashville, Tennessee, 10/19/2008 1 Agenda 1. Introduction 2. MetaEdit-EMF-Bridge EMF 3.

More information

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations 1. ATL TRANSFORMATION EXAMPLE: REPLACE ASSOCIATION BY FOREIGN KEY... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...

More information

ATL TRANSFORMATION EXAMPLE

ATL TRANSFORMATION EXAMPLE 1. ATL Transformation Example 1.1. Example: KM3 Problem The example describes a transformation a KM3 metamodel [1] in a Problem model. The generated Problem model contains the list of non-structural errors

More information

From Role-Playing Game to Petrinet, the ATL way. By Daan Janssens Course: Model-driven Engineering Supervisor: Prof.

From Role-Playing Game to Petrinet, the ATL way. By Daan Janssens Course: Model-driven Engineering Supervisor: Prof. From Role-Playing Game to Petrinet, the ATL way. By Daan Janssens Course: Model-driven Engineering 2013-2014 Supervisor: Prof. Vangheluwe What was ATL again? Read-only Write-only Transformation pattern

More information

Metamodeling and Metaprogramming Seminar

Metamodeling and Metaprogramming Seminar Metamodeling and Metaprogramming Seminar 1. Introduction Prof. O. Nierstrasz Spring Semester 2008 Metamodeling and Metaprogramming Seminar Lecturer: Assistant: WWW: Oscar Nierstrasz www.iam.unibe.ch/~oscar

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

Acceleo Galileo Simultaneous Release

Acceleo Galileo Simultaneous Release Acceleo 0.8.0 Galileo Simultaneous Release Jonathan Musset Release Review : June 10, 2009 C om m unic a tion C ha nnel :e c lip s e.m o d e lin g.m 2 t n e w s g ro u p P roc es s D oc um enta tion : h

More information

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations 1. ATL TRANSFORMATION EXAMPLE: DISAGGREGATION... 1 2. ATL TRANSFORMATION OVERVIEW... 1 2.1. DESCRIPTION... 1 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 4 3. REFERENCES... 7 1. ATL

More information

An Introduction to MDE

An Introduction to MDE An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling

More information

GUI Code Generation for Android Applications Using a MDA Approach

GUI Code Generation for Android Applications Using a MDA Approach GUI Code Generation for Android Applications Using a MDA Approach Ayoub SABRAOUI, Mohammed EL KOUTBI Mobile Intelligent Systems team (MIS) Ecole Nationale Supérieure d'informatique et d'analyse des Systèmes

More information

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software

More information

ATL Transformation Examples. The KM3 to Metric ATL transformation

ATL Transformation Examples. The KM3 to Metric ATL transformation s The KM3 to Metric ATL transformation - version 0.1 - September 2005 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 The KM3 to Metrics ATL transformation... 1 2.1 Transformation overview...

More information

Weaving Models with the Eclipse AMW plugin

Weaving Models with the Eclipse AMW plugin Weaving Models with the Eclipse AMW plugin Marcos Didonet Del Fabro, Jean Bézivin, Patrick Valduriez ATLAS Group, INRIA & LINA University of Nantes, Nantes, France {marcos.didonet-del-fabro, jean.bezivin}@univ-nantes.fr,

More information

SCA Tools: new & noteworthy

SCA Tools: new & noteworthy SCA Tools: new & noteworthy Vincent Zurczak ( EBM WebSourcing ) A large part of the SCA Tools project was implemented in the scope of the SCOrWare project funded by the French Research National Agency

More information

ATL: ATLAS Transformation Language. MISO - Uniandes

ATL: ATLAS Transformation Language. MISO - Uniandes ATL: ATLAS Transformation Language MISO - Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 What is ATL? ATL is a model transformation language (MTL) developed

More information

Refactoring Support for ATL-based Model Transformations

Refactoring Support for ATL-based Model Transformations Refactoring Support for ATL-based Model Transformations DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Software Engineering and Internet Computing eingereicht

More information

Eclipse Development Tools for Epsilon

Eclipse Development Tools for Epsilon Eclipse Development Tools for Epsilon Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK. {dkolovos,paige,fiona@cs.york.ac.uk

More information

LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra

LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra Loli Burgueño Universidad de Málaga Malaga, Spain loli@lcc.uma.es Eugene Syriani University of Alabama Tuscaloosa AL,

More information

ATL: ATLAS Transformation Language

ATL: ATLAS Transformation Language ATL: ATLAS Transformation Language Rubby Casallas Grupo de Construcción de Software Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 1 What is ATL? ATL

More information

TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering

TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering Frédéric Jouault Jean Bézivin Ivan Kurtev ATLAS team, INRIA and LINA {frederic.jouault,jean.bezivin,ivan.kurtev}@univ-nantes.fr

More information

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1 INTRODUCTION TO EMF Creating Model using EMF This is the basic method of creating the Model instance using EMF (Eclipse Modelling Framework). In this tutorial we are going to explain the following, 1.

More information

MODEL-DRIVEN ENGINEERING FOR IMPLEMENTING THE ISO SERIES OF INTERNATIONAL STANDARDS

MODEL-DRIVEN ENGINEERING FOR IMPLEMENTING THE ISO SERIES OF INTERNATIONAL STANDARDS MODEL-DRIVEN ENGINEERING FOR IMPLEMENTING THE ISO 19100 SERIES OF INTERNATIONAL STANDARDS CYRIL FAUCHER 1 & JEAN-YVES LAFAYE 2 1 IRISA/INRIA, Campus de Beaulieu, 35042, Rennes cedex, France 2 Laboratoire

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

The Eclipse Modeling Framework and MDA Status and Opportunities The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer and Birgit Demuth Model-Level Integration of the Using a Pivot Model with Generics

More information

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS A Metamodel independent approach for Conflict Detection to support distributed development in MDE By Mostafa Pordel mpl08001@student.mdh.se A THESIS Submitted in partial fulfillment of requirements for

More information

Solving the Families to Persons Case using EVL+Strace

Solving the Families to Persons Case using EVL+Strace Solving the Families to Persons Case using EVL+Strace Leila Samimi-Dehkordi samimi@eng.ui.ac.ir Bahman Zamani zamani@eng.ui.ac.ir Shekoufeh Kolahdouz-Rahimi sh.rahimi@eng.ui.ac.ir MDSE research group Department

More information

EMF Compare Ganymede Simultaneous Release

EMF Compare Ganymede Simultaneous Release EMF Compare 0.8.0 Ganymede Simultaneous Release June 16 th, 2008 Ganymede Release Talking Point Noteworthy New Features 2 way / 3 way comparison detecting conflics differencing, merging and extensibility

More information

Introduction to Model Driven Engineering using Eclipse. Frameworks

Introduction to Model Driven Engineering using Eclipse. Frameworks Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model

More information

EMF Europa Simultaneous Release

EMF Europa Simultaneous Release EMF 2.3.0 Europa Simultaneous Release 6 June, 2007 Release Review revision 2.3.1 17 January, 2007 1 Europa Simultaneous Release 2007 by IBM Corporation, made available under the EPL v1.0 EMF - Europa Release

More information

EMF Ganymede Simultaneous Release

EMF Ganymede Simultaneous Release EMF 2.4.0 Ganymede Simultaneous Release June 4 th, 2008 Ganymede Release Talking Points Noteworthy New Features Support for Content Types Applications using EMF can now register its resources using content

More information

Author manuscript, published in "6th European Conference on Modeling Foundations and Applications (ECMFA 2010), Paris : France (2010)"

Author manuscript, published in 6th European Conference on Modeling Foundations and Applications (ECMFA 2010), Paris : France (2010) Author manuscript, published in "6th European Conference on Modeling Foundations and Applications (ECMFA 2010), Paris : France (2010)" Towards Model Driven Tool Interoperability: Bridging Eclipse and Microsoft

More information

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development TOPCASED Toolkit In OPen source for Critical Applications & SystEms Development General presentation of the project A meta-modeling toolset The toolset architecture Services & Formats Demo / screenshots

More information

Unified Modeling Language (MDT UML2) 3.0 Galileo Simultaneous Release Review. 4 June, 2009

Unified Modeling Language (MDT UML2) 3.0 Galileo Simultaneous Release Review. 4 June, 2009 Unified Modeling Language (MDT UML2) 3.0 Galileo Simultaneous Release Review 4 June, 2009 http://www.eclipse.org/projects/dev_process/development_pr ocess.php#6_3_3_release_review 1 Galileo Simultaneous

More information

GMF 2.0 Europa Simultaneous Release

GMF 2.0 Europa Simultaneous Release GMF 2.0 Europa Simultaneous Release June 06, 2007 Release Review revision 2.3.1 January 17, 2007 1 Europa Simultaneous Release 2007 by Borland Software Corporation, made available under the EPL v1.0 GMF

More information

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik Modellierung operationaler Aspekte von Systemarchitekturen Master Thesis presentation October 2005 March 2006 Agenda Goals Model-Driven Software Development Pro-active Infrastructure (PAI) Operational

More information

Experimental transformations between Business Process and SOA models

Experimental transformations between Business Process and SOA models International Journal of Informatics Society, VOL.4, NO.2 (2012) 93-102 93 Experimental transformations between Business Process and SOA models Akira Tanaka, and Osamu Takahashi view5 LLC, Japan School

More information

An AmmA/ATL Solution for the GraBaTs 2009 Reverse Engineering Case Study

An AmmA/ATL Solution for the GraBaTs 2009 Reverse Engineering Case Study n mm/tl Solution for the GraaTs 2009 Reverse Engineering Case Study Frédéric Jouault and Jean-Sébastien Sottet INRI Centre Rennes retagne tlantique, Ecole des Mines de Nantes 4, rue lfred Kastler, 44307,

More information

KerMeta Transformation Rules

KerMeta Transformation Rules INRIA Build date: @BUILD.DATE@ David Touzet KerMeta Transformation Rules Reference manual David Touzet Build date: @BUILD.DATE@ Date: June 2007 Metadata to be filled by the author The metadata gather information

More information

MDE 2.0 Pragmatic formal model verification

MDE 2.0 Pragmatic formal model verification MDE 2.0 Pragmatic formal model verification and other stories Jordi Cabot HdR 1 Index Introducing MDE Research in MDE A Research Agenda for MDE 2.0 Models & Quality Legacy systems Social aspects Very Large

More information

ECLIPSE MODELING PROJECT

ECLIPSE MODELING PROJECT ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid

More information

From Role-Playing Game to Petrinet, the ATL way.

From Role-Playing Game to Petrinet, the ATL way. From Role-Playing Game to Petrinet, the ATL way. Daan Janssens daan.janssens@student.uantwerpen.be University of Antwerp Abstract Model driven engineering helps increasing productivity by maximizing compatibility,

More information

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions. The TopModL Initiative Pierre-Alain Muller pa.muller@uha.fr INRIA/Irisa Université de Rennes France Cédric Dumoulin cedric.dumoulin@lifl.fr LIFL Université de Lille France Frédéric Fondement frederic.fondement@epfl.ch

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) III. Meta-modelling 2 1. Background / Motivation Mid / end 90ties: CASE (Computer Aided Software Engineering) modelling tools become more popular code generation

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Investigating Model Transformation Technology For Architecture Description Languages

Investigating Model Transformation Technology For Architecture Description Languages Investigating Model Transformation Technology For Architecture Description Languages Nigsti Berhanu Ayele Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

ETL: Epsilon Transformation Language. MISO - Uniandes

ETL: Epsilon Transformation Language. MISO - Uniandes ETL: Epsilon Transformation Language MISO - Uniandes 1 References http://www.eclipse.org/epsilon/doc/book/ http://www.eclipse.org/epsilon/examples/ Examples available at the wiki 2 Models are first class

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Yage Solution to the Family to Persons Case of the TTC 17

Yage Solution to the Family to Persons Case of the TTC 17 Yage Solution to the Family to Persons Case of the TTC 17 Christoph Eickhoff christoph@uni-kassel.de Simon-Lennert Raesch lennert@uni-kassel.de Philipp Kolodziej philipp@uni-kassel.de Abstract This paper

More information

On the Formalisation of GeKo: a Generic Aspect Models Weaver

On the Formalisation of GeKo: a Generic Aspect Models Weaver On the Formalisation of GeKo: a Generic Aspect Models Weaver Max E. Kramer 1,2, Jacques Klein 2, Jim R. H. Steel 3, Brice Morin 5, Jörg Kienzle 6, Olivier Barais 4, and Jean-Marc Jézéquel 4 1 SnT, University

More information

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks EMF Core 2.5 Release Review Galileo Simultaneous Release Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks Eclipse Modeling Framework Framework and

More information

SCA Tools project Creation Review. July

SCA Tools project Creation Review. July SCA Tools project Creation Review July 23 2008 2008 by Obeo made available under the EPL v1.0 July 2008 Contents In a nutshell Goals and scope Architecture Code contribution Committers Contributors Interested

More information

Extending the Knowledge Discovery Metamodel to Support Aspect-Oriented Programming

Extending the Knowledge Discovery Metamodel to Support Aspect-Oriented Programming Extending the Knowledge Discovery Metamodel to Support Aspect-Oriented Programming Parisa Mirshams Shahshahani AThesis in The Department of Computer Science and Software Engineering Presented in Partial

More information

AMW: a tool for multi-level specification of model transformations

AMW: a tool for multi-level specification of model transformations AMW: a tool for multi-level specification of model transformations Marcos Didonet Del Fabro a,, Frédéric Jouault b, Jordi Cabot b, Patrick Valduriez c a Univ. Federal do Paraná, Depto. de Informática,

More information

KM3: a DSL for Metamodel Specification

KM3: a DSL for Metamodel Specification KM3: a DSL for Metamodel Specification Frédéric Jouault and Jean Bézivin ATLAS team, INRIA and LINA (frederic.jouault,jean.bezivin)@univ-nantes.fr Abstract. We consider in this paper that a DSL (Domain

More information

Solving the Families to Persons Case using EVL+Strace

Solving the Families to Persons Case using EVL+Strace Solving the Families to Persons Case using EVL+Strace Leila Samimi-Dehkordi samimi@eng.ui.ac.ir Bahman Zamani zamani@eng.ui.ac.ir Shekoufeh Kolahdouz-Rahimi sh.rahimi@eng.ui.ac.ir MDSE research group Department

More information

QVT: Query, Views, Transformations

QVT: Query, Views, Transformations QVT: Query, Views, Transformations Rubby Casallas Grupo de Construcción de Software Uniandes Basics Transformations are essential for the MDE A model transformation: takes as input a model conforming to

More information

Applying Megamodelling to Model-Driven Performance Engineering

Applying Megamodelling to Model-Driven Performance Engineering Applying Megamodelling to -Driven Performance Engineering Mathias Fritzsche, Hugo Brunelière, Bert Vanhooff, Yolande Berbers, Frédéric Jouault, Wasif Gilani To cite this version: Mathias Fritzsche, Hugo

More information

INF5120 Model-Based System Development

INF5120 Model-Based System Development INF5120 Model-Based System Development Lecture #3: Metamodelling and UML profiles, MDA technologies 04 February 2008 Brian Elvesæter, SINTEF 1 Outline Model-driven interoperability (MDI) framework MDA

More information

TOPCASED. Current status

TOPCASED. Current status TOPCASED Current status Current tasks & facts Definition of quality assurance & Control by the Quality Group Build the maintenance infrastructure for the already developped software : To fund architecture

More information

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract Kermeta tutorial How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette Abstract This tutorial show how to create an EMF model for the FSM example. Published Build

More information

Introduction to StatKey Getting Data Into StatKey

Introduction to StatKey Getting Data Into StatKey Introduction to StatKey 2016-17 03. Getting Data Into StatKey Introduction This handout assumes that you do not want to type in the data by hand. This handout shows you how to use Excel and cut and paste

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling

More information

Purpose and definition... 2 Element type... 2 Impact of element types in an XML file... 2 Examples... 3

Purpose and definition... 2 Element type... 2 Impact of element types in an XML file... 2 Examples... 3 Purpose and definition............................................................... 2 Element type....................................................................... 2 Impact of element types in

More information

Object Constraint Language (MDT OCL) 1.3 Galileo Simultaneous Release Review

Object Constraint Language (MDT OCL) 1.3 Galileo Simultaneous Release Review Object Constraint Language (MDT OCL) 1.3 Galileo Simultaneous Release Review June 10, 2009 Agenda Talking Points Features Non-Code Aspects APIs Architectural Issues End-of-life Bugzilla Standards UI Usability

More information

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...

More information

Assignment 2: Relational Model

Assignment 2: Relational Model Data Modelling and Databases Exercise dates: March 8/March 9, 208 Ce Zhang, Gustavo Alonso Last update: March 6, 208 Spring Semester 208 Head TA: Ingo Müller Assignment 2: Relational Model This assignment

More information

OCL omissions and contradictions

OCL omissions and contradictions OCL omissions and contradictions Edward Willink OCL RTF chair, QVT RTF representative Eclipse OCL Project Lead, Eclipse QVTd Project Lead, OMG ADTF 21st March 2012 Made available under EPL 1.0 Overview

More information

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations 1. ATL TRANSFORMATION EXAMPLE: REMOVAL OF ASSOCIATION CLASSES... 1 2. ATL TRANSFORMATION OVERVIEW... 1 2.1. DESCRIPTION... 1 2.2. PURPOSE... 1 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 4 3. REFERENCES...

More information