Towards transformation rule composition
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Towards Transformation Rule Composition PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on
  • Presentation posted in: General

Towards Transformation Rule Composition. Márk Asztalos, Eugene Syriani , Manuel Wimmer, and Marouane Kessentini. Outline. Context Rule Composition Composability Criteria Composition Procedure Example: UML  EJB 2.0  EJB 3.0 Conclusion. Context. Enterprise Development Company.

Download Presentation

Towards Transformation Rule Composition

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


Towards transformation rule composition

Towards Transformation Rule Composition

Márk Asztalos, Eugene Syriani,Manuel Wimmer, and MarouaneKessentini


Outline

Outline

  • Context

  • Rule Composition

    • Composability Criteria

    • Composition Procedure

  • Example: UML  EJB 2.0  EJB 3.0

  • Conclusion


Context

Context

Enterprise Development Company

Requirements

Design

Development

Maintenance


Context1

Context

Enterprise Development Company

Design

Development


Context2

Context

Enterprise Development Company

Design

Development

v2.0

v3.0


Is it possible to automatically derive t3 that is the question

Is it possible to automatically derive T3?That is the question

EJB 3 meta-model

UML meta-model

?

T3

T1

T2

EJB 2 meta-model


Is it possible to automatically derive t3

Is it possible to automatically derive T3?

  • In general this is a very hard task

  • Instead we will try to solve the problem at the rule level

UML class TO EJB2 archive

b2:EJBArchive2

a1:Package

a1:Package

T

T3

b3:DeployDesc

UML class TO EJB3 archive

c1:EJBArchive2

d2:EJBArchive3

c1:EJBArchive2

T

T1

T2

a1:Package

a1:Package

d2:EJBArchive3

T

EJB2 archive TO EJB3 archive


Assumptions

Assumptions

Transformation Chain

  • We assume an exogenous chain of transformations

  • Rules of the transformations are algebraic graph transformation rules [1]

  • Rules must produce traceability links such that every newly created element must have at least one trace link

a1:Package

a1:Package

d2:EJBArchive3

T

[1] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph Transformation.EATCS, Springer-Verlag, 2006.


What do we mean by composition

What do we mean by composition?

For any model m1, m2 = T1(m1) and m3 = T2(m2) we definem’ = T3(m1) = T2  T1(m1) such that:

  • Soundness & Completeness:

    • m1 is preserved in m’

    • All elements produced by T2 are present in m’

    • m’ contains no other elements then those in m3

  • Elimination:

    • No element from m2 shall be present in m’

    • No traceability link involving elements from MM2 must be present in m’

  • Transitivity

    • If there is a trace link 12 between an element e1  m1 and an element e2 in m2AND there is a trace link 23 between e2 and an element e3  m3Then there must be a trace link 13  m’ between e1 and e3


Assumptions1

Assumptions

Composability Criteria

Two rules (LHS1 , RHS1) and (LHS2 , RHS2) are composable if:

Every element in LHS2 that is part of MM2 is present in RHS1

b2:EJBArchive2

a1:Package

a1:Package

T

b3:DeployDesc

c1:EJBArchive2

d2:EJBArchive3

c1:EJBArchive2

T


Rule composition procedure

Rule Composition Procedure

  • The Composability Criteria specifies the pre-condition

  • The Composition Definition specifies the post-condition

  • In [1], Ehrig et. al. have proven that the composition of two graph transformation rules is possible

[1] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph Transformation.EATCS, Springer-Verlag, 2006.


Graph transformation rule application

Graph Transformation Rule Application

L

R

K

gLink

gLink

right

right

m

right

gLink

right

gLink

left

up

down

up

down

left

right

up

down

up

down

right

pLink

fLink

left

pLink

fLink

G

left

H

If there exists an occurrence of L in G then replace it with R


Rule composition procedure1

Rule Composition Procedure

  • In [1], Ehrig et. al. have proven that the composition of two graph transformation rules is possible

    • By computing the so-called E-concurrent graph of the two rules

  • BUT the theorem does not say how to precisely construct the new rule

    r’ = r2 r1

  • How to construct the L,K, and R parts of r’?

[1] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph Transformation.EATCS, Springer-Verlag, 2006.


Rule composition procedure2

Rule Composition Procedure

Eliminate MM2 elements and related trace links and compute transitive trace links

b2:EJBArchive2

d2:EJBArchive3

a1,b2

b2,d2

a1:Package

a1,d2

b3:DeployDesc

a1,b3


Rule composition procedure3

Rule Composition Procedure

E:

T

a1:Package

d2:EJBArchive3

R3:

b2:EJBArchive2

b2:EJBArchive2

b2:EJBArchive2

b2:EJBArchive2

r1:

a1:Package

a1:Package

a1:Package

a1:Package

a1:Package

T

T

T

T

b3:DeployDesc

b3:DeployDesc

b2:EJBArchive2

T

T

r2:

c1:EJBArchive2

c1:EJBArchive2

c1:EJBArchive2

d2:EJBArchive3

d2:EJBArchive3

T

T

a1:Package

d2:EJBArchive3

T

b3:DeployDesc

T

r3:

  • a1:Package

  • a1:Package

d2:EJBArchive3

T


Rule composition procedure4

Rule Composition Procedure

Negative Application Conditions

  • If the NAC of r1 corresponds to its RHS, then add a NAC to r3 that corresponds to its RHS

  • If the NAC of r2 corresponds to its RHS, then it is taken into account when applying r2 on E

  • Considering other arbitrary NACs is not trivial, as they can be

    • Overlapping with the LHS

    • Completely independent from the LHS

      In either case, need knowledge of other rules involved


Solving the uml ejb2 ejb3 migration case

Solving the UMLEJB2 EJB3 migration case

EJB 3 meta-model

UML meta-model

T3

T1

T2

EJB 2 meta-model


Uml ejb2 ejb3 composition

UMLEJB2 EJB3 Composition

UML Class Diagram TO EJB 2.0

b2:EJBArchive2

b2:EJBArchive2

R1:

a1:Package

a1:Package

a1:Package

T

T

b3:DeployDesc

b3:DeployDesc

a4:Class

b6:Interface

b5:SessionBean

b6:Interface

b6:Interface

b5:SessionBean

b6:Interface

b5:EntityBean

a4:Class

b5:EntityBean

b2:EJBArchive2

b2:EJBArchive2

name = a4.name

name = a4.name

name = a4.name

name = a4.name

isPersistent = false

isPersistent = true

name = a4.name

name = a4.name

name = a4.name

name = a4.name

T

T

b2:EJBArchive2

b3:DeployDesc

b3:DeployDesc

a1:Package

a1:Package

T

b7:EntityEntry

b7:EntityEntry

R2:

b3:DeployDesc

a1:Package

a4:Class

a4:Class

T

T

b2:EJBArchive2

b2:EJBArchive2

T

T

b2:EJBArchive2

b3:DeployDesc

b3:DeployDesc

a1:Package

a1:Package

T

b7:SessionEntry

b7:SessionEntry

b3:DeployDesc

R3:

isStateful = false

isStateful = false

a1:Package

a4:Class

T

a4:Class

T


Uml ejb2 ejb3 composition1

UMLEJB2 EJB3 Composition

EJB 2.0 TO EJB 3.0

R1:

c1:EJBArchive2

d2:EJBArchive3

c1:EJBArchive2

c1:EJBArchive2

d2:EJBArchive3

T

T

d2:EJBArchive3

T

d2:EJBArchive3

T

d2:EJBArchive3

T

c1:EJBArchive2

c1:EJBArchive2

d6:EntityBean

R2:

d6:EntityBean

name = c4.name

c1:EJBArchive2

name = c4.name

c4:EntityBean

T

c4:EntityBean

T

d7:Interface

d7:Interface

c4:EntityBean

name = c4.name

name = c4.name

d2:EJBArchive3

d2:EJBArchive3

T

d2:EJBArchive3

T

T

d6:SessionBean

d6:SessionBean

c1:EJBArchive2

c1:EJBArchive2

c1:EJBArchive2

R3:

name = c3.name

name = c3.name

c3:SessionBean

d7:Interface

c3:SessionBean

d7:Interface

c3:SessionBean

T

T

name = c3.name

name = c3.name

c5:SessionEntry

c5:SessionEntry

c5:SessionEntry

d8:Stateless

isStateful = false

d8:Stateless

d2:EJBArchive3

T

d2:EJBArchive3

d2:EJBArchive3

T

T

d6:SessionBean

d6:SessionBean

c1:EJBArchive2

c1:EJBArchive2

R4:

c1:EJBArchive2

name = c3.name

name = c3.name

d7:Interface

c3:SessionBean

c3:SessionBean

d7:Interface

c3:SessionBean

T

T

name = c3.name

name = c3.name

c5:SessionEntry

c5:SessionEntry

d8:Stateful

c5:SessionEntry

d8:Stateful

isStateful = true


Uml ejb2 ejb3 composition2

UMLEJB2 EJB3 Composition

Composability Matrix


Uml ejb2 ejb3 composition3

UMLEJB2 EJB3 Composition

T3:R1 = T2:R1 T1:R1

b2:EJBArchive2

b2:EJBArchive2

c1:EJBArchive2

d2:EJBArchive3

c1:EJBArchive2

c1:EJBArchive2

d2:EJBArchive3

T

T

a1:Package

a1:Package

a1:Package

T

T

b3:DeployDesc

b3:DeployDesc

=

a1:Package

d2:EJBArchive3

a1:Package

d2:EJBArchive3

a1:Package

T

T


Uml ejb2 ejb3 composition4

UMLEJB2 EJB3 Composition

T3:R2 = T2:R2 T1:R2

d2:EJBArchive3

T

d2:EJBArchive3

T

d2:EJBArchive3

T

c1:EJBArchive2

c1:EJBArchive2

d6:EntityBean

d6:EntityBean

name = c4.name

c1:EJBArchive2

name = c4.name

c4:EntityBean

T

c4:EntityBean

T

d7:Interface

d7:Interface

c4:EntityBean

name = c4.name

name = c4.name

=


Uml ejb2 ejb3 composition5

UMLEJB2 EJB3 Composition

T3:R3 = T2:R3 T1:R3

=


Conclusion

Conclusion

  • Composition procedure

    • Given two transformation rules

    • Produces the composite of the two rules (transitive closure)

  • Composition detection

  • Implemented in

    • ATL: compiled to graph transformation rules

    • EMF Tiger:

      • detect composable rules

      • Output the composite rule

  • How to deal with more complex transformation?

    • Arbitrary NACs

    • Arbitrary attribute constraints

    • Workflow structure (priority, layer, explicit control flow, ...)


  • Login