Title: Hybrid Transformation Modeling
1HybridTransformation Modeling
- Integrating a Declarative with an Imperative
- Model Transformation Language
Pieter Van Gorp pieter.vangorp_at_ua.ac.be
2Overview
- Case Study
- Conceptual Model
- Robustness Model
- Imperative Approach
- Story Diagrams
- Flexible
- Too Low Level
- Declarative Approach
- Triple Graph Grammars
- Compact
- Too Generic
- Hybrid Approach
- Story Diagrams TGG rules
- Expressive and Compact
- Language Integration
- Metamodel Merging
- Metamodel Mapping
3Case Study
Conceptual Model
Robustness Model
4UML Profiled Models as Graphs
5Sample 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.
6Overview
- Case Study
- Imperative Approach
- Story Diagrams
- Declarative Approach
- Hybrid Approach
- Language Integration
7Imperative ApproachStory Diagrams
- Any interaction pattern can be implemented
- setFocus
- chooseAlternative
- ...
- 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)-gtforAll(cmc
- 94 allClassesFromModel(rm)-gtexists(rmc
- 95 this.traceabilityLinks-gtselect(oclIsKi
ndOf(Class2Entity))-gtexists(l - 96 l.node-gtcontains(cmc) and
- 97 l.node-gtcontains(rmc)
- 98 )
- 99 )
- 100 )
8Story Pattern Is the Class related to an
Entity?
9Problem
- Too low-level
- Recurring Patterns
- Story diagram for creating elements
- Story diagram for incremental update
- Story diagram for manual resolution
- ...
10Overview
- Case Study
- Imperative Approach
- Declarative Approach
- TGG Rules
- Hybrid Approach
- Language Integration
11Classes to Entities
12Handling Internal Attribute Types
13Handling External Attribute Types
14Problem
- Overlapping Applicability
- Need user decision to resolve
15Overview
- Case Study
- Imperative Approach
- Declarative Approach
- Hybrid Approach
- Language Integration
16Solution
- Adding a rule with higher preference
- Application condition situation (6) or (8)
- Effects
- user interaction
- delegate to appropriate TGG rule
- Arbitrary user interaction and control flows
- story diagrams
- Resulting language Hybrid
- Declarative
- TGG rules fully supported
- Staged rules are ordered
- Imperative
- Calls branches in rules
17Making TGG rules Callable
- First State
- Match nodes that are bound in the controlled TGG
rule - Second State
- Call to the controlled TGG rule
18Controlled Triple Graph Grammars
19Language Integration
- Case Study
- Imperative Approach
- Declarative Approach
- Hybrid Approach
- Language Integration
20Metamodel Merging VS Mapping
- Hybrid Language TGGs merged with SDM
- Alternative Strict mapping from TGGs to SDM
- With traceability (gt bootstrap desirable?)
- User interaction implemented by manually
completing the generated story diagrams - Discussion
- What adds most value to the QVT approach?
- What is most readable?
- ...
Either approach would make TGGs more attractive
than QVT
21Related Work
- ATL
- Not bidirectional, which reduces the
declarativeness of a called rule to... 0 - QVT
- Also 2 layer language architecture
- May not be possible to merge relational and
operational
- Choosing a TGG tool to extend...
- Darmstadt advantage of JMI compliance
- Wait for all operational rule derivations?
- Paderborn advantage of completed incrementality
- Generate JMI wrappers?
- Aachen advantage of alternative approach to user
interaction - Standard Compliance?
- Why not share what is no contribution anymore?
22Conclusions
- Hybrid Language reconciles
- Compactness of TGTSs with
- Expressiveness of Story Diagrams
- Language Engineering
- Metamodel Merging
- Advantage no confusion about semantics of TGG
rules - Implementation
- Minimal modification to rule derivation strategy
(add ltltboundgtgt nodes) - Metamodel Mapping
- Advantage no details on TGG level
- Implementation
- Rule derivation HOT needs to generate
traceability links - No hard guidelines (yet)
23Thanks for your Attention
- Questions?
- pieter.vangorp_at_ua.ac.be
- http//www.fots.ua.ac.be/pvgorp/research/