the semantics of partial model transformations
TRANSCRIPT
![Page 1: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/1.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
The Semantics of Partial ModelTransformations
Michalis Famelis, Rick Salay, and Marsha Chechik
University of Toronto
June 3rd, 2012,Models in Software Engineering Workshop at ICSE
1 / 27
![Page 2: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/2.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Introduction: Uncertainty
Uncertainty: pervasive in SE
Models with uncertainty:
– Represent choice among many possibilities
– Can be refined to many different classical models
Our goal:
Handle models with uncertainty in MDE
without having to remove uncertainty.
In this talk: Transformations of models with uncertainty
2 / 27
![Page 3: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/3.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Introduction: Transformations
Existing model (graph) transformations:
– Unambiguous model is assumed as input.
– When model contains uncertainty:
• either first remove uncertainty
– Premature commitment.– Reduced quality.
• or transform all alternatives.
– Hard to maintain.
3 / 27
![Page 4: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/4.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Motivating Example
4 / 27
![Page 5: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/5.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Motivating Example
4 / 27
![Page 6: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/6.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Motivating Example
4 / 27
![Page 7: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/7.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Motivating Example
4 / 27
![Page 8: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/8.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Motivating Example
4 / 27
![Page 9: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/9.jpg)
1 Introduction
2 Partial Models
3 Transforming Partial Models
4 “Lifted” Transformation Semantics
5 Checking Lifted Rules
6 Conclusion
![Page 10: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/10.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Partial Models
6 / 27
![Page 11: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/11.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Partial Models
6 / 27
![Page 12: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/12.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Partial Models
6 / 27
![Page 13: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/13.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Partial Models
6 / 27
![Page 14: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/14.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Semantics of Partial Models
7 / 27
![Page 15: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/15.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Semantics of Partial Models
7 / 27
![Page 16: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/16.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Semantics of Partial Models
7 / 27
![Page 17: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/17.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Semantics of Partial Models
7 / 27
![Page 18: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/18.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Goal of This Work
8 / 27
![Page 19: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/19.jpg)
1 Introduction
2 Partial Models
3 Transforming Partial Models
4 “Lifted” Transformation Semantics
5 Checking Lifted Rules
6 Conclusion
![Page 20: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/20.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Intuition
10 / 27
![Page 21: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/21.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Intuition
10 / 27
![Page 22: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/22.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Intuition
10 / 27
![Page 23: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/23.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Intuition
10 / 27
![Page 24: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/24.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Intuition
10 / 27
![Page 25: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/25.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Our approachSummarizing the intuition:
Correctness Criterion
Applying a transformation to a partial model M
should be the same as ifwe had created all its concretizations,
applied the transformation to each separately,and encoded the result as a partial model.
11 / 27
![Page 26: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/26.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Our approachSummarizing the intuition:
Correctness Criterion
Applying a transformation to a partial model Mshould be the same as if
we had created all its concretizations,
applied the transformation to each separately,and encoded the result as a partial model.
11 / 27
![Page 27: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/27.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Our approachSummarizing the intuition:
Correctness Criterion
Applying a transformation to a partial model Mshould be the same as if
we had created all its concretizations,applied the transformation to each separately,
and encoded the result as a partial model.
11 / 27
![Page 28: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/28.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Our approachSummarizing the intuition:
Correctness Criterion
Applying a transformation to a partial model Mshould be the same as if
we had created all its concretizations,applied the transformation to each separately,
and encoded the result as a partial model.
11 / 27
![Page 29: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/29.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Our approachSummarizing the intuition:
Correctness Criterion
Applying a transformation to a partial model Mshould be the same as if
we had created all its concretizations,applied the transformation to each separately,
and encoded the result as a partial model.
11 / 27
![Page 30: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/30.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Lifting Transformations
Q1: How do we transform M directly to N?
Q2: Are the concretizations of N exactly the models n1 . . . nk?
12 / 27
![Page 31: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/31.jpg)
1 Introduction
2 Partial Models
3 Transforming Partial Models
4 “Lifted” Transformation Semantics
5 Checking Lifted Rules
6 Conclusion
![Page 32: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/32.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Applying Rules to Partial Models
Q1: How do we transform M directly to N?
– Lifted semantics of transformations, using logic.
Q2: Are the concretizations of N exactly the models n1 . . . nk?
14 / 27
![Page 33: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/33.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 34: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/34.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 35: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/35.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 36: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/36.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 37: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/37.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 38: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/38.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 39: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/39.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Transfer Predicates
Represent MR ∗=⇒ N as:
ΦN = R(R,M,N) ∧ ΦM
R is a conjunction φ1 ∧ φ2 ∧ ...- One subformula at each application point:
15 / 27
![Page 40: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/40.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 1/2
(ΦLHS → ΦRHS) ∧ (¬ΦLHS → ΦNE )
• ΦLHS = c ∧ a ∧ ¬g ∧ ¬s
• ΦRHS = (c ′ ↔ c) ∧ (a′ ↔ a) ∧ (g ′ ↔ a) ∧ (s ′ ↔ a)
• ΦNE = (x ′ ↔ x)
16 / 27
![Page 41: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/41.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 42: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/42.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 43: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/43.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 44: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/44.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 45: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/45.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 46: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/46.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 47: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/47.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Example 2/2
After matching, grounding and simplifying:
R(R,M,N) = (Product′ ↔ Product) ∧ (Milk′ ↔ Milk)∧(A′ ↔ A) ∧ (B ′ ↔ B) ∧ (C ′ ↔ C)∧(D ′ ↔ D) ∧ (E ′ ↔ A) ∧ (F ′ ↔ A)∧(G ′ ↔ B) ∧ (H ′ ↔ B) ∧ (I ′ ↔ C)∧(J ′ ↔ C) ∧ (K ′ ↔ D) ∧ (L′ ↔ D)∧(gen Milk Product′ ↔ gen Milk Product)
17 / 27
![Page 48: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/48.jpg)
1 Introduction
2 Partial Models
3 Transforming Partial Models
4 “Lifted” Transformation Semantics
5 Checking Lifted Rules
6 Conclusion
![Page 49: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/49.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Testing Rule Application
Q1: How do we transform M directly to N?
Q2: Are the concretizations of N exactly the models n1 . . . nk?
– Check equivalence of encodings using SAT.
19 / 27
![Page 50: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/50.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 51: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/51.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 52: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/52.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 53: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/53.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 54: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/54.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 55: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/55.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 56: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/56.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Using a SAT Solver
20 / 27
![Page 57: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/57.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Example
21 / 27
![Page 58: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/58.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Example
21 / 27
![Page 59: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/59.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Example
21 / 27
![Page 60: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/60.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Example
21 / 27
![Page 61: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/61.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Checking Example
21 / 27
![Page 62: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/62.jpg)
1 Introduction
2 Partial Models
3 Transforming Partial Models
4 “Lifted” Transformation Semantics
5 Checking Lifted Rules
6 Conclusion
![Page 63: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/63.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Summary
Q1: How do we transform M directly to N?
– Lifted semantics of transformations, using logic.
Q2: Are the concretizations of N exactly the models n1 . . . nk?
– Check equivalence of encodings using SAT.
23 / 27
![Page 64: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/64.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Conclusion
Transforming models that contain uncertainty.
• Represent uncertainty using Partial Models.
• Lift transformation rules from classical to Partial Models.
• Check Correctness Criterion for the lifted transformation .
Next steps:
• Compositionally test Correctness Criterion.
• Systematically create Transfer Predicates using FOL.
• Handle expanding/contracting model vocabularies.
• Partial Models as an Adhesive HLR Category?
24 / 27
![Page 65: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/65.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Overall Picture
Overall research goal [MoDeVVa’11]:
• Handling uncertainty...• Partial models: sets of possibilities.• Syntactic “partiality” annotations.• Other kinds of partiality (“MAVO”) [FASE’12].
• ...throughout the software lifecycle.• Partial models as first-class artifacts.
(1) Reasoning [ICSE’12]
(2) Refinement [VOLT’12]
(3) Transformation
25 / 27
![Page 66: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/66.jpg)
Questions?
![Page 67: The Semantics of Partial Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022060108/554f479eb4c905b9508b463f/html5/thumbnails/67.jpg)
TheSemantics ofPartial ModelTransforma-
tions
M.Famelis,R.Salay,
M.Chechik,
Introduction
Partial Models
TransformingPartial Models
LiftedTransformSemantics
CheckingLifted Rules
Conclusion
Bibliography I
M. Famelis, Shoham Ben-David, Marsha Chechik, and Rick Salay.
“Partial Models: A Position Paper”.In Proceedings of MoDeVVa’11, pages 1–6, 2011.
Michalis Famelis, Marsha Chechik, and Rick Salay.
“Partial Models: Towards Modeling and Reasoning with Uncertainty”.In Proceedings of ICSE’12, 2012.
R. Salay, M. Chechik, and J. Gorzny.
“Towards a Methodology for Verifying Partial Model Refinements”.In Proceedings of VOLT’12, 2012.
R. Salay, M. Famelis, and M. Chechik.
“Language Independent Refinement using Partial Modeling”.In Proceedings of FASE’12, 2012.
27 / 27