Transformation Patterns Al, Jean, Jeff, Kerry, Krzysztof, William, ??

Slides:



Advertisements
Similar presentations
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Advertisements

Three-Step Database Design
Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets.
Query Methods (SQL). What is SQL A programming language for databases. SQL (structured Query Language) It allows you add, edit, delete and run queries.
Model Transformation Eugene SyrianiandHans Vangheluwe.
June 9, 2006 Transforming models with ATL © 2006 ATLAS Nantes Transforming models with ATL The A TLAS Transformation Language Frédéric Jouault ATLAS.
Foundations of Relational Implementation n Defining Relational Data n Relational Data Manipulation n Relational Algebra.
Modeling SPARK Systems with UML Xavier Sautejeau SigAda’05 © Sodius.
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
UML and SQL Models and Languages Database design is a process of modeling an enterprise in the real world Database.
Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand.
Some Introductory Programming 1. Structured Query Language - used for queries. - a standard database product. 2. Visual Basic for Applications - use of.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Design Management: When Model Driven Engineering Embraces the Semantic Web NECSIS 2012, Gatineau, QC 27 June 2012 Maged Elaasar.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Midterm 1 Concepts Relational Algebra (DB4) SQL Querying and updating (DB5) Constraints and Triggers (DB11) Unified Modeling Language (DB9) Relational.
CSE 590DB: Database Seminar Autumn 2002: Meta Data Management Phil Bernstein Microsoft Research.
A Really Brief Crash Course in Semantic Web Technologies Rocky Dunlap Spencer Rugaber Georgia Tech.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
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.
Database Support for Semantic Web Masoud Taghinezhad Omran Sharif University of Technology Computer Engineering Department Fall.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
Computer Science 101 Database Concepts. Database Collection of related data Models real world “universe” Reflects changes Specific purposes and audience.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Information System Development Courses Figure: ISD Course Structure.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Semantic Foundations for Model-Integrated Computing A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004 Jeff Gray, University of Alabama.
DataBase Management System What is DBMS Purpose of DBMS Data Abstraction Data Definition Language Data Manipulation Language Data Models Data Keys Relationships.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
Prepared By Aakanksha Agrawal & Richa Pandey Mtech CSE 3 rd SEM.
1 24 October 2004 Vancouver, Canada The 4th OOPSLA Workshop on Domain-Specific Modeling Group reports.
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
1 Chapter 1 Introduction. 2 Outlines 1.1 Overview and History 1.2 What Do Compilers Do? 1.3 The Structure of a Compiler 1.4 The Syntax and Semantics of.
Compiler design Lecture 1: Compiler Overview Sulaimany University 2 Oct
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Indexes and Views Unit 7.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
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.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Question 1 Which of the following requires object database technology? A. Storing employee picture on disk B. Retrieving an employee picture C. Retrieving.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
Chapter 04 Semantic Web Application Architecture 23 November 2015 A Team 오혜성, 조형헌, 권윤, 신동준, 이인용.
Intro to MIS – MGS351 Databases and Data Warehouses
PRINCIPLES OF COMPILER DESIGN
Chapter 18: Refining Analysis Relationships
Towards Automatic Model Synchronization from Model Transformation
Prof. Jason Eisner MWF 3-4pm (sometimes 3-4:15)
Evaluating Compuware OptimalJ as an MDA tool
Presented by Ramy Shahin
Object Database Queries: OQL
Constructing MDA-based Application Using Rational XDE for .NET
CISC 7120X Programming Languages and Compilers
Query Optimization.
Software Architecture & Design
Presentation transcript:

Transformation Patterns Al, Jean, Jeff, Kerry, Krzysztof, William, ??

Transformation Patterns What is a transformation pattern? common patterns I have seen structures

Examples MOF 1.3  EMF –more constructs in MOF than in EMF –want bi-directional (EMF  MOF 1.3) –e.g. MOF constraint into EMF annotation annotation had information on how to go back to EMF –Details a) Normal EMF  MOF is pretty easy b) But if the annotations have been changed, completing the round-trip is a serious problem –Only allow round-trip if it is consistent; otherwise (a)

More Examples UML to MOF –UML XMI transform to MOF XMI –example of a tool writing in ATL UML Activity to BPEL MOF to JMI CGI to EJB JavaDoc Genealogy data

More Examples… Cross-compilation –OQL to SQL –etc Databases –Normalizations –Logical to physical

Common pattern X Y A B C Z

Concrete Example: Database Logical  Physical Column Table Attribute Class

Characterizing Transformations as a whole 7) HOT (higher order transformation) 6) Ma  Mb (nothing) 5) Ma  Mb Exists MMa – MMp – MMb 4) Ma  Mb MMa “contains” MMb 3) Ma  Mb MMa “in” MMb 2) Ma  Mb MMa = MMb 1) Ma  Ma (within same model)

Vertical vs. Horizontal Transformations optimizations code expansion

Kinds of Transformation Property-Preserving –property P we have P(Ma) implies P(Mb) when Ma  Mb Evolution –platformMa:MMa  Ma’:MMa’ semantics-preserving: Meaning(Ma) = Meaning (Mb) –functional (change in requirements) Ma:MMa  Mb:MMa Compilation –generally semantics-preserving Optimization –one that is P-preserving, Q-reducing Refactoring –changing structure, semantics preserving –Its like also optimization (Q is “-ility” or “niceness” metric)

Source  Target Cardinality –all cases 1:1 1:M M:1 M:M Effect at type level –Does it increase or decrease number of types For case ?:M –Homogeneous –Heterogeneous

Explosion/Contraction State Explosion –Two states adding intermediate states into a transition Permutation –Elaborating all combinations of information –Version explosion multiple models coming in that are variants of each other Like Query languages –projection –selection –order –transitive closure

Philosophical Interlude What is different from Functional programming? –In functional programming main structure is a tree –In Model-driven approach main structure is a graph moving from trees to graphs gives more power –(but text can be better than pictures for some uses) All the meta-models are OO –Working with OO structures – graphs