ATL Transformation. Catalogue of Model Transformations

Similar documents
ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations

ATL TRANSFORMATION EXAMPLE

ATL Transformation. Catalogue of Model Transformations

ATL Transformation Examples. The KM3 to Metric ATL transformation

ATL Transformation. Catalogue of Model Transformations

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

Transforming models with ATL

Attributes and Associations of Class Property

Configuring a Sybase PowerDesigner Resource in Metadata Manager 9.0

ATL: Atlas Transformation Language. ATL Transformation Description Template - version 0.1 -

CWM: Model Driven Architecture

ATL: Atlas Transformation Language. ATL User Manual

ATL Transformation Example

M. (1) (1) (2) (1) ATLAS

Kermeta. in compiled mode

MOF and XMI. (version 2.0) by Philippe Nguyen March 24, 2005

Better Metadata Management through Better Metamodels

Directives for Composing Aspect-Oriented Design Class Models

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

ATL: ATLAS Transformation Language. MISO - Uniandes

ATL: ATLAS Transformation Language

ATL Transformation Example

Metamodeling with Metamodels. Using. UML/MOF including OCL

UML Metamodel version September 1997

CISC836: Models in Software Development: Methods, Techniques and Tools

XML Schema: Exercises

Ant tasks for AMMA. Ant is an Apache project. It is open source software, and is released under the Apache Software License.

Model handling with EMF

TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering

(Meta)Models between MetaEdit+

Theory and Basic Principles of MDE

Dominique Blouin Etienne Borde

Algebraic Semantics of EMOF/OCL Metamodels

KM3: a DSL for Metamodel Specification

An Introduction to MDE

"Families to Persons"

The AMIE Model. A packet has a number of properties. These are type, version, packet id, and state. It also has a list of expected replies.

Christian Doppler Laboratory

MOLA Language: Methodology Sketch

ATL Transformation Example

Dominique Blouin Etienne Borde

A Practical Approach to Bridging Domain Specific Languages with UML profiles

Draft version. Model Integration with Model Weaving: a Case Study in System Architecture

Acceleo Galileo Simultaneous Release

Metamodeling and Metaprogramming

Metamodeling and Metaprogramming

SQL Fundamentals. Chapter 3. Class 03: SQL Fundamentals 1

Model Driven Engineering : Basic Concepts

Metamodeling the Entity Relationship and Relational Data Model and their Transformation. Martin Gogolla

LEARN TO DEVELOP A LIVE PROJECT AS PER IT STANDARDS. Module 1: What we are going to Learn. Prerequisites

ATL TRANSFORMATION EXAMPLE

Introduction to Dependable Systems: Meta-modeling and modeldriven

model-driven development Separation of Concerns in Model-Driven Development

INF5120 Model-Based System Development

Introduction to MDE and Model Transformation

Teiid Designer User Guide 7.7.0

Managing Complex Interoperability Solutions using Model-Driven Architecture

Model Driven Development Unified Modeling Language (UML)

ATL Transformation Example

CSC Web Programming. Introduction to SQL

A Formal Approach to Modeling and Model Transformations in Software Engineering

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

SQL Framework

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Formal and Tool Support for Model Driven Engineering with Maude

Overview of lectures today and Wednesday

Sequence Diagram Generation with Model Transformation Technology

Pervasive and Mobile Computing. Context modelling and a context-aware framework for pervasive service creation: A model-driven approach

BLU AGE 2009 Edition Agile Model Transformation

ADT: Eclipse development tools for ATL

Chapter3: Introduction to Classes and Objects

These are activated from the Averiti Control Panel, illustrated in Figure 1. Figure 1: Averiti Control Panel

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Implementing Data Masking and Data Subset with IMS Unload File Sources

Creating a Subset of Production Data

MODEL DRIVEN ARCHITECTURE (MDA)

What is Metamodeling and Code Generation All About

Towards Transformation Migration After Metamodel Evolution

SERG. An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models

openarchitectureware 4.1 An introduction

Chapter 17. Methodology Logical Database Design for the Relational Model

This document contains information on fixed and known limitations for Test Data Management.

Technological space travel for developers, researchers, and educators

OCL omissions and contradictions

Use Default Form Instances

CSU211 Exam 2 Fall 2007

Construction of Complex UML Profiles

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

SystemWeaver for EAST-ADL. Concept Presentation 2013

Specification with OCL

Design Patterns for Model Transformations: Current research and future directions

Duplicate Detection addon for Dynamics CRM by Cowia

Transcription:

1. ATL TRANSFORMATION EXAMPLE: REPLACE ASSOCIATION BY FOREIGN KEY... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES... 5 1. ATL Transformation Example: replace association by foreign key This example is extract by K. Lano. Section 1.6: replace association by foreign key, page 7. Page 1/5

Text EMF Text M3 MOF M2 KM3 KM3 M1 file.km3 model -KM3 model -KM3 file.km3 Replace association by foreign key rename XML injecr conformsto ATL transformation 2. ATL Transformation overview 2.1. Description This transformation applies any explicit many-one association between persistent classes. It assumes that primary keys already exist for the classes linked by the association. It replaces the association by embedding values of the key of the entity at the one end of the association in the entity at the many ends. 2.2. Purpose This is an essential step for implementation of a data model in relational database. 2.3. Rules specification Our transformation has the same source and the target metamodel, KM3. We use 2 different names (KM3 and KM3target, but they refer the same metamodel. For a Metamodel element, another Metamodel element is created : o with the same name and location, o Linked the same contents. For a Package element, another Package element is created : o with the same name, o Linked the same contents. Page 2/5

For a Class element, another Class is created : o with the same name, o Abstract if the source class is abstract, o Linked the same structural feature. For a DataType element, another DataType is created : o With the same name and location. For a Reference element, a Attribute element is created : o with the name <name of the class> + ForeignKey, isordered <- false, o isunique <- false, o location is empty, o lower <- 1, o upper <- 1, o type <- Integer (defined in the package Primitive Type. For a Attribute element, another Attribute is created o with the same name, location, and type, o With the same properties isunique, o With the same values upper and lower. 2.4. ATL Code -- @name Replacing association by foreign key -- @version 1.0 -- @domains -- @authors (jul.baudry<at>gmail.com -- @date 2006/08/02 -- @description The purpose of this transformation is replace an association by a foreign key -- @see http://www.dcs.kcl.ac.uk/staff/kcl/tcat.pdf -- @see section 1.6, page 7 -- @see author of article : K. Lano module ForeignKey; -- Module Template create OUT : KM3target IN : KM3; --@begin rule Metamodel rule Metamodel { inputmm:km3!metamodel outputmm:km3target!metamodel ( location <- inputmm.location, contents <- inputmm.contents --@end rule Metamodel --@begin rule Package rule Package { Page 3/5

inputpkg:km3!package outputpkg:km3target!package ( name <- inputpkg.name, contents <- inputpkg.contents --@end rule Package --@begin rule Class rule Class { inputa:km3!class outputa:km3target!class ( name <- inputa.name, isabstract <- inputa.isabstract, structuralfeatures <- inputa.structuralfeatures --@end rule Class --@begin rule datatype rule DataType { inputdata:km3!datatype outputdata:km3target!datatype( name <- inputdata.name, location <- inputdata.location --@end rule datatype --@begin foreignkey rule reference2key { r:km3!reference ( r.upper = 1 key:km3target!attribute ( name <- r.type.name.lower(+'foreignkey', isordered <- false, isunique <- false, location <- '', lower <- 1, upper <- 1, type <- KM3!DataType.allInstances(->select(a a.name = 'Integer'->first(, owner <- r.owner --@end foreignkey --@begin rule attribute rule attribute { inputatt:km3!attribute outputatt:km3target!attribute( name <- inputatt.name, isordered <- inputatt.isordered, isunique <- inputatt.isunique, Page 4/5

location <- inputatt.location, lower <- inputatt.lower, upper <- inputatt.upper, type <- inputatt.type, owner <- inputatt.owner 3. References [1] http://www.dcs.kcl.ac.uk/staff/kcl/tcat.pdf Page 5/5