560 likes | 670 Views
Quantitative Analysis of Model 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
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