Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

A Model-based Development approach for Model Transformations Shekoufeh Kolahdouz Rahimi, Kevin Lano
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
Task-Oriented, Policy Driven Business Requirements Elicitation for Web Services Stephen Gorton Department of Computer Science, University of Leicester,
1 © Prentice Hall, 2002 Chapter 3: Modeling Data in the Organization Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred.
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 3 The Entity- Relationship Model.
Concepts of Database Management Sixth Edition
Chapter 6 Methodology Logical Database Design for the Relational Model Transparencies © Pearson Education Limited 1995, 2005.
Concepts of Database Management Sixth Edition
Database Design (Data Modeling) DCO11310 Database Systems and Design By Rose Chang.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 5 Understanding Entity Relationship Diagrams.
Data Management Design
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Methodology Logical Database Design for the Relational Model
University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Lecture 12: Modelling Business Rules & Processes Ü Review.
Chapter 3: Modeling Data in the Organization
Concepts of Database Management Seventh Edition
1 Chapter 2 Reviewing Tables and Queries. 2 Chapter Objectives Identify the steps required to develop an Access application Specify the characteristics.
Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
3.1 CSIS 3310 Chapter 3 The Entity-Relationship Model Conceptual Data Modeling.
Module Title? DBMS E-R Model to Relational Model.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Concepts and Terminology Introduction to Database.
Introduction to MDA (Model Driven Architecture) CYT.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
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.
Database Design. The process of developing database structures from user requirements for data a structured methodology Structured Methodology - a number.
Class Diagrams with Constraints Philippe Nguyen McGill University COMP-762 Winter 2005.
Business Integration Technologies © 2006 IBM Corporation Zurich Research Laboratory - BIT Validation.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
A language to describe software texture in abstract design models and implementation.
Concepts of Database Management Sixth Edition Chapter 6 Database Design 2: Design Method.
RRXS Redundancy reducing XML storage in relations O. MERT ERKUŞ A. ONUR DOĞUÇ
1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
Database Design. The process of developing database structures from user requirements for data a structured methodology Structured Methodology - a number.
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
Chapter 9 Logical Database Design : Mapping ER Model To Tables.
SQL LANGUAGE and Relational Data Model TUTORIAL Prof: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
1 ER Modeling BUAD/American University Mapping ER modeling to Relationships.
Object storage and object interoperability
March 1, 2004CS WPI1 CS 509 Design of Software Systems Lecture #6 Monday, March 1, 2004.
AOP/cross-cutting What is an aspect?. An aspect is a modular unit that cross-cuts other modular units. What means cross-cutting? Apply AOP to AOP. Tease.
Logical Database Design and the Relational Model.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
CS 598 Scripting Languages Design and Implementation 9. Constant propagation and Type Inference.
Lecture 4: Logical Database Design and the Relational Model 1.
Methodology - Logical Database Design. 2 Step 2 Build and Validate Local Logical Data Model To build a local logical data model from a local conceptual.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Database Design, Application Development, and Administration, 6 th Edition Copyright © 2015 by Michael V. Mannino. All rights reserved. Chapter 5 Understanding.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
Database Design.
Module 2: Intro to Relational Model
Graph-Based Operational Semantics
Chapter 2: Intro to Relational Model
Analysis models and design models
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Example of a Relation attributes (or columns) tuples (or rows)
Chapter 2: Intro to Relational Model
Software Architecture & Design
Presentation transcript:

Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied Computer Science Group CAMPaM 2006

Outline  Visual Modeling and Transformation System  Models Metamodeling in VMTS Visualization  Transformation Graph transformation The VMTS approach  Validated High-level constraint constructs Global constructs Efficient validation

Visual Modeling and Transformation System

Metamodeling  To be used by tools Database analogy  Ideal architecture for tools Set of hard-wired constructs (“visual vocabulary”) One instantiation (“language generation rules”) Layer transparency – for the general access

Metamodeling - 2  The VMTS approach  Set of hard-wired constructs Node (Atom) Edges (Relationship) Attributes Inheritance Containment  Layer transparency

Metamodeling - 3  One instantiation MOF 0/ MOF 1 (UML object and class diagram)  “Natural traversal” Metamodel as a class diagram Model elements are objects in a programming language A simple alternative to GT-based MT

Open Issues - Metamodeling  Metamodeling for tools Minimal set of hard-wired constructs? Consistent attribute instantiation?  Functions vs. attributes in Class diagram  Potency (Next level)?  Other constructs?  Enough experience? - Time to make a comparison and conclusions On the constructs, not on the names For tools, not for language definition

Visualization – a DSL Approach Code generation with model transformation

Open Issues - Visualization  DSL vs. other approaches?  Set of mandatory graphical constructs?  Refresh – simulation solutions?

Graph Rewriting

Metamodel-Based Rewriting  An instantiation of LHS must be found in the graph the rule being applied to instead of the isomorphic subgraph of the LHS

Model transformation in VMTS  DPO-Based  Free parameters  Natural constructs E.g. multiplicities Inheritance

Validated Model Transformation  High-level constructs in OCL property P before the step S property P after the step S Validationtrue falsestep S fails Preservationtrue false Guaranteetrue falsetrue

DB2Class Transformation  Classes that are marked as non- abstract in the source model should be transformed into a single table of the same name in the target model.  The resultant table should contain one added primary key column, one or more columns for each attribute in the class, and one or more columns for associations based on the next rule.

DB2Class Transformation  Associations Many-to-many (N:N) associations, should be mapped to distinct tables. The primary keys for both related classes should become attributes of the association table (foreign keys). Foreign keys do not allow NULL values, because a link between two objects requires that both of them be known. One-to-many (1:N) associations, using one or more foreign key columns should be merged into the table for the class on the “many” side. For one-to-one (1:1) associations, also the foreign key should be buried optionally in one of the affected tables.

DB2Class Transformation -2  Parent class attributes should be mapped into tables created from inherited classes.  An association class should be transformed based on the multiplicity of the association. For N:N association, the attributes of the association class become columns of the distinct table. For a 1:N or 1:1 the attributes of the association class become columns of the table in which the foreign key is buried.  These requirements guarantee the third normal form

DB2Class Transformation -2  Requirements Each table has primary key, Each class attribute is part of a table, Each parent class attribute is part of a table created for its inherited class, Each many-to-many association has a distinct table, Each one-to-many and one-to-one association has merged into the appropriate tables, Foreign keys not allow NULL value, and Each association class attribute buried into the appropriate table based on the multiplicities of its association.

Online Validation  Offline validation - hard Paper and pencil Based on concurrency theorem  There is a need for a solution that can validate model transformation specifications: online validated model transformation that guarantees if the transformation finishes successfully, the generated output (database schema) is valid, and it is in accordance with the requirements above.

VMTS Class diagram and Relational Database metamodels

Example input of the case study, and required output of the example input model

Control Flow Model of The Transformation Class2RDBMS

Step CreateTable

Step ProcessAssociation

Step AddParentAssociation, Step ShiftParentClassHelper, and External Causalities

Transformation Step ProcessAssociation – Removing Crosscutting Constraints context Class inv Const1: not Abstract context Class inv Const1: not Abstract context Atom inv Const2: self.class.attribute->forAll(self.table.column-> exists(c | (c.columnName = class.attribute.name)) context Atom inv Const2: self.class.attribute->forAll(self.table.column-> exists(c | (c.columnName = class.attribute.name))

Global Constraint Weaver

Constraint Aspect and the Constraint Aspect Weaver Algorithm

Separating Constraints in Validated Model Transformation  A refining constraint complete the conditions required by the structure of LHS of a transformation step.  A validation constraint expresses a semantically motivated constraint without which the transformation would work correctly, except for abortion.

Summary - Validation  If the transformation successful, then validated  Intuitive: because the problem needs intuition and human interaction  Whole transformation can be validated: weaving  Limitation: 3rd Normal Form – need a book

Open Issues - Validation  More case studies? How efficient is the formalism?  Other constraint constructs for transformation?  Heuristics for OCL Compilers?