Quantitative analysis of model transformations
Download
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


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


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


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 data models
Xtend - data models


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 simple metrics
    Sync2Async - Simple Metrics


    Sync2async aggregate metrics 1
    Sync2Async - Aggregate Metrics (1)


    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


    XXET

    / Department of Mathematics and Computer Science

    14-11-2010

    PAGE 29


    XXET

    / Department of Mathematics and Computer Science


    XXET

    / Department of Mathematics and Computer Science


    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


    Model-based QVTo Extractor Tool (MQET)



    Qvto2metrics extractor
    QVTo2Metrics Extractor

    / Department of Mathematics and Computer Science

    14-11-2010

    PAGE 42


    QVTo2Metrics.qvto

    / Department of Mathematics and Computer Science


    QVTo2Metrics.metrics

    / Department of Mathematics and Computer Science



    Single metrics extracted

    / Department of Mathematics and Computer Science


    Aggregatemetrics extracted (1)

    / Department of Mathematics and Computer Science


    Aggregatemetrics extracted (2)

    / Department of Mathematics and Computer Science


    Coverage Extractor

    / Department of Mathematics and Computer Science


    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


    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