180 likes | 361 Views
Pieter Van Gorp, Olaf Muliawan, Hans Schippers. MoTMoT .sourceforge.net. Presentation Roadmap. Part 1: MoTMoT as a general purpose model transformation tool Part 2: MoTMoT and Traceability. Part 1: UML2CSP.
E N D
Pieter Van Gorp, Olaf Muliawan, Hans Schippers MoTMoT.sourceforge.net
Presentation Roadmap • Part 1: MoTMoT as a general purpose model transformation tool • Part 2: MoTMoT and Traceability
Part 1: UML2CSP “Executing a Platform Independent Model of theUML-to-CSP Transformation on a Commercial Platform”Pieter Van Gorp, Olaf Muliawan, Anne Keller, Dirk Janssens26 pages... in 5 slides
Input: Activity Diagram Output: CSP Program
MoTMoT: General Strengths • MDA Standards (execution-level) • MOF, JMI, XMI: Reuse COTS Tools (“less is more”) • Standard reflective API, HOTs • Transformation Modeling Language • Story Diagrams • State-of-the-art Controlled GT • Fujaba • Visual: 2D, colors, explicit connections, ... • UML Profile • Use any UML 1.5 tool • Antwerp: MagicDraw 9 (standards, user base)
UML2CSP: “competitors” Graph Transformation Tools Contest on the Transformation of UML Models to CSP Dániel Varró, Márk Asztalos, Dénes Bisztray, Artur Boronat, Duc-Hanh Dang, Rubino Geiß, Joel Greenyer, Pieter Van Gorp, Ole Kniemeyer, Anantha Narayanan, Edgars Rencis, and Erhard Weinell
UML2CSP:MoTMoT Strengths (1/2) • “industrial” UML 2.0 input: MagicDraw 10 standard with “variations” • Transformation defined strictly on UML 2.0 standard • In-place normalization of input • Violating Decision node Standard-Compliant Merge node • Violating Fork node Standard-Compliant Join node • Out-place creation of output CSP model • In MOF-based Repository (MDR), XMI serialization, XSLT for Model-to-Text • Reusability, Extensibility: <<alias>> construct via HOT • Views
UML2CSP:MoTMoT Strengths (2/2) • Remark on traceability: • can be used for termination... but other mechanisms are available too: • Explicit Control Flow modeling: branch, iterative loop (forEach), calls, ... • Reasoning about termination (typical GG verification example)= not an issue (yet?) in our case studies
MoTMoT:Design Principles Ephemeralization • “Use technological advances to continuously do more with less.” [R. B. Fuller, 1938] • Examples given so far: • Reuse COTS editors, focus on transformations, • Align transformation modeling with application modeling. • What about traceability? • Traceability links are n-ary relations between model elements • They are “just” model elements too • They refer to elements from existing languages • Next section: metamodel, instantiation, navigation, concrete syntax, ...
Part 2: Traceability Models(a.k.a. correspondence graphs, weaving models, ...) Pieter Van Gorp, Dirk Janssens
Traceability:Related Work Unidirectionality of links: Not an issue for MoTMoTtransformation modeler, handled by engine Barbero, M, Del Fabro, MD, and Bézivin, J: Traceability and Provenance Issues in Global Model Management. In: 3rd ECMDA-Traceability Workshop. 2007. • Navigability Issues • “traceability in the large”… need for mega-modeling… but: MoTMoT observations: • Mainstream modeling languages (UML) have model elements for representing models • For DSLs: such elements can be provided by language designer • Therefore: no technical difference with “traceability in the small” MoTMoT: Metamodeling and transformation is enough
Traceability:Motivating Example • One UML model contains: • An analysis model, • A design model, • ... • Supports traceability “in the large” as well...
Several Correspondences Several Correspondences Input: Analysis Model Output: Design Model
Implicit creation of traceability links • Complete copy operation in ONE rewrite rule • Enables one to assess overall effect • Complexity can be managed using views (!) • Only specify WHAT is copied, don’t bother about traceability A LOT OF (IMPLICIT) TRACEABILITY DATA! • For Model, Class, Attribute, Enumeration, Association, AssociationEnd, ... nodes
Explicitnavigation across traceability links Non-navigability = handled by engine! Filter nodes from huge traceability model
Traceability: an example concrete syntax Generated by rule from previous slide Syntax is for demo purposes only Tool can automatically show “related elements”!
Lessons “Learned” • UML2CSP demo: • MoTMoT supports: • input/output models conforming to different MOF metamodels, • in-place, as well as out-place transformations, • … • useful for learning wide range of graph transfo tools • Traceability demo: • Implicit creation of traceability links when copying subgraphs • Story Diagrams abstract from navigability concerns, • Querying large traceability models, • Traceability links are ordinary model elements: • MOF metamodel • can be matched, created, deleted, copied, … • can be mapped to concrete syntax of choice
Potential Collaborations FUNDP extra template set KUL connect MoTMoT with ATL etc.