quantitative analysis of model transformations
Download
Skip this Video
Download Presentation
Quantitative Analysis of Model Transformations

Loading in 2 Seconds...

play fullscreen
1 / 56

Quantitative Analysis of Model Transformations - PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on

Quantitative Analysis of Model 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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 of model transformations

Quantitative Analysis ofModel Transformations

Phu H. Nguyen ([email protected])

Supervisor: Prof. Dr. Mark van den Brand

Tutor: Ir. Marcel van Amstel

agenda
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
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

slide4

How MDSD works

/ Department of Mathematics and Computer Science

model to model transformations
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
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
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
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
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)
  • 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

slide10

An overview of oAW

/ Department of Mathematics and Computer Science

xtend
Xtend
  • The transformation language used throughout oAW:
    • Constraint checks
    • Model transformations
    • Generators
xtend model transformations
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

slide13

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
Book → Publication: Extension File

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 13

quality attributes
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
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

some examples of xtend metrics
Some examples of Xtend metrics

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 16

tools
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 extractor tools
Xtend Extractor Tools
  • Java-based Xtend Extractor Tool (JXET)
      • Elements of the Xtend AST → data model (in-memory Java Objects)
      • Implemented in Java
  • XML-based Xtend Extractor Tool (XXET)
      • Elements of the Xtend AST → XML file
      • Using Xpath, Xquery
architecture of jxet
Architecture of JXET
  • Data model = Java Objects
example sync2async
Example – Sync2Async

/ Department of Mathematics and Computer Science

sync2async aggregate metrics 2
Sync2Async - Aggregate Metrics (2)

/ Department of Mathematics and Computer Science

sync2async dependencies graph
Sync2Async– Dependencies Graph

/ Department of Mathematics and Computer Science

architecture of xxet
Architecture of XXET

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 28

slide30
XXET

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 29

slide31

XXET

/ Department of Mathematics and Computer Science

slide32

XXET

/ Department of Mathematics and Computer Science

slide33

XXET

/ Department of Mathematics and Computer Science

query view transformation qvt
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 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
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

book publication qvto
Book → Publication: QVTo

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 36

metrics for qvto model transformations
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

some examples of qvto metrics
Some examples of QVTo metrics

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 38

qvto data models
QVTo – Data models

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 39

qvto2metrics extractor
QVTo2Metrics Extractor

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 42

slide44

QVTo2Metrics.qvto

/ Department of Mathematics and Computer Science

slide45

QVTo2Metrics.metrics

/ Department of Mathematics and Computer Science

slide47

Single metrics extracted

/ Department of Mathematics and Computer Science

slide48

Aggregatemetrics extracted (1)

/ Department of Mathematics and Computer Science

slide49

Aggregatemetrics extracted (2)

/ Department of Mathematics and Computer Science

slide50

Coverage Extractor

/ Department of Mathematics and Computer Science

slide51

Coverage Graph

/ Department of Mathematics and Computer Science

conclusions 1
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
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

slide54

A methodology for developing tools

/ Department of Mathematics and Computer Science

14-11-2010

PAGE 53

future work
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
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

ad