ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.

Slides:



Advertisements
Similar presentations
Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Advertisements

Bringing Procedural Knowledge to XLIFF Prof. Dr. Klemens Waldhör TAUS Labs & FOM University of Applied Science FEISGILTT 16 October 2012 Seattle, USA.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
1 UIM with DAML-S Service Description Team Members: Jean-Yves Ouellet Kevin Lam Yun Xu.
Chapter 2: Using Objects Part 1. To learn about variables To understand the concepts of classes and objects To be able to call methods To learn about.
Modeling with the ECCF SS ● UML Profile for ECCF ● UML Redefinition Semantics ● Compliance ● Consistency ● Conformance ● Validation ● Transformation ●
Object-Oriented PHP (1)
31 Signs That Technology Has Taken Over Your Life: #6. When you go into a computer store, you eavesdrop on a salesperson talking with customers -- and.
Tutorial 6 & 7 Symbol Table
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
UNIT-V The MVC architecture and Struts Framework.
Environment Change Information Request Change Definition has subtype of Business Case based upon ConceptPopulation Gives context for Statistical Program.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
Model Transformations
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
UML2 Package Merge Usage scenarios and their effect on XMI and Java API interoperability Bran Selic, Jim Amsden, Kenn Hussey Oct, 2003.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
1 UML and Petri Nets for Test Case Generation From Fondue to CO-OPN: (my) first iteration.
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
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering
School of Computer Science PDE 2005expressik1 expressik: an open source EXPRESS parser and application development kit Andy Carpenter
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
SaveUML System design. System overview Possible...
A language to describe software texture in abstract design models and implementation.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
1 Introduction  Extensible Markup Language (XML) –Uses tags to describe the structure of a document –Simplifies the process of sharing information –Extensible.
Environment Change Information Request Change Definition has subtype of Business Case based upon ConceptPopulation Gives context for Statistical Program.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
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.
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002.
Introduction To Model-to-Model Transformation © 2008 INRIA Introduction To Model-to-Model Transformation Hugo Bruneliere & Frédéric Jouault INRIA.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,
Of 24 lecture 11: ontology – mediation, merging & aligning.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
Model-Driven Health Tools (MDHT) CDA Tools Overview John T.E. Timm (IBM Research) and David A. Carlson (Veterans.
OGP Seabed Survey Data Model (SSDM)
Product Training Program
Operational QVT Incremental Update
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Towards Automatic Model Synchronization from Model Transformation
Class Diagrams.
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Graphical Modeling of INFOD applications
Presentation transcript:

ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin

Requirements Model input: XMI files, ruled by a MOF metamodel XML files, ruled by an XML schema Easy maintenance of transformation rules To follow metamodel changes Code generation from model Simple to use Yet available

Proposed Solution

A transformation engine takes model(s) and set of rules as input, and produce model(s) rules model rules transformation engine MM based on instance of

Vocabulary Model: Graph of related Concepts Concepts defined in metamodel Metamodel (MM): Graph of classes defining concepts Transformation Specify how concepts from input MM are mapped to concepts of output MM

Basic Principle “Divide and Conquer” Express transformation rule by rule Rule Specify how one or few input concepts are transformed to one or few output concepts. input MMoutput MM T r1 r2 r3 r5 r4

Rule A rule is made of: domains describe input and output concepts can contain complex conditions implicitly define enterGuard, exitGuard, concept creations implicitly define rule parameters enterGuard to guard the rule execution actions to populate concept, perform code generation, do additional computation, … exitGuard to check the result bind variables to bind concept and properties to guards and actions

Rule Example 1 (UML)

Rule Example 1(XML)

Rule Example 2 (UML) Nested Concept

Rule Example 2 (XML)

Transformation A transformation is made of: involved models declaration rules topRule  called by the engine  execute all possible solutions on input domains rule  called by other rules selectRule  set of rules called by other rules  the first matching rule is executed

Transformation (UML and XML)

How Transformation is Processed Called with input and output models Specify which models are used as target target models are usually empty models are bind to transformation model names TopRules are executed input domains are those referring to input models output domains are those referring to output models

How Rules are Processed Input bind variables are set Input enter guards are checked stop if not verified Output actions are executed Output objects are created and populated starting from the more nested one (leafs) For a concept, property values are computed first, then the object is created and populated. Output post actions are executed Output exit guards are checked

Multiple Call of a Rule Call of a rule with the same set of parameters Return the same result Only the first call is executed Subsequent calls return the first result  multiple properties referencing the same concept are transformed to references to the same transformed concept

Advanced Features

Extra Properties Definition (ex: stereotypes) Extra Properties can be defined on model concepts Usage like regular properties Only visible in the transformation Example definition of the property “stereotypes” used to check stereotype defined by the model helper

Extra Properties Usage

Code Generation Associate code templates to rules Templates contain Replacement places for attributes Nested rule calls Use Velocity templates $c1.packageName #foreach( $import in $c1.import ) import $import; #end public class ${c1.name} { // attributes $engine.callRule("attribute“, “src.feature“) // methods $engine. callRule( “method”, “src.method”) }

Code Generation: Example

Documentations

Ongoing effort Schema modtransf-v3 XML syntax

XML Rule Syntax: Schema (transformation)

XML Rule Syntax: Schema (domains)

Access To Models Throw a common API Should be implemented for each Technology: JMI, XML, EMF, Database, …

Engine takes graphs of objects as models Model loading is not part of the engine Can use JMI, JAXB, Castor, DOM, … From MOF metamodel: Use JMI From XML schema Use JAXB, Castor Models Kind XMI model MOF metamodel JMI classes JMI import/ export generate XML model schema Java classes JAXB import/ export generate

Future features Aspect like property declaration enable declaration of extra properties and methods on model concepts Structure and classes declaration To create data needed during transformation dependsOn Allows specification of rule dependencies Inheritance Key declarations To lookup created concepts by specified properties …

Questions and Discussion