1 / 48

Generic and Meta-Transformations for Model Transformation Engineering

Generic and Meta-Transformations for Model Transformation Engineering. Dániel Varró, András Pataricza Budapest University of Technology and Economics. Most Influential Paper Presentation @MODELS 2014 Valencia, Spain, October 2nd, 2014. Contributions of our UML 2004 paper.

shea-leon
Download Presentation

Generic and Meta-Transformations for Model Transformation Engineering

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. Generic and Meta-Transformations for Model Transformation Engineering Dániel Varró, András Pataricza Budapest University of Technology and Economics Most InfluentialPaperPresentation@MODELS 2014 Valencia, Spain, October 2nd, 2014

  2. Contributions of our UML 2004 paper • Novel MT Concepts • Generic and • Meta-Transformations • Highlight the software engineering aspects of MT • Reusability • Maintainability • Performance • Compactness • 1st prototype of VIATRA2 transformation framework • Impact (Citation) Analysis • Total: 137 (Google Scholar)

  3. Overview

  4. (Slideswiththis design aretakenfrommy UML 2004 talk) Generic and Meta-Transformations for Model Transformation Engineering DánielVarróAndrásPataricza Budapest Univ. of Technology and EconomicsDept. of Measurement and Information Systems

  5. The Model Transformation Problem DB UML Language B Language A How to specify? Metamodel A Metamodel B conforms to conforms to How to execute? Model a Model b PlatformIndep. Trans. (PIT) J. Bézivin, N. Farcet, J.-M. Jézéquel, B. Langlois, and D. Pollet. Reflectivemodeldrivenengineering. InProc. UML 2003: 6th Int. Conf. ontheUnifiedModelingLanguage, LNCS 2863, pp. 175–189. Springer, San Francisco, CA, USA, 2003 UML 2004

  6. Solution 1: Manually written PSTs DB UML Language B Language A Metamodel A Metamodel B conforms to conforms to Model a Model b PlatformIndep. Trans. (PIT) Platform Spec. Trans. (PST) XSLT spec. XT Schema SA Schema SA conforms to conforms to Document da Document db XSLT exec. xt

  7. Solution 1: Manually written PSTs DB UML Language B Language A • Advantages: • standard model format (XMI) and transform. language (XSLT) • extensive tool support (XSLT engines) • Disadvantages: • knowledge is required in another technological space (XSLT) • hard to debug/maintain/understand complex XSLT scripts • XSLT performance problems (for graph-like structures, e.g. XMI) Metamodel A Metamodel B conforms to conforms to Model a Model b MOF technological space Platform Spec. Trans. (PST) XSLT spec. XT Schema SA Schema SA conforms to conforms to Document da Document db XSLT exec. xt

  8. Solution 2: PIT Specification DB UML Language B Language A Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a QVT Model b UML 2004

  9. Solution 2: PIT specification + engine DB UML Language B Language A Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a Model b Transf. Exec. t UML 2004

  10. A:Attribute B:Column name=NM type=TP name=NM type=TP QVT example QVT rule Relation Attr2ColumnR C:Class T:Table Variable :attrs :columns Pattern Attr2Col(A,B) when Cls2Tbl(C,T) Condition UML 2004

  11. A:Attribute B:Column A:Attribute name=NM type=TP name=NM type=TP name=NM type=TP Graph transformation example RHS LHS Cls2Tbl(C,T) Cls2Tbl(C,T) C:Class T:Table C:Class T:Table :attrs :columns :attrs Att2Col(A,B) UML 2004

  12. Solution 2: PIT specification + engine DB UML Language B Language A Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a Model b Transf. Exec. t • Advantages: • pattern-based transformation specification in UML/MOF (upcoming QVT standard) • increased performance for complex graph models • Disadvantages: • lack of (industrial) model transformation tools UML 2004

  13. Solution 3: Model-driven transformation of PSMs DB UML Language B Language A Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a Model b Transf. Exec. t Schema SA Schema SA conforms to conforms to Document da Document db UML 2004

  14. Solution 3: Model-driven transformation of PSMs DB UML Language B Language A Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a Model b Transf. Exec. t • Advantages:(as before) • pattern-based transformation specification in UML/MOF (upcoming QVT standard) • increased performance for complex graph models (vs. XSLT) • Disadvantages: • HOW TO INTEGRATE INTO EXISTING TOOLS? XSLT spec. XT Schema SA Schema SA conforms to conforms to Document da Document db XSLT exec. xt UML 2004

  15. Solution 4: Automatically generated PST DB UML Language B Language A Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a Model b Meta-transformation XSLT spec. XT Schema SA Schema SA conforms to conforms to Document da Document db XSLT exec. xt

  16. Solution 4: Automatically generated TST DB UML Language B Language A • Advantages: • transformationspecificationin QVT/MOF/UML • automaticallygenerated XSLT scripts • platform specifictransformers (integratedintothetargettechnologicalspace) • Disadvantages: • PIT2PST is a complexmeta-transformation (e.g. QVT2XSLT) • wehavetodoit ONCE / we HAVE TO doitonce Transf. Spec. T Metamodel A Metamodel B conforms to conforms to Model a Model b XSLT spec. XT Schema SA Schema SA conforms to conforms to Document da Document db XSLT exec. xt

  17. Transformation engineering in MDA • Transformation design will be an engineering principle (if MDA succeeds) • Questions to answer: • How to specify and execute MTs? • Compactness / Intuitiveness of MT Specs? • Automation? - Performance? • Analysis? - Correctness of transformations? • Reusability? - Maintainability? UML 2004

  18. Objectives • How to tackle (some) transware problems? • By storing/handling transformations as models • Generic (higher-order) transformations: • Type / class variables in rules • Meta transformations: • Consumes (produces) transformation rules as input (output) Higher-OrderTransformations UML 2004

  19. Example: XMI export • Problem: • generate XMI documents • from MOF-based models • when the metamodel is a parameter <Node xmi.id = "n1"> <Node.name>FirstNode</Node.name> <Node.isStart xmi.value="true" /> <Node.outgoing> <Edge xmi.idref = "e1"/> </Node.outgoing> <Node.subnodes> <Node xmi.id = "n2"> ... </Node> </Node.subnodes> </Node> UML 2004

  20. Advantages General + Powerful Succinct Disadvantages Performance? Implementation as PSTs? Overview of generic transformations Metamodel(Graphs) Generic rules Graph model Generic Trans. Eng. XMI document Generic transformation = Rules with type variables UML 2004

  21. Example: A generic rule Type parameter UML 2004

  22. Overview of meta-transformations • Advantage: • Executed by traditional transformation engines • Prerequisite: • Rules stored as models Meta rules Metamodel(Graphs) “Ordinary” Trans. Eng. “Ordinary” rules TransformationModels Graph model “Ordinary” Trans. Eng. XMI document Meta-Transformation = Rules that consume/generate rules UML 2004

  23. Example: A meta rule Type variablesare data in the RHS resolved prior to main transformation UML 2004

  24. Result of applying a meta rule Ordinary (first order) transformation rule without type variables UML 2004

  25. Generic rules for model maintenance Migration from XMI 1.0 to XMI 1.1 UML 2004

  26. Another scenario of generic and meta-transformations • Advantage: uniform management of • models • transformations Generic & Meta rules “Ordinary” rules Generic Trans. Eng. “Ordinary” rules Graph model “Ordinary” Trans. Eng. XMI document Meta-Transformation = Rules that consume/generate rules UML 2004 Generic Transformation = Rules with type variables

  27. The VIATRA2 Approach • Model management: • Model space: Unified, global view of models, metamodels and transformations • Hierarchical graph model • Complex type hierarchy • Multilevel metamodeling • Model manipulation and transformations:integration of two mathematically precise, rule and pattern-based formalisms • Graph patterns (GP): structural conditions • Graph transformation (GT): elementary transformation steps • Abstract state machines (ASM): complex transformation programs • Code generation: • Special model transformations with • Code templates and code formatters

  28. Generic GT rulesin VIATRA gtrule parentIsAncR(Par,Child,ClsE,ParR,AncR) precondition lhs(Par, Child, P1 ClsE,ParR,AncR) postcondition rhs(Par, Child, P1 ClsE,ParR,AncR) ParR:relation AncR:relation ParR:relation AncR:relation ClsE:entity ClsE:entity P1:relation P1:relation Par:entity Child:entity Par:entity Child:entity E:relation precondition patternlhs(Par,Child,P1,ClsE,ParR,AncR) = { entity(ClsE); relation(ParR,ClsE,ClsE); • relation(AncR,ClsE,ClsE); entity(Par); • entity(Child); relation(P1, Child,Par); instanceOf(Par, ClsE); • instanceOf(Child, ClsE); • instanceOf(P1, ParR); } … Explicit (dynamic) instanceOf relations Variables matched to metamodel elements (types)

  29. Meta-transformationsin VIATRA • Main ideas: • Transformations stored as models • Processed by an interpreter (GT + ASM) • Executed over models stored in the model space • Unusual consequences: • Self-modifying meta-transformations • Pattern elements appearing in match sets • Scopes of MT rules required • EMF transformation model • Quiz: Sample model space • Graph pattern: chase • Instance model Howmanymatchesdoespatternchasehaveinthemodelspace? 6

  30. Higher-Order Transformation Approaches in Tools: An Outlook With direct contributions from M. Tisi, C. Krause, E. Syriani, H. Vangheluwe, D. Kolovos

  31. OurInfluencers (in 2004)

  32. Categorization of HOTs M. Tisi, F. Jouault, P. Fraternali, S. Ceri, and J. Bézivin. On the Use of Higher-Order Model Transformations. In Proc. of the 5thEuropean Conference on Model-Driven ArchitectureFoundations and Applications (ECMDA2009), pp 18–33. Springer, 2009

  33. ATL

  34. Henshin https://www.eclipse.org/henshin/examples.php • Generic, dynamically typed MT • Transform metamodels and instance models at the same time • Use special wrapper objects • Meta/Higher-order MT • Henshin allows to mixnormal and HO transformations • E.g. Ecore2GenModel(customization) C. Krause, J. Dyck, H. Giese: Metamodel-Specific Coupled Evolution Based on Dynamically Typed Graph Transformations. In Proc. of the 6th Int. Conf. on Theory and Practice of Model Transformations (ICMT2013), pp 79–91. Springer, 2013

  35. Transformationmodelsin RanWei, Dimitris S. Kolovos: Automated Analysis, Validation and Suboptimal CodeDetection in Model Management Programs. In Proc. of the 2nd BigMDEWorkshop,York, UK. 2014 • Ongoing work on • parsing Epsilon programs • into abstract syntax models • that conform to Ecoremetamodels • All task-specific language metamodels extend the core (EOL) language metamodel • Abstract syntax models used to perform • static type checking, • dependency analysis, • sub-optimal code detection

  36. RamificationinTCore • Goal: Customize generic pattern languages to domain-specific use • Generate modeling environment quasi-automatically • Implemented by HOT • Relax – Augment - Modify • Usage: embedding MTs into COTS tools • MetaEdit+ • MatlabSimulink Kühne, T.; Mezei, G.; Syriani, E.; Vangheluwe, H. & Wimmer, M. Systematic Transformation Development. Journal of the ECEASST: 21, Multi-Paradigm Modeling, Denver (2009).

  37. MOFLON • Generic rewrite rules • via JMI model repository • Example: Generic checks • attribute to be checked passed as argument • names of classes to be checked • Reflective rewrite rules • Examine metamodel first and extract properties • Instantiate generic rules on the instance level • Application: • Checking modeling guidelines for Simulink CarstenAmelunxen, ElodieLegros, Andy Schürr: Generic and reflective graph transformations for the checking and enforcement of modeling guidelines. VL/HCC 2008: pp. 211-218

  38. Furtherapproachesfor HOT MOTMOT (2006- ) • Add language constructs to Story Diagrams • Main Usage Scenario • Copying + Adaptation • Business Process Modeling Medini QVT • Generate copy rules from Ecoremetamodels • Refinement transformations • Generic copy rules • Exception rules Pieter Van Gorp, H.Schippers, D. Janssens Copying Subgraphs within Model Repositories. 5th Int. Workshop on Graph Transformation and Visual Modeling Techniques, ENTCS, pp. 127-139, Vienna, Austria, 1 April 2006. Elsevier. Thomas Goldschmidt, Guido Wachsmuth: Refinement Transformation Support for QVT Relational Transformations. 3rd Workshop on Model Driven Software Engineering (MDSE 2008)

  39. VIATRA Retrospective

  40. Evolution of the VIATRA ToolFamily • http://www.eclipse.org/viatra2/ • http://www.eclipse.org/incquery/

  41. VIATRA • Main facts & features: • Written in Prolog • XMI import/export for arbitrary metamodels • UML as rule language • Auto-generated Prolog code • Main applications: • SC2Promela: model checking UML statecharts • UML2DF: fault propagation analysis • SC2SPN: reliability analysis • Major projects: • HIDE + National • Main publications: • ASE 2002, SCP 2002

  42. VIATRA2 • Main Features • Unified storage of • Models + Metamodels + Transformations • Language: • Graph transformation (GT) • Abstract state machines (ASM) • Hybrid pattern matching • Local search + Incremental • Live MT • Event-driven • VIATRA DSM support • Design-space exploration • Main Projects: • DECOS, SENSORIA, DIANA, MOGENTES • Main Publications: • SCP 2007, ICMT 08-09, MODELS09, ASE2011, 3xSOSYM, STTT, AUSE Video: http://vimeo.com/7412871

  43. SelectedApplications of VIATRA2

  44. EMF-IncQuery • Main features: • Define model queries declaratively (with Xtext editors) • Execute queries efficiently and incrementally for EMF models • Integrate queries into EMF apps with no coding (validations, viewers, derived features) • Contributors • BME • IncQuery Labs (Support) • Itemis • Main publications: • MODELS10, ICMT11, MODELS12, ECMFA12, SOSYM14, SCP2014 • Demos at MODELS, ASE, ECMFA, TOOLS, EclipseCon, … CERTIMOT

  45. SelectedApplications (EMF-IncQuery)

  46. IncQuery-D • Main features: • Distributed • Storages • Indexers • Incremental Queries • Deployed over cloud infrastructure • Goal: Scalability along • # of machines • Memory/CPU • #of concurrent users • Contributors • BME + IncQuery Labs • Main publications: • Friday@MODELS 2014 • Invited talks at CloudMDE14, GT-VMT14

  47. Acknowledgements • CurrentContributors • István Ráth, PhD • Ákos Horváth, PhD • Gábor Bergmann, PhD • Ábel Hegedüs, PhD candidate, (IncQueryLabs) • Zoltán Ujhelyi, PhD candidate • Dénes Harmath (IncQueryLabs) • Tamás Szabó (Itemis) • Benedek Izsó • Gábor Szárnyas • Oszkár Semeráth • Csaba Debreceni • István Dávid (Uni-Antwerp) • András Szabolcs Nagy • Márton Búr • József Makai • Dániel Stein • PastContributors • Prof. András Pataricza • Gergely Varró, PhD (TU Darmstadt) • András Balogh, PhD (ThyssenKruppPresta) • András Schmidt (QGears) • Dávid Vágó (Google) • Balázs Grill (ThyssenKruppPresta) • Zoltán Balogh • András Ökrös • Balázs Polgár, PhD • Márk Czotter • Dániel Tóth (NSN) • Péter Pásztor • Gergely Nyilas (Lufthansa Systems) • Zsolt Sándor (Siemens PSE) • http://www.eclipse.org/viatra2/ • http://www.eclipse.org/incquery/

  48. Summary GenericTransformations Meta/Higher-OrderTransformations

More Related