Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,

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,
Modeling Services Model Interoperability Xavier Blanc – University Paris VI.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Query/Views/Transformations © 2006 ATLAS Nantes Query/Views/Transformations An introduction to the MOF 2.0 QVT standard with focus on the Operational.
Modeling with the ECCF SS ● UML Profile for ECCF ● UML Redefinition Semantics ● Compliance ● Consistency ● Conformance ● Validation ● Transformation ●
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
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.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Sheet 1© 2005 Lentedagen, 30 March-1 April 2005 IPA Lentedagen on Software Architecture Model Transformations in MDA Ivan Kurtev.
WebDynpro for ABAP Short introduction.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Model Transformations
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
A Model-Driven Semantic Web David Frankel (David Frankel Consulting) Pat Hayes ( Institute for Human & Machine Cognition, University of West Florida) Elisa.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
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
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Semantic Matching Fausto Giunchiglia work in collaboration with Pavel Shvaiko The Italian-Israeli Forum on Computer Science, Haifa, June 17-18, 2003.
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,
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.
Diagram Definition A Case Study with the UML Class Diagram MoDELS 2011, Wellington, NZ By Maged Elaasar 1,2 (Presenter) and Yvan Labiche.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
Naam An Ontology-Based Metalanguage with Explicit Instantiation Alfons Laarman Committee: Dr. Ivan Kurtev Dr. Ir. Klaas van den Berg Arda Goknil, Msc.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
REWERSE WG I3: Composition Framework & Tool demo 5 December 2006.
RQL: RDF Query language Jianguo Lu University of Windsor The following slides are from Grigoris Antoniou, Frank van Harmelen, “A Semantic Web Primer”
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
ESDI Workshop on Conceptual Schema Languages and Tools
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
WIGOS Data model – standards introduction.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
® 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.
All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
Sheet 1XML Technology in E-Commerce 2001Lecture 0 XML Technology in E-Commerce Klaas van den Berg & Ivan Kurtev 2000/2001 – trimester 3.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Sheet 1 MDAFA 2003 A Synthesis-based Approach to Transformations in an MDA Software Development Process Ivan Kurtev, Klaas van den Berg University of Twente.
Sheet 1 Forum on Specification and Design Languages (FDL), Frankfurt, September 2003 UML to XML-Schema Transformation: a Case Study in Managing Alternative.
Object Management Group Information Management Metamodel
SysML 2.0 Formalism Requirements and Potential Language Architectures
SysML v2 Formalism: Requirements & Benefits
Syntactic Requirements
Model-Driven Ontology Engineering
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Implementing Language Extensions with Model Transformations
Modelling Clinical Information Using UML
Towards Automatic Model Synchronization from Model Transformation
Object-Oriented Knowledge Representation
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands

Sheet 2MDAFA2004 Linköping, June 2004 Outline  Transformation scenarios;  Limitations in current transformation languages;  Uniform representation of model elements in MOF;  Operations in model transformations;  Instantiation and Generalization mechanisms;  Conclusions;

Sheet 3MDAFA2004 Linköping, June 2004 Transformation Scenarios QVT Scenario  Transformation specified between meta models;  The context of Query/Views/Transformation RFP by OMG; Data Transformation Scenario  Transformation is executed over concrete data instances at level M0;  E.g. Common Warehousing Metamodel (CWM);

Sheet 4MDAFA2004 Linköping, June 2004 Transformation Scenarios Data Binding in context of MOF  Transformation specified at level M2 is executed twice in lower levels M1 and M0; Inter-level Transformations  XML Metadata Interchange (XMI);  Java Metadata Interchange (JMI);

Sheet 5MDAFA2004 Linköping, June 2004 Transformation Techniques  QVT Scenario:  5 submissions to OMG, standardization is expected;  Data transformation Scenario:  CWM OMG document;  Supports object-oriented, relational, XML, record-based data sources;  Data Binding:  proprietary tools, outside the context of MOF architecture;  XMI, JMI:  transformations specified with grammars and templates; There is no single language that addresses all the scenarios. QVT and CWM languages have similarities but cannot be applied in a different context.

Sheet 6MDAFA2004 Linköping, June 2004 Transformation Techniques QVT Languages:  Execute transformations among models at level M1;  Rely on the MOF instantiation mechanism:  Non-abstract Classifiers at level M2 can be instantiated;  Attributes become slots;  Associations become links; Disadvantages:  QVT languages are not applicable at level M0;  Coupled with the MOF instantiation;

Sheet 7MDAFA2004 Linköping, June 2004 Transformation Techniques Common Warehouse Metamodel (CWM):  Reuses the concepts of classes and instances from UML;  Concrete data models (XML, Relational,…) specialize these concepts;  To apply CWM transformations we extend CWM meta model; Disadvantages :  Can not handle models at level M2 if they do not specialize CWM;

Sheet 8MDAFA2004 Linköping, June 2004 Transformation Techniques Summary  Current transformation languages are coupled with particular instantiation and generalization mechanisms  This coupling prevents the existence of a single transformation language for all scenarios Problem  How to decouple the transformation language from instantiation and generalization mechanisms for a given model?

Sheet 9MDAFA2004 Linköping, June 2004 Approach Two basic ideas:  Represent model elements at any level of MOF in a uniform way;  Study the impact of instantiation and generalization over a transformation language; Transformation Language:  Operates on the generic representation;  Specifies different instantiation mechanisms as transformations;

Sheet 10MDAFA2004 Linköping, June 2004 Structure of Model Elements  MOF architecture is a space of model elements;  Elements have identity and named slots;  This structure is applicable to model elements at any level of the MOF architecture;

Sheet 11MDAFA2004 Linköping, June 2004 Example: MOF Model Representation Simplified MOF Model Primitive data types and multiplicity are skipped

Sheet 12MDAFA2004 Linköping, June 2004 MOF Model represented as a set of model elements Example: MOF Model Representation

Sheet 13MDAFA2004 Linköping, June 2004 Multiple InstanceOf Relations  InstanceOf MOF – linguistic (physical) instantiation;  InstanceOf Java – ontological (logical) instantiation;

Sheet 14MDAFA2004 Linköping, June 2004 Example: Relational Model Metamodel of relational schemas and its instances

Sheet 15MDAFA2004 Linköping, June 2004 Two ways to refer to the field A:  Navigating over the graph: aTuple.field[name=“A”].value  By using the type aSchema: aTuple.A  The first is linguistic, based on InstanceOf MOF ;  The second is ontological, based on InstanceOf REL ; Example: Relational Model

Sheet 16MDAFA2004 Linköping, June 2004 Transformation Language  Models are sets of model elements;  Transformations operate on the generic representation of models;  Two types of transformation rules:  Model element rule: creates model elements in the target model;  Slot rules: assign values to slots;  Four basic operations:  Selection of source model elements on the base of their type;  Instantiating model elements on the base of a type;  Accessing slot values;  Assigning values to slots;

Sheet 17MDAFA2004 Linköping, June 2004 Modeling Instantiation and Generalization  The four operations are affected by instantiation and generalization mechanisms;  Operations rely on a set of primitive functions that implement various aspects of instantiation and generalization; SelectionInstantiationSlot AccessSlot Assignment meta getSpecializedConstructs instantiate getSlotValue setValue isCompatible InstantiationGeneralization transformation operations functions language concepts

Sheet 18MDAFA2004 Linköping, June 2004 Modeling Instantiation  Selection:  meta(me: ModelElement): ModelElement Returns the meta-construct of a model element  Instantiation:  instantiate(meta-construct: ModelElement) : ModelElement Creates an instance of a meta-construct  Slot Access:  getSlotValue(me: ModelElement, slotName: String) : Set of ModelElement  Slot Assignment:  setValue(me: ModelElement, slotName: String, slotValue: Set of ModelElement)

Sheet 19MDAFA2004 Linköping, June 2004 Modeling Generalization  Selection:  getSpecializedConstructs(me: ModelElement) : Set of ModelElement Used for selection on the base of sub-types;  Instantiation:  instantiate(meta-construct: ModelElement) : ModelElement Contains knowledge about inheritance  Slot assignment:  isCompatible(expectedType: ModelElement, actualtype: ModelElement): Boolean Used to perform type checking

Sheet 20MDAFA2004 Linköping, June 2004 Specifying Transformations  The 6 functions have different implementations for different modeling languages;  Before executing a transformation, the transformation engine is configured with function implementations:

Sheet 21MDAFA2004 Linköping, June 2004 Example: Instantiating Model Elements  Instantiation is treated as a transformation from a model element (the type) to another model element (instance) with empty slots;  Instantiation is defined in the transformation language; Example: MOF Instantiation MOFClassInstantiation ModelElementRule source [c:Class, condition {c.isAbstract=false}] target [ModelElement {slots}] SlotRules { attributeSlots source [a:Attribute=c.attributes] target [slots] associationSlots source [assoc:Association, condition {assoc.from.type=c}] target [slots] } MOFAttributeToSlot ModelElementRule source [a:Attribute] target [Slot {name=a.name}] MOFAssociationToSlot ModelElementRule source [assoc:Association] target [Slot {name=assoc.to.name}]

Sheet 22MDAFA2004 Linköping, June 2004 Relational schema instantiation: RelSchemaInstantiation ModelElementRule source [s:RelationalSchema] target [Tuple{field, instanceOfRel =s}] SlotRules{ Fields source [f:FieldType=s.fieldTypes] target [field] } FieldTypeToField ModelElementRule source [ft:FieldType] target [Field{name=ft.name}] Instantiation of Tuple and Field is according to the MOF instantiation Example: Instantiating Model Elements

Sheet 23MDAFA2004 Linköping, June 2004 Conclusions  The approach enhances the scope of transformations beyond the QVT scenario;  Requires explicit definition of part of a modeling language semantics concerning instantiation and generalization;  Future work: automatically derive transformations over more than one level (the Data Binding Scenario);