A Model-based Development approach for Model Transformations Shekoufeh Kolahdouz Rahimi, Kevin Lano

Slides:



Advertisements
Similar presentations
Towards Data Mining Without Information on Knowledge Structure
Advertisements

TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Title ON FOUR DEFINITIONS OF DATA INTEGRITY Ravi Sandhu George Mason University FIVE.
Chapter 7 System Models.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
MODELING AUTHENTICITY Mariella Guercio – Giovanni Michetti September 2009.
Factors, Primes & Composite Numbers
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
1 Jérôme Euzenat 655 avenue de lEurope, Montbonnot Saint-Martin, France Interoperability in an open semantic web (was:
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
0 - 0.
ALGEBRAIC EXPRESSIONS
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLYING MONOMIALS TIMES POLYNOMIALS (DISTRIBUTIVE PROPERTY)
ADDING INTEGERS 1. POS. + POS. = POS. 2. NEG. + NEG. = NEG. 3. POS. + NEG. OR NEG. + POS. SUBTRACT TAKE SIGN OF BIGGER ABSOLUTE VALUE.
MULTIPLICATION EQUATIONS 1. SOLVE FOR X 3. WHAT EVER YOU DO TO ONE SIDE YOU HAVE TO DO TO THE OTHER 2. DIVIDE BY THE NUMBER IN FRONT OF THE VARIABLE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
The transformation of an ER or EER model into a relational model
Relational data integrity
Normal forms - 1NF, 2NF and 3NF
Conceptual / semantic modelling
Dr. Alexandra I. Cristea CS 319: Theory of Databases: C3.
Specification of UML Model Transformations
Methoden …\uml.ppt Folie:1 Rainer Kröning Unified Modeling Language.
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
1 of 22 International Reports Phase 2/ DA0539-w1 Last updated: International Reports Phase 2.
Chapter 9 -- Simplification of Sequential Circuits.
O X Click on Number next to person for a question.
© S Haughton more than 3?
1 A Graph Rewriting Formalism for Object-Oriented Software Evolution Tom Mens FWO Postdoctoral Fellow Programming Technology Lab Vrije.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
1 Directed Depth First Search Adjacency Lists A: F G B: A H C: A D D: C F E: C D G F: E: G: : H: B: I: H: F A B C G D E H I.
Twenty Questions Subject: Twenty Questions
Linking Verb? Action Verb or. Question 1 Define the term: action verb.
Relational Database Design Via ER Modelling
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
Properties of Exponents
Addition 1’s to 20.
25 seconds left…...
Test B, 100 Subtraction Facts
11 = This is the fact family. You say: 8+3=11 and 3+8=11
Week 1.
Vanderbilt Business Objects Users Group 1 Linking Data from Multiple Sources.
We will resume in: 25 Minutes.
1 Ke – Kitchen Elements Newport Ave. – Lot 13 Bethesda, MD.
Lecture 15 Functions CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Distributed DBMS©M. T. Özsu & P. Valduriez Ch.15/1 Outline Introduction Background Distributed Database Design Database Integration Semantic Data Control.
1 Unit 1 Kinematics Chapter 1 Day
O X Click on Number next to person for a question.
Chapter 11 Component-Level Design
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Huiswerk Lees delen 3.2, 3.3 van hoofdstuk 3. opgaven voor hoofdstuk 2: modelleeropgave 5.
Equivalence Relations
Advanced Topics in Algorithms and Data Structures
Structuring for Reuse: from B to Event-B Mike Poppleton, DSSE.
1 Programming Languages (CS 550) Mini Language Interpreter Jeremy R. Johnson.
Synthesis, Analysis, and Verification Lecture 04c Lectures: Viktor Kuncak VC Generation for Programs with Data Structures “Beyond Integers”
1 ECE734 VLSI Arrays for Digital Signal Processing Loop Transformation.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Presentation transcript:

A Model-based Development approach for Model Transformations Shekoufeh Kolahdouz Rahimi, Kevin Lano

Model Transformation Issues Specification of model transformations Development processes for model transformations UML-RSDS: A General Model-Driven Software Development Approach 2

Development Process for Model Transformations Requirements Abstract Specification Explicit Specification and Design Implementation 3

Tree to Graph Transformation 4 Transformation

Requirements check validity of the source model (no duplicate names, and no undefined parent trees) carry out the mapping upon a valid model Asm1: Asm2: 5

property of the tree metamodel properties of the graph metamodel Ens1: 6 Pres is a predicate in OCL over the source metamodel Ens is a predicate in OCL over the target metamodel Asm may in general be a predicate over both metamodels

Abstract specification C1 : For each tree node in the source model there is a graph node in the target model with the same name C2 : For each non-trivial parent relationship in the source model, there is an edge representing the relationship in the target model 7

C3 For each graph node in the target model there is a tree node in the source model with the same name C4 For each edge in the target model, there is a non-trivial parent relationship in the source model, which the edge represents C5 The same as Ens2 8 C3 and C4 are duals of C1 and C2 C1 and C3 together with the metamodels ensure that there is a 1-1 mapping from trees to nodes, which facilitates change propagation in both directions.

Cons should be sufficient to establish Ens: Cons should prove that Pres are preserved, via a suitable interpretation from the source language to the target language 9

Explicit specification and design Phase1 : Map all tree elements to corresponding nodes Its global specification is C1 and C3, its assumption is Asm 10 for t : Tree do mapTreeToNode(t)

Phase2: Map parent links to corresponding edges. the global specification C2 and C4 and C5, its assumption is C1 and C3 and 11 for t : Tree do mapTreeToEdge(t)

A ruleset in UML-RSDS is a set of rules (operations), it is defined as a UML class with a behaviour defined by an activity. This controls the allowed order of application of the rules. In this example we can therefore have one ruleset for each phase, each with a single operation. By composing the two phases in sequence, we can also establish the overall correctness of the transformation: 12

Implementation In this case a direct change-propagating implementation of Cons is possible, or Java code can be generated from the explicit activities and rules. 13

Case Study 2: Mapping activities from UML 1.4 to UML

Phase1: Establishes the correspondences between each kind of state vertex and activity node, ie, the axioms F1 to F11 and their inverses. Phase2: Establishes the correspondences of guards and transitions with opaque expressions and activity edges, assuming the correspondences of states from phase1. Phase3: Establishes the correspondences of partitions and activity graphs with activity partitions and activities, assuming the correspondences of states from phase1 and transitions from phase2. 15 The overall algorithm is specified as the composition of the three phases: activity1; activity2; activity3.

Case Study 3: UML to Relational Database mapping 16

phase1: replace each association class by two new associations. This establishes AssociationClass = {}. phase2: remove multiple and single inheritance, either by replacing a generalisation by a 0..1 to 1 association, or by merging a class and its superclass(es). This establishes Generalization = {}. phase3: Introduce a primary key for each class. phase4 : Replace many-many associations with a new class and foreign keys, replace 1-many associations by foreign keys. This establishes Association = {}. 17

Transformation algorithm 18

Questions? 19