Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF - 1 - Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
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.
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
Telecom and Informatics :: INF5120 :: Mansur Abbasi & Svein Melby Assignment 1 – First aid - Clarifications, issues and insight.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
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,
XML Metadata Interchange (XMI)
Knowledge Discovery: How To Reverse-Engineer Legacy Sytems © 2008 INRIA Knowledge Discovery: How to Reverse-Engineer Legacy Systems Hugo Bruneliere,
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
Composing Models: Principles & Techniques © Copyright TUBS & TUD Composing Models: Principles & Techniques Steven Völkel & Jendrik Johannes.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
SYSE 802 John D. McGregor Module 0 Session 1 Course Introduction.
A Model-Driven Semantic Web David Frankel (David Frankel Consulting) Pat Hayes ( Institute for Human & Machine Cognition, University of West Florida) Elisa.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
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
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
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.
Applications Of Model Weaving Techniques © 2008 INRIA & TUD Applications Of Model Weaving Techniques Hugo Bruneliere, Jendrik Johannes INRIA, TUD.
WP 3.3 © Copyright Xactium, TUBS & TUD How to build a set of DSLs: from Theory to Practise Xactium, TUBS, Jendrik Johannes (TUD)
Generative Programming. Automated Assembly Lines.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
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.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
1 Model-based Aspect Weaver Construction Suman Roychoudhury Frédéric Jouault Jeff Gray {roychous, jouault, cis.uab.edu This project is supported.
TMF - Terminological Markup Framework Laurent Romary Laboratoire LORIA (CNRS, INRIA, Universités de Nancy) ISO meeting London, 14 August 2000.
Domain Specific Models John D. McGregor M13S1. Tool development Eclipse is an environment intended as a basis for building software engineering tools.
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.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
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.
Seminar Model Driven Software Engineering What is it? Topics Requirements Schedule Contact.
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Implementing Language Extensions with Model Transformations
Design of Transmission Pipeline Modelling Language
Gøran K. Olsen SINTEF ICT Norway Thursday
TDL: The ETSI Test Description Language
TDL: The ETSI Test Description Language
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Execute your Processes
TDL: The ETSI Test Description Language
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere, Richard Paige & Goran Olsen INRIA, York & SINTEF

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF 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.

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Outline Presentation of model transformation Overview Other kinds of transformation (not model-based) What is M2T? Principles Existing solutions (MOFScript & Epsilon EGL) What is M2M? Principles Existing solutions (ATL & Epsilon ETL) Differences between M2T & M2M Combining both approaches in an MDE process Application on a concrete use case: UML2 to Java Advantages of such a solution

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Presentation of model transformation Overview Model-Driven Engineering (MDE) technique Consume/produce models as inputs/outputs Each model conforms to a given metamodel Two kinds of model transformation: Model-to-Text transformation (M2T) Model-to-Model transformation (M2M) Two different possible implementations: Use a model transformation Domain-Specific Language (DSL) ATL, MOFScript, Epsilon, etc. Use a General Purpose Language (GPL) Java, C#, etc.

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Presentation of model transformation Other kinds of transformations (not model-based) XSLT transformation XML document-to-XML document transformation Each XML document conforms to a given XML schema  Directly translatable to the MDE paradigm Compilation transformation Text-to-Binary transformation Each source program conforms to a given grammar Each target compiled program conforms to a given binary format  Also adaptable to the MDE paradigm Model transformation is a generic abstraction of all these techniques

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2T? Principles To be completed (York & SINTEF)

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2T? Existing solutions: MOFScript To be completed (SINTEF)

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2T? Existing solutions: Epsilon EGL To be completed (York)

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Principles A M2M transformation is the automated creation of m target models from n source models Each model conforms to a given reference model (i.e., a metamodel or metametamodel), which can be the same for several models M2M transformation is not only about M1 to M1 transformations: M1 to M2: promotion E.g., UML to MOF M2 to M1: demotion E.g., MOF to Metrics M2 to M2 E.g., metamodel refactoring etc. Metametamodel Metamodel Terminal Model M3 M2 M1

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Principles

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Existing solutions: Eclipse-M2M ATL Website 

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Existing solutions: Eclipse-M2M ATL Available resources (1/2) Use cases  24 complete transformation scenarios covering many different domains of application Basic examples  very first transformation examples which are interesting when starting with ATL (for beginners) ATL Transformations  ATL Transformation Zoo which gathers more than a hundred of various and varied transformations implemented using ATL Download  different binary builds of ATL available and also additional information for using the ATL update site

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Existing solutions: Eclipse-M2M ATL Available resources (2/2) Documentation  various kinds of ATL documents including a reference manual, a user manual, installation instructions, etc Publications  non-exhaustive list of papers presenting different works involving or using (directly or indirectly) ATL Wiki  an open section dedicated to ATL on the Eclipse Wiki which allows the community to consult or/and add information about ATL Newsgroup  a link to the Eclipse newsgroup dedicated to the M2M project components (posts concerning ATL are prefixed with the [ATL] tag)

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Existing solutions: Eclipse-M2M ATL How to get the plugins: Download the latest binary builds (frequently updated): Use the M2M update site (M2M ATL SDK): Install ATL sources from CVS (stable HEAD): Install ATL sources from CVS (development branch):

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF What is M2M? Existing solutions: Epsilon ETL To be completed (York)

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Differences between M2T & M2M M2T transformation bridges the MDE technical space with the Grammarware technical space Consumes/produces models to/from text files Requires both reference models (i.e., metamodels or metametamodels) and text formats (e.g., grammars) Handles both model elements and text  Heterogeneity M2M transformation concerns only the MDE technical space Consumes/produces only models Requires only reference models (i.e., metamodels or metametamodels) Handles only model elements  Homogeneity

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Combining both approaches in an MDE process Application on a concrete use case: UML2 to Java An M2T solution A single transformation performing at the same time: Refactoring (e.g. delete of multiple inheritance) Mapping (UML2 concepts to Java concepts) Extraction to a concrete syntax (conforming to the Java grammar)

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Combining both approaches in an MDE process Application on a concrete use case: UML2 to Java Same case using an M2M+M2T solution

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Combining both approaches in an MDE process Application on a concrete use case: UML2 to Java Same case using an M2M+M2T solution + new refactoring

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Combining both approaches in an MDE process Application on a concrete use case: UML2 to Java Same case using an M2M+M2T solution + new mapping

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Combining both approaches in an MDE process Application on a concrete use case: UML2 to Java Same case using an M2M+M2T solution + new extraction

Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Combining both approaches in an MDE process Advantages of such a generic M2M+M2T solution Modularity Clearly separate the concerns (refactoring, mapping, extraction to a given syntax, etc) Extensibility Easily add new features (additional refactoring, different mapping, other extraction to a textual or graphical syntax, etc) Reusability Apply the same feature in different contexts (i.e., the same refactoring for targeting different languages) Homogeneity Handle mostly models (extraction is just the final step) Abstraction Focus is set only on the concepts (abstract syntax) and not on their various possible representations (concrete syntaxes)