Download presentation

Presentation is loading. Please wait.

Published byAliza Tomlinson Modified over 2 years ago

1
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation, and Design Lab MPM’10 Márk Asztalos, Eugene Syriani, Manuel Wimmer, and Marouane Kessentini

2
Towards Transformation Rule Composition MPM’10 OUTLINE Context Rule Composition Composability Criteria Composition Procedure Example: UML EJB 2.0 EJB 3.0 Conclusion 2

3
Towards Transformation Rule Composition MPM’10 CONTEXT 3 Enterprise Development Company RequirementsRequirementsDevelopmentDevelopmentDesignDesignMaintenanceMaintenance

4
Towards Transformation Rule Composition MPM’10 CONTEXT 4 Enterprise Development Company DevelopmentDevelopmentDesignDesign

5
Towards Transformation Rule Composition MPM’10 CONTEXT 5 Enterprise Development Company DevelopmentDevelopmentDesignDesign v2.0 v3.0

6
Towards Transformation Rule Composition MPM’10 AUTOMATICALLY IS IT POSSIBLE TO AUTOMATICALLY DERIVE T3? That is the question 6 UML meta-model EJB 3 meta-model EJB 2 meta-model T3 T1 T2 ?

7
Towards Transformation Rule Composition MPM’10 IS IT POSSIBLE TO AUTOMATICALLY DERIVE T3? In general this is a very hard task rule level Instead we will try to solve the problem at the rule level 7 a1:Package b2:EJBArchive2 a1:Package b3:DeployDesc T c1:EJBArchive2 d2:EJBArchive3 T a1:Package d2:EJBArchive3 a1:Package T T3 T1 T2 UML class TO EJB2 archive EJB2 archive TO EJB3 archive UML class TO EJB3 archive

8
Towards Transformation Rule Composition MPM’10 ASSUMPTIONS Transformation Chain 8 exogenous We assume an exogenous chain of transformations Rules of the transformations are algebraic graph transformation rules [1] traceability links Rules must produce traceability links such that every newly created element must have at least one trace link [1] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph Transformation. EATCS, Springer-Verlag, 2006. a1:Package d2:EJBArchive3 a1:Package T

9
Towards Transformation Rule Composition MPM’10 WHAT DO WE MEAN BY COMPOSITION? For any model m 1, m 2 = T 1 (m 1 ) and m 3 = T 2 (m 2 ) we define m’ = T 3 (m 1 ) = T 2 T 1 (m 1 ) such that: Soundness & Completeness: – m 1 is preserved in m’ – All elements produced by T 2 are present in m’ – m’ contains no other elements then those in m 3 Elimination: – No element from m 2 shall be present in m’ – No traceability link involving elements from MM 2 must be present in m’ Transitivity – If there is a trace link 12 between an element e 1 m 1 and an element e 2 in m 2 AND there is a trace link 23 between e 2 and an element e 3 m 3 Then there must be a trace link 13 m’ between e 1 and e 3 9

10
Towards Transformation Rule Composition MPM’10 ASSUMPTIONS Composability Criteria 10 Two rules (LHS 1, RHS 1 ) and (LHS 2, RHS 2 ) are composable if: Every element in LHS 2 that is part of MM 2 is present in RHS 1 a1:Package b2:EJBArchive2 a1:Package b3:DeployDesc T c1:EJBArchive2 d2:EJBArchive3 T

11
Towards Transformation Rule Composition MPM’10 RULE COMPOSITION PROCEDURE Composability Criteria The Composability Criteria specifies the pre-condition Composition Definition The Composition Definition specifies the post-condition In [1], Ehrig et. al. have proven that the composition of two graph transformation rules is possible 11 [1] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph Transformation. EATCS, Springer-Verlag, 2006.

12
Towards Transformation Rule Composition MPM’10 GRAPH TRANSFORMATION RULE APPLICATION 12 right left right left updownupdown right LKR G gLinkgLink gLink pLinkfLink left right left updownupdown H gLink pLinkfLink m If there exists an occurrence of L in G then replace it with R

13
Towards Transformation Rule Composition MPM’10 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’ = r 2 r 1 How to construct the L,K, and R parts of r’? 13 [1] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph Transformation. EATCS, Springer-Verlag, 2006.

14
Towards Transformation Rule Composition MPM’10 RULE COMPOSITION PROCEDURE Eliminate MM 2 elements and related trace links and compute transitive trace links 14 b2:EJBArchive2 a1:Package b3:DeployDesc a1,b2 d2:EJBArchive3 a1,b3 b2,d2 a1,d2

15
Towards Transformation Rule Composition MPM’10 RULE COMPOSITION PROCEDURE 15 a1:Package b2:EJBArchive2 a1:Package b3:DeployDesc T c1:EJBArchive2 d2:EJBArchive3 T r1:r1: r2:r2: E: b2:EJBArchive2 a1:Package T r3:r3: R3:R3: b2:EJBArchive2 a1:Package b3:DeployDesc T d2:EJBArchive3 T T T a1:Package d2:EJBArchive3 T b2:EJBArchive2 a1:Package T b2:EJBArchive2 a1:Package b3:DeployDesc T c1:EJBArchive2d2:EJBArchive3 T a1:Packaged2:EJBArchive3 T

16
Towards Transformation Rule Composition MPM’10 RULE COMPOSITION PROCEDURE Negative Application Conditions 16 If the NAC of r 1 corresponds to its RHS, then add a NAC to r 3 that corresponds to its RHS If the NAC of r 2 corresponds to its RHS, then it is taken into account when applying r 2 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

17
Towards Transformation Rule Composition MPM’10 SOLVING THE UML EJB2 EJB3 MIGRATION CASE 17 UML meta-model EJB 3 meta-model EJB 2 meta-model T3 T1 T2

18
Towards Transformation Rule Composition MPM’10 UML EJB2 EJB3 COMPOSITION UML Class Diagram TO EJB 2.0 18 a1:Package b2:EJBArchive2 a1:Package b3:DeployDesc T a1:Package b2:EJBArchive2 b3:DeployDesc isPersistent = true a4:Class a1:Package b2:EJBArchive2 b3:DeployDesc a4:Class name = a4.name b5:EntityBean name = a4.name b6:Interface b7:EntityEntry T T T a1:Package b2:EJBArchive2 b3:DeployDesc isPersistent = false a4:Class a1:Package b2:EJBArchive2 b3:DeployDesc a4:Class name = a4.name b5:SessionBean name = a4.name b6:Interface b7:SessionEntry isStateful = false T T T R1:R1: R2:R2: R3:R3: b2:EJBArchive2 a1:Package b3:DeployDesc T a1:Package b2:EJBArchive2 b3:DeployDesc a4:Class name = a4.name b5:EntityBean name = a4.name b6:Interface b7:EntityEntry T T a1:Package b2:EJBArchive2 b3:DeployDesc a4:Class name = a4.name b5:SessionBean name = a4.name b6:Interface b7:SessionEntry isStateful = false T T

19
Towards Transformation Rule Composition MPM’10 UML EJB2 EJB3 COMPOSITION EJB 2.0 TO EJB 3.0 19 R1:R1: R2:R2: R3:R3: c1:EJBArchive2 d2:EJBArchive3 c1:EJBArchive2 d2:EJBArchive3 c4:EntityBean c1:EJBArchive2 d2:EJBArchive3 c4:EntityBean d6:EntityBean d7:Interface name = c4.name c1:EJBArchive2 d2:EJBArchive3 c3:SessionBean c5:SessionEntry c1:EJBArchive2 d2:EJBArchive3 c3:SessionBean c5:SessionEntry d6:SessionBean d7:Interface d8:Stateless isStateful = false name = c3.name T T T T T T T c1:EJBArchive2 d2:EJBArchive3 c3:SessionBean c5:SessionEntry c1:EJBArchive2 d2:EJBArchive3 c3:SessionBean c5:SessionEntry d6:SessionBean d7:Interface d8:Stateful isStateful = true name = c3.name T T T c1:EJBArchive2d2:EJBArchive3 T c1:EJBArchive2 d2:EJBArchive3 c4:EntityBean d6:EntityBean d7:Interface name = c4.name T T c1:EJBArchive2 d2:EJBArchive3 c3:SessionBean c5:SessionEntry d6:SessionBean d7:Interface d8:Stateless name = c3.name T T c1:EJBArchive2 d2:EJBArchive3 c3:SessionBean c5:SessionEntry d6:SessionBean d7:Interface d8:Stateful name = c3.name T T R4:R4:

20
Towards Transformation Rule Composition MPM’10 UML EJB2 EJB3 COMPOSITION Composability Matrix 20 T 2 T 1 T 2 :R 1 T 2 :R 2 T 2 :R 3 T 2 :R 4 T 1 :R 1 YESNO T 1 :R 2 YES NO T 1 :R 3 YESNOYESNO

21
Towards Transformation Rule Composition MPM’10 UML EJB2 EJB3 COMPOSITION T 3 :R 1 = T 2 :R 1 T 1 :R 1 21 a1:Package d2:EJBArchive3 a1:Package T d2:EJBArchive3 a1:Package T = b2:EJBArchive2 a1:Package b3:DeployDesc T b2:EJBArchive2 a1:Package b3:DeployDesc T c1:EJBArchive2 d2:EJBArchive3 T c1:EJBArchive2d2:EJBArchive3 T

22
Towards Transformation Rule Composition MPM’10 c1:EJBArchive2 d2:EJBArchive3 c4:EntityBean c1:EJBArchive2 d2:EJBArchive3 c4:EntityBean d6:EntityBean d7:Interface name = c4.name T T T c1:EJBArchive2 d2:EJBArchive3 c4:EntityBean d6:EntityBean d7:Interface name = c4.name T T UML EJB2 EJB3 COMPOSITION T 3 :R 2 = T 2 :R 2 T 1 :R 2 22 =

23
Towards Transformation Rule Composition MPM’10 UML EJB2 EJB3 COMPOSITION T 3 :R 3 = T 2 :R 3 T 1 :R 3 23 =

24
Towards Transformation Rule Composition MPM’10 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,...) 24

Similar presentations

Presentation is loading. Please wait....

OK

Biointelligence Lab School of Computer Sci. & Eng.

Biointelligence Lab School of Computer Sci. & Eng.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on scramjet engines Ppt on panel discussion Ppt on object-oriented programming concepts php Ppt on carbon and its compounds class Ppt on lower federal court systems Ppt on email etiquette Ppt on hydroelectric power generation Ppt on road accidents in kenya Ppt on inertial frame of reference Ppt on game theory applications