Hybrid Transformation Modeling

download Hybrid Transformation Modeling

of 23

  • date post

    10-Jan-2016
  • Category

    Documents

  • view

    24
  • download

    1

Embed Size (px)

description

Integrating a Declarative with an Imperative Model Transformation Language. Hybrid Transformation Modeling. Pieter Van Gorp pieter.vangorp@ua.ac.be. Overview. Case Study Conceptual Model Robustness Model Imperative Approach Story Diagrams Flexible Too Low Level Declarative Approach - PowerPoint PPT Presentation

Transcript of Hybrid Transformation Modeling

  • HybridTransformation ModelingIntegrating a Declarative with an Imperative Model Transformation Language

    Pieter Van Gorppieter.vangorp@ua.ac.be

    *

    OverviewCase StudyConceptual ModelRobustness ModelImperative ApproachStory DiagramsFlexibleToo Low LevelDeclarative ApproachTriple Graph GrammarsCompactToo GenericHybrid ApproachStory Diagrams + TGG rulesExpressive and Compact

    Language IntegrationMetamodel Merging Metamodel Mapping

    *

    Case StudyConceptual ModelRobustness Model

    *

    UML Profiled Models as Graphs

    *

    Sample Constraint (Informal Version)All classes from the conceptual model should correspond to entities in the robustness model. Their attributes and attribute types should correspond. Both internal types and library types should be supported.

    *

    OverviewCase StudyImperative ApproachStory DiagramsDeclarative ApproachHybrid ApproachLanguage Integration

    *

    Imperative Approach:Story Diagrams 89 -- Evaluate whether each class in the conceptual model traces to 90 -- an entity in the robustness model 91 let eachClassTracesToAnEntity(): Boolean= 92 conceptualmodelTracesToRobustnessmodel() and -- rm not Undefined 93 allClassesFromModel(cm)->forAll(cmc| 94 allClassesFromModel(rm)->exists(rmc| 95 this.traceabilityLinks->select(oclIsKindOf(Class2Entity))->exists(l| 96 l.node->contains(cmc) and 97 l.node->contains(rmc) 98 ) 99 ) 100 )

    Any interaction pattern can be implemented: setFocus chooseAlternative ...

    *

    Story Pattern: Is the Class related to an Entity?

    *

    Too low-levelRecurring PatternsStory diagram for creating elementsStory diagram for incremental updateStory diagram for manual resolution... Problem

    *

    OverviewCase StudyImperative ApproachDeclarative ApproachTGG RulesHybrid ApproachLanguage Integration

    *

    Classes to Entities

    *

    Handling Internal Attribute Types

    *

    Handling External Attribute Types

    *

    ProblemOverlapping Applicability

    Need user decision to resolve

    *

    OverviewCase StudyImperative ApproachDeclarative ApproachHybrid ApproachLanguage Integration

    *

    SolutionAdding a rule with higher preferenceApplication condition: situation (6) or (8)Effects: user interactiondelegate to appropriate TGG ruleArbitrary user interaction and control flowsstory diagramsResulting language: HybridDeclarative: TGG rules fully supportedStaged: rules are orderedImperative: Calls & branches in rules

    *

    Making TGG rules CallableFirst StateMatch nodes that are bound in the controlled TGG ruleSecond StateCall to the controlled TGG rule

    *

    Controlled Triple Graph Grammars

    *

    Language IntegrationCase StudyImperative ApproachDeclarative ApproachHybrid ApproachLanguage Integration

    *

    Metamodel Merging VS MappingHybrid Language: TGGs merged with SDMAlternative: Strict mapping from TGGs to SDMWith traceability (=> bootstrap desirable?)User interaction implemented by manually completing the generated story diagramsDiscussion:What adds most value to the QVT approach?What is most readable?...Either approach would make TGGs more attractive than QVT

    *

    Related WorkATLNot bidirectional, which reduces the declarativeness of a called rule to... 0QVT: Also 2 layer language architectureMay not be possible to merge relational and operationalChoosing a TGG tool to extend...Darmstadt: advantage of JMI complianceWait for all operational rule derivations?Paderborn: advantage of completed incrementalityGenerate JMI wrappers?Aachen: advantage of alternative approach to user interactionStandard Compliance?Why not share what is no contribution anymore?

    *

    ConclusionsHybrid Language reconciles:Compactness of TGTSs withExpressiveness of Story DiagramsLanguage Engineering:Metamodel Merging:Advantage: no confusion about semantics of TGG rulesImplementation:Minimal modification to rule derivation strategy (add nodes)Metamodel Mapping:Advantage: no details on TGG levelImplementation: Rule derivation HOT needs to generate traceability linksNo hard guidelines (yet)

    *

    Thanks for your AttentionQuestions?pieter.vangorp@ua.ac.behttp://www.fots.ua.ac.be/~pvgorp/research/