560 likes | 680 Views
This project focuses on improving the quality assessment of model transformations within Model-Driven Software Development (MDSD), specifically targeting Xtend and QVTo transformation languages. By developing a suite of metrics to measure the efficacy and reliability of model transformations, this project aims to enable comprehensive coverage and dependency analysis. Case studies will validate the results, ensuring robust tools and methodologies are established for assessing transformation quality, ultimately enhancing MDSD productivity, agility, and reliability.
E N D
Quantitative Analysis ofModel Transformations Phu H. Nguyen (h.p.nguyen@student.tue.nl) 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
How MDSD works / 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) • 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
Some examples of Xtend metrics / Department of Mathematics and Computer Science 14-11-2010 PAGE 16
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 • 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 • Data model = Java Objects
Example – Sync2Async / Department of Mathematics and Computer Science
Sync2Async - Aggregate Metrics (2) / Department of Mathematics and Computer Science
Sync2Async– Dependencies Graph / Department of Mathematics and Computer Science
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) • 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
Book → Publication: QVTo / Department of Mathematics and Computer Science 14-11-2010 PAGE 36
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 / Department of Mathematics and Computer Science 14-11-2010 PAGE 38
QVTo – Data models / Department of Mathematics and Computer Science 14-11-2010 PAGE 39
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