Loading in 5 sec....

Quantitative Analysis of Model Transformations PowerPoint Presentation

Quantitative Analysis of Model Transformations

- 79 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Quantitative Analysis of Model Transformations ' - david-espinoza

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Quantitative Analysis ofModel Transformations

Phu H. Nguyen ([email protected])

Supervisor: Prof. Dr. Mark van den Brand

Tutor: Ir. Marcel van Amstel

Agenda

- Introduction
- Project goal
- Xtend Model Transformations
- Metrics for Xtend
- Xtend Extractor Tools
- A case study

- QVTo Model Transformations
- Metrics for QVTo
- QVTo Extractor Tools
- A case study

- Conclusions

/ Department of Mathematics and Computer Science

Introduction

- Model Driven Software Development (MDSD):
- High level design models at the heart of the development process
- Software development automation
- Benefits : Productivity, agility, reliability

- MDE world:
- Domain-specific languages (DSL)
- Model-to-model transformations (M2M)
- Model-to-text transformations (M2T)

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 2

/ Department of Mathematics and Computer Science

Model-to-model transformations

ATL - the Atlas Transformation Language

QVT (Operational) - An implementation of OMG’s spec.

Xtend - openArchitechtureWare (oAW) ’s transformation language (also used for other tasks within oAW)

Epsilon, Kermeta, Stratego, etc.

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 4

Model transformations

- The heart and soul of MDSD
- A methodology for developing model transformations with high quality?
- Approach: assessing the internal quality of model transformations
- Quality assessment of model transformations:
- ASF+SDF: enabled
- ATL: enabled
- QVT: ?
- Xtend: ?
- Epsilon , Kermeta, Stratego: ?

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 5

Project goal

Enable quality assessment for model transformations by means of metrics.

Enable coverage analysis.

Enable dependency analysis.

Focus on Xtend, QVT-Operational.

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 6

Sub-goals

A metrics suite for measuring Xtend model transformations.

A metrics suite for measuring QVTo model transformations.

Tools that enables automatic extraction of Xtend metrics, coverage and dependency data.

Similar tools for QVTo.

Perform case studies to validate the results.

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 7

oAW & Xtend model transformations

- openArchitectureWare (oAW)
- An integrated, one-stop toolkit for MDSD
- model-to-model transformations (Xtend)
- model-to-text-transformations (Xpand)
- text-to-model (Xtext)

- An integrated, one-stop toolkit for MDSD
- Migration to Eclipse:
- Xpand, Xtend and Check → Model-to-Text Transformation
- Xtext→ Textual Modeling Framework
- oAW workflow engine → Modeling Workflow Engine (MWE)

/ Department of Mathematics and Computer Science

An overview of oAW

/ Department of Mathematics and Computer Science

Xtend

- The transformation language used throughout oAW:
- Constraint checks
- Model transformations
- Generators

Xtend model transformations…

… are defined in extension files (*.ext):

- Import statements
- Import name spaces (meta-models)
- Import (reexport) built-in libraries or another extend files

- Extensions (transformation functions)

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 11

Book → Publication

- Rules to transform a Book model to a Publication model:
- Each Book instance → a Publication instance
- The title of a Book → the title of a Publication
- The total number of pages of a Publication is the sum of the pages of the Chapters of a Book.

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 12

Book → Publication: Extension File

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 13

Quality Attributes

Understandability

Modifiability

Reusability

Modularity

Completeness

Consistency

Conciseness

Performance

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 14

Metrics for Xtend model transformations

- Categories:
- Extension metrics
- Dependency metrics
- Miscellaneous metrics

- Two types of metric:
- Simple metric: single value
- Aggregate metric: min, max, avg, med, std dev

- Total 97 metrics

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 15

Tools

- Design requirements
- Input: Extension files
- Output: Metrics, Coverage and Dependency data
- Extensibility:
- New metrics can be defined easily
- The calculation of a new metric can be implemented quickly.

Xtend - data models

Xtend Extractor Tools XML-based Xtend Extractor Tool (XXET)

- Java-based Xtend Extractor Tool (JXET)
- Elements of the Xtend AST → data model (in-memory Java Objects)
- Implemented in Java

- Elements of the Xtend AST → XML file
- Using Xpath, Xquery

Architecture of JXET

- Data model = Java Objects

Example – Sync2Async

/ Department of Mathematics and Computer Science

Sync2Async - Simple Metrics

Sync2Async - Aggregate Metrics (1)

Sync2Async - Aggregate Metrics (2)

/ Department of Mathematics and Computer Science

Sync2Async– Dependencies Graph

/ Department of Mathematics and Computer Science

/ Department of Mathematics and Computer Science

/ Department of Mathematics and Computer Science

/ Department of Mathematics and Computer Science

Query, View, Transformation (QVT)

- The declarative parts:
- Relations
- Core

- Imperative implementations:
- Operational Mappings
- Black-box MOF Operation

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 33

QVT Implementations

- QVT-Operational (QVTo)
- SmartQVT
- Eclipse M2M Operational QVT
(QVTo is the best supported variant in terms of tools)

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 34

QVTo structure

Transformation declaration

Imperative operations (mappings, helpers, queries, constructors)

Intermediate data

Object creation and update mechanism

Trace resolution expressions

ImperativeOCL - extension to OCL expressions and type system

Standard Library

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 35

Metrics for QVTo model transformations

- Categories:
- Mapping metrics
- Helper /Query metrics
- Dependency metrics
- Miscellaneous metrics

- Two types of metric:
- Simple metric: value
- Aggregate metric: min, max, avg, med, std dev

- Total 98 metrics

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 37

Model-based QVTo Extractor Tool (MQET)

/ Department of Mathematics and Computer Science

/ Department of Mathematics and Computer Science

Metrics M2T Extractor (Xpand)

/ Department of Mathematics and Computer Science

Aggregatemetrics extracted (1)

/ Department of Mathematics and Computer Science

Aggregatemetrics extracted (2)

/ Department of Mathematics and Computer Science

/ Department of Mathematics and Computer Science

/ Department of Mathematics and Computer Science

Conclusions (1)

1 - A set of 97 metrics for measuring Xtend model transformations.

2 - A set of 98 metrics for measuring QVTo model transformations.

Many metrics for different transformations (ATL, Xtend, QVTo) are conceptually equivalent.

Still some metrics are entirely specific.

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 51

Conclusions (2)

3 ways to develop a tool for automated extraction of metrics, coverage and dependency data.

3 sets of tools (JXET, XXET, MQET) have been developed.

A methodology for developing tools for measuring model transformations defined in different languages.

Implementation of such a tool is specific for different languages.

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 52

A methodology for developing tools

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 53

Future work

- Some missing implementations are deferred for future work.
- Empirical studies.
- A methodology for improving quality of model transformations
- Set of guidelines

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 54

The end.

“Anything will give up its secrets if you love it enough” -- George Washington

“If you have to kiss a lot of frogs to find a prince, find more frogs and kiss them faster and faster” -- Ron Kohavi

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 55

Download Presentation

Connecting to Server..