Integrating a declarative with an imperative model transformation language
Download
1 / 23

Hybrid Transformation Modeling - PowerPoint PPT Presentation


  • 101 Views
  • Uploaded on

Integrating a Declarative with an Imperative Model Transformation Language. Hybrid Transformation Modeling. Pieter Van Gorp [email protected] Overview. Case Study Conceptual Model Robustness Model Imperative Approach Story Diagrams Flexible Too Low Level Declarative Approach

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Hybrid Transformation Modeling' - whilemina-good


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Integrating a declarative with an imperative model transformation language

Integrating a Declarative with an Imperative

Model Transformation Language

HybridTransformation Modeling

Pieter Van Gorp

[email protected]


Overview
Overview

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


Case study
Case Study

Conceptual Model

Robustness Model



Sample constraint informal version
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.


Overview1
Overview

Case Study

Imperative Approach

Story Diagrams

Declarative Approach

Hybrid Approach

Language Integration


Imperative approach story diagrams
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
Story Pattern: “Is the Class related to an Entity?”


Problem

Too low-level

Recurring Patterns

Story diagram for creating elements

Story diagram for incremental update

Story diagram for manual resolution

...

Problem

Can be abstracted by TGG rules..


Overview2
Overview

Case Study

Imperative Approach

Declarative Approach

TGG Rules

Hybrid Approach

Language Integration



Handling internal attribute types
Handling Internal Attribute Types


Handling External Attribute Types


Problem1
Problem

Overlapping Applicability

Need user decision to resolve


Overview3
Overview

Case Study

Imperative Approach

Declarative Approach

Hybrid Approach

Language Integration


Solution
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


Making tgg rules callable
Making TGG rules Callable

First State

Match nodes that are bound in the controlled TGG rule

Second State

Call to the controlled TGG rule


Controlled triple graph grammars
Controlled Triple Graph Grammars


Language integration
Language Integration

Case Study

Imperative Approach

Declarative Approach

Hybrid Approach

Language Integration


Metamodel merging vs mapping
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


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


Conclusions
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)


Thanks for your attention
Thanks for your Attention

Questions?

[email protected]

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


ad