The Semantics of Partial Model Transformations

67
The Semantics of Partial Model Transforma- tions M.Famelis , R.Salay, M.Chechik, Introduction Partial Models Transforming Partial Models Lifted Transform Semantics Checking Lifted Rules Conclusion The Semantics of Partial Model Transformations Michalis Famelis , Rick Salay, and Marsha Chechik University of Toronto June 3rd, 2012, Models in Software Engineering Workshop at ICSE 1 / 27

Transcript of The Semantics of Partial Model Transformations

Page 1: The Semantics of Partial Model Transformations

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Questions?

Page 67: The Semantics of Partial Model Transformations

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