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

Slides:



Advertisements
Similar presentations
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation.
Advertisements

Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Chapter 6: Entity-Relationship Model (part I)
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Biointelligence Lab School of Computer Sci. & Eng.
Propositional Predicate
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers Presentation by Patrick Kaleem Justin.
McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1.
Do now as a warm-up: Place an M&M in your mouth, but do NOT bite it. How is an M&M like a composite function? Write your answer on the index card. You.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
Alternative Approach to Systems Analysis Structured analysis
Winter 2004/5Pls – expresssion-lang – Catriel Beeri22 Informal Analysis Goal: prove the semantics is deterministic Stages: Values --- we know they have.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
Chapter 12: Expert Systems Design Examples
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Towards Distributed Diagnosis of Complex Physical Systems J. Gandhe Embedded & Hybrid Systems Laboratory, EECS Dept & ISIS, Vanderbilt University Collaborators:
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
What is the Chain? It’s a behavioral design pattern. It deals with how objects make requests and how they are handled.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 CMSC424, Spring 2005 CMSC424: Database Design Lecture 9.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Proof by Deduction. Deductions and Formal Proofs A deduction is a sequence of logic statements, each of which is known or assumed to be true A formal.
Function: Definition A function is a correspondence from a first set, called the domain, to a second set, called the range, such that each element in the.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
Gaussian Elimination, Rank and Cramer
Requirements Expression and Modelling
Exponential Functions Topic 2: Solving Exponential Functions.
Applying the Inspection Process. What Software Artifacts Are Candidates for Inspection? Software Requirements Software Designs Code Test Plans.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
Activity & Class Modeling Labs Discussion p3 T120B pavasario sem.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
Systems of Equations and Inequalities Systems of Linear Equations: Substitution and Elimination Matrices Determinants Systems of Non-linear Equations Systems.
UML-1 8. Capturing Requirements and Use Case Model.
T3: Enterprise Systems Modeling Fall 2013 Chin-Sheng Chen Florida International University.
ELIMINATING LEFT RECURSIVENESS. Abbreviation. “cfg” stands for “context free grammar” Definition. A cfg is left recursive if it contains a production.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Another CPS example: mathematical reasoning The problem: given a mathematical equation, find its solution. Problem space: nodes represent mathematical.
CSE Winter 2008 Introduction to Program Verification January 31 proofs through simplification.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Process Modeling
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CS 598 Scripting Languages Design and Implementation 9. Constant propagation and Type Inference.
Chapter 8 Relational Database Design. 2 Relational Database Design: Goals n Reduce data redundancy (undesirable replication of data values) n Minimize.
On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing Sagar Sen (1 st year PhD student), Benoit Baudry, Jean-Marie Mottu.
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
Modeling of Service Oriented Architecture: From Business Process to Service Realization Petr Weiss and Marek Rychlý Brno University of Technology, Faculty.
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
{P} ⊦ Q if and only if {P} ╞ Q
Scenario Integration via Higher-Order Graphs *)
Chapter 4 Advanced Class Modeling
Towards Automatic Model Synchronization from Model Transformation
CSc4730/6730 Scientific Visualization
Presentation transcript:

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

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

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

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

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

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 ?

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

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, a1:Package d2:EJBArchive3 a1:Package T

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

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

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.

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

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.

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

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

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

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

Towards Transformation Rule Composition MPM’10 UML  EJB2  EJB3 COMPOSITION UML Class Diagram TO EJB 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

Towards Transformation Rule Composition MPM’10 UML  EJB2  EJB3 COMPOSITION EJB 2.0 TO EJB 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:

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

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

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  =

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

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