1 / 56

Quantitative Analysis of Model Transformations

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

Download Presentation

Quantitative Analysis of Model Transformations

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. How MDSD works / Department of Mathematics and Computer Science

  5. 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

  6. 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

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

  8. 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

  9. 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

  10. An overview of oAW / Department of Mathematics and Computer Science

  11. Xtend • The transformation language used throughout oAW: • Constraint checks • Model transformations • Generators

  12. 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

  13. 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

  14. Book → Publication: Extension File / Department of Mathematics and Computer Science 14-11-2010 PAGE 13

  15. Quality Attributes Understandability Modifiability Reusability Modularity Completeness Consistency Conciseness Performance / Department of Mathematics and Computer Science 14-11-2010 PAGE 14

  16. 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

  17. Some examples of Xtend metrics / Department of Mathematics and Computer Science 14-11-2010 PAGE 16

  18. 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.

  19. Xtend - data models

  20. 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

  21. Architecture of JXET • Data model = Java Objects

  22. JXET: Metrics Extractor

  23. Example – Sync2Async / Department of Mathematics and Computer Science

  24. Sync2Async - Simple Metrics

  25. Sync2Async - Aggregate Metrics (1)

  26. Sync2Async - Aggregate Metrics (2) / Department of Mathematics and Computer Science

  27. Dependencies extractor

  28. Sync2Async– Dependencies Graph / Department of Mathematics and Computer Science

  29. Architecture of XXET / Department of Mathematics and Computer Science 14-11-2010 PAGE 28

  30. XXET / Department of Mathematics and Computer Science 14-11-2010 PAGE 29

  31. XXET / Department of Mathematics and Computer Science

  32. XXET / Department of Mathematics and Computer Science

  33. XXET / Department of Mathematics and Computer Science

  34. 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

  35. 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

  36. 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

  37. Book → Publication: QVTo / Department of Mathematics and Computer Science 14-11-2010 PAGE 36

  38. 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

  39. Some examples of QVTo metrics / Department of Mathematics and Computer Science 14-11-2010 PAGE 38

  40. QVTo – Data models / Department of Mathematics and Computer Science 14-11-2010 PAGE 39

  41. Model-based QVTo Extractor Tool (MQET)

  42. Metrics M2M Extractor (QVTo)

  43. QVTo2Metrics Extractor / Department of Mathematics and Computer Science 14-11-2010 PAGE 42

  44. QVTo2Metrics.qvto / Department of Mathematics and Computer Science

  45. QVTo2Metrics.metrics / Department of Mathematics and Computer Science

  46. Metrics M2T Extractor (Xpand)

  47. Single metrics extracted / Department of Mathematics and Computer Science

  48. Aggregatemetrics extracted (1) / Department of Mathematics and Computer Science

  49. Aggregatemetrics extracted (2) / Department of Mathematics and Computer Science

  50. Coverage Extractor / Department of Mathematics and Computer Science

More Related