Applying traceability and cloning techniques to compose input-destructive model transformations into an input-preserving chain

0

No comments posted yet

Comments

Slide 28

Note: when composing tracelinks at (d), you should take into account the traces generated by the cloning step at (a), so merge_links is a bit too simplistic on the next slides (would take another -:AD2AD-> link in the pattern when I do the cloning…

Slide 30

Possible answer: change merge_tracelinks_AD_PN_SC to merge_tracelinks_AD_AD_PN_SC and add a “-:AD2AD-> . ” between src:Node and “-:AN2SC->” in the LHS.

Slide 32

Possible answer: change merge_tracelinks_AD_PN_SC to merge_tracelinks_AD_AD_PN_SC and add a “-:AD2AD-> . ” between src:Node and “-:AN2SC->” in the LHS.

Slide 1

Applying traceability and cloning techniques to compose input-destructive model transformations into an input-preserving chain Pieter Van Gorp Assistant Professor (UD)     Information Systems Group, School of Industrial Engineering          Eindhoven University of Technology (TU/e), The Netherlands     http://is.ieis.tue.nl/staff/pvgorp/research/ 1st Workshop on Composition and Evolution of Model Transformations September 30, 2011 King's College, London, UK

Slide 2

Assets: mature modeling languages Special purpose translations Desirable: reuse translation algorithms Challenge: algorithms that destroy the input model input-preserving chain with traceability links desirable Contributions: use of trace composition use of model cloning evaluation of GT approach Evaluation (Case Study): PN2SC: input-destructive translation reuse in input-preserving AD2SC

Slide 3

Presentation Outline

Slide 4

Input-Destructive? [Bisztray et al.] Well-known Transformation Technique Comparison Study: UML2CSP

Slide 5

Input-Destructive? [Bisztray et al.] Well-known Transformation Technique Comparison Study: UML2CSP Conceptually NOT input-destructive But… …

Slide 6

UML2CSP: Comparing Approaches [AGTIVE 2007 Tool Contest] 11 Solution Approaches

Slide 7

UML2CSP: Comparing Approaches [AGTIVE 2007 Tool Contest] 6 Classification Features

Slide 8

UML2CSP: Input Destructive? Can be done differently, but what if we wish to reuse the input destructive ones (why: see other cells) This WS: Composition & Reuse (not about re-implementing as input-preserving…)

Slide 9

Presentation Outline

Slide 10

PN2SC: Input/Output Examples (1/3) Easy, right? No special rule control needed (ATL etc. are fine)

Slide 11

PN2SC: Input/Output Examples (2/3) More challenging… N levels of nested concurrent regions Unbalanced Fork/Join combinations (!) Special rule control needed (ATL etc. in trouble)

Slide 12

PN2SC: Input/Output Examples (3/3) Cross-synchronization “Semi-structured” flow Occurs in practice

Slide 13

Solution: bottom-up net reduction Consequence: Conceptual Mapping Rules are Input-Destructive Reuse Challenge! Eshuis, FM2010

Slide 14

Presentation Outline

Slide 15

Debug Sequence Goal: Understand Input Model Destruction

Slide 16

Presentation Outline

Slide 17

AD2SC: Input/Output Example Reuse of PN2SC highly desirable Chain also involves normalization and filtering steps How to support input-preservation and traceability?

Slide 18

AD2SC: Chain overview

Slide 19

AD2SC: Chain overview PN2SC Reuse New Rules

Slide 20

AD2SC: input-preserving, end2end traces Expected Effect

Slide 21

Presentation Outline

Slide 22

Debug Sequence (of filtering rules) Goal: Understand Input Model Destruction

Slide 23

Challenges, Revisited PN2SC subtransformation is input-destructive Good news: the Petri-Net is just an intermediate artifact Extra: the filtering rules are also input-destructive! Bad news: their input is the input of the chain

Slide 24

Presentation Outline

Slide 25

Challenges, as 2 Research Questions When intermediate models are destroyed, how can a composite transformation: preserve the complete input model? (RQ1) Application: input-destructive filtering rules support end-to-end traceability? (RQ2) Application: input-destructive PN2SC

Slide 26

Generic Solution Techniques: When an intermediate model is destroyed, clone it, if it is first in the chain Application: input-destructive filtering rules compose traceability links before destroying its elements (but obviously after creating corresponding output elements) Application: input-destructive PN2SC

Slide 27

Quiz

Slide 28

When to: (1) compose links, (2) clone models? (a) (b) (c) (d) (a): (2) (b): -- (c): -- (d): (1)

Slide 29

Presentation Outline

Slide 30

Implementation of Trace Composition Rule Definition Rule Orchestration

Slide 31

rule ActivityNode2Place { src:in!ActivityNode\(CentralBufferNode+ANDNode); modify { src -:traces!AN2PNE-> p: out!Place; eval { p.name= src.name; } } } Implementation of Cloning Not (yet) Implemented, since: Feedback to the GT community: Need explicit Model scope e.g., Matches ALL activity diagram elements Work-arounds are inferior to ATL/ETL/… in,traces,out are model variables bound in orchestration script (cfr., ATL/ETL run configurations)

Slide 32

Trace Composition, Revised Rule Definition Rule Orchestration Q: how to take into account that AD was cloned? Possible answer: change merge_tracelinks_AD_PN_SC to merge_tracelinks_AD_AD_PN_SC and add a “-:AD2AD-> . ” between “src:Node” and “-:AN2SC->” in the LHS.

Slide 33

Presentation Outline

Slide 34

Two techniques enable the composition of input-destructive transformations into input-preserving transformation chains with traceability support: Trace composition Intermediate model copies Evaluation of Graph Transformation Approach: Trace composition supported particularly well Copying intermediate models would benefit from improved scoping mechanism Questions? Le Penseur, Musée Rodin, Paris

Summary: Presentation given at the 1st Workshop on Composition and Evolution of Model Transformations, September 30, 2011 (King's College, London, UK)

Tags: uml "activity diagram" "statechart" "hierarchical statemachine" transformation reuse composition

URL:
More by this User
Most Viewed