Download - Hybrid Transformation Modeling

Transcript
Page 1: Hybrid Transformation Modeling

HybridTransformation ModelingIntegrating a Declarative with an Imperative

Model Transformation Language

Pieter Van [email protected]

Page 2: Hybrid Transformation Modeling

2

OverviewCase 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

Page 3: Hybrid Transformation Modeling

3

Case Study

Conceptual Model

Robustness Model

Page 4: Hybrid Transformation Modeling

4UML Profiled Models as Graphs

Page 5: Hybrid Transformation Modeling

5

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.

Page 6: Hybrid Transformation Modeling

6

Overview

• Case Study• Imperative Approach

- Story Diagrams

• Declarative Approach• Hybrid Approach• Language Integration

Page 7: Hybrid Transformation Modeling

7

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

Page 8: Hybrid Transformation Modeling

8

Story Pattern: “Is the Class related to an Entity?”

Page 9: Hybrid Transformation Modeling

9

Can be abstracted by TGG rules..

• Too low-level• Recurring Patterns

- Story diagram for creating elements- Story diagram for incremental update- Story diagram for manual resolution- ...

Problem

Page 10: Hybrid Transformation Modeling

10

Overview

• Case Study• Imperative Approach• Declarative Approach

- TGG Rules

• Hybrid Approach• Language Integration

Page 11: Hybrid Transformation Modeling

11

Classes to Entities

Page 12: Hybrid Transformation Modeling

12

Handling Internal Attribute Types

Page 13: Hybrid Transformation Modeling

13

Handling External Attribute Types

Page 14: Hybrid Transformation Modeling

14

Problem

• Overlapping Applicability

• Need user decision to resolve

Page 15: Hybrid Transformation Modeling

15

Overview

• Case Study• Imperative Approach• Declarative Approach• Hybrid Approach• Language Integration

Page 16: Hybrid Transformation Modeling

16

Solution• 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

Page 17: Hybrid Transformation Modeling

17

Making TGG rules Callable

• First State- Match nodes that are bound in the controlled TGG rule

• Second State- Call to the controlled TGG rule

Page 18: Hybrid Transformation Modeling

18

Controlled Triple Graph Grammars

Page 19: Hybrid Transformation Modeling

19

Language Integration

• Case Study• Imperative Approach• Declarative Approach• Hybrid Approach• Language Integration

Page 20: Hybrid Transformation Modeling

20

Metamodel Merging VS Mapping

• Hybrid Language: TGGs merged with SDM• Alternative: Strict mapping from TGGs to SDM

- With traceability (=> 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

Page 21: Hybrid Transformation Modeling

21

Related 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?

Page 22: Hybrid Transformation Modeling

22

Conclusions• 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 <<bound>> nodes)

- Metamodel Mapping:• Advantage: no “details” on TGG level• Implementation:

- Rule derivation HOT needs to generate traceability links

- No hard guidelines (yet)

Page 23: Hybrid Transformation Modeling

23

Thanks for your Attention

[email protected]

http://www.fots.ua.ac.be/~pvgorp/research/