SlideShare a Scribd company logo
1 of 67
Download to read offline
The
Semantics of
Partial Model
Transforma-
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,
                     The Semantics of Partial Model
Introduction

Partial Models
                           Transformations
Transforming
Partial Models

Lifted           Michalis Famelis, Rick Salay, and Marsha Chechik
Transform
Semantics
                                   University of Toronto
Checking
Lifted Rules

Conclusion                          June 3rd, 2012,
                      Models in Software Engineering Workshop at ICSE




                                                                        1 / 27
The
Semantics of
Partial Model
Transforma-
                                      Introduction: Uncertainty
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,      Uncertainty: pervasive in SE
Introduction

Partial Models   Models with uncertainty:
Transforming
Partial Models
                   – Represent choice among many possibilities
Lifted             – Can be refined to many different classical models
Transform
Semantics

Checking
Lifted Rules
                 Our goal:
Conclusion           Handle models with uncertainty in MDE
                     without having to remove uncertainty.

                 In this talk: Transformations of models with uncertainty



                                                                            2 / 27
The
Semantics of
Partial Model
Transforma-
                                 Introduction: Transformations
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,
                 Existing model (graph) transformations:
Introduction

Partial Models
                   – Unambiguous model is assumed as input.
Transforming
Partial Models

Lifted
                   – When model contains uncertainty:
Transform
Semantics
                        • either first remove uncertainty
Checking
Lifted Rules                 – Premature commitment.
Conclusion                   – Reduced quality.

                        • or transform all alternatives.
                             – Hard to maintain.




                                                                 3 / 27
The
Semantics of
Partial Model
Transforma-
                 Motivating Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                      4 / 27
The
Semantics of
Partial Model
Transforma-
                 Motivating Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                      4 / 27
The
Semantics of
Partial Model
Transforma-
                 Motivating Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                      4 / 27
The
Semantics of
Partial Model
Transforma-
                 Motivating Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                      4 / 27
The
Semantics of
Partial Model
Transforma-
                 Motivating Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                      4 / 27
1 Introduction


2 Partial Models


3 Transforming Partial Models


4 “Lifted” Transformation Semantics


5 Checking Lifted Rules


6 Conclusion
The
Semantics of
Partial Model
Transforma-
                 Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                  6 / 27
The
Semantics of
Partial Model
Transforma-
                 Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                  6 / 27
The
Semantics of
Partial Model
Transforma-
                 Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                  6 / 27
The
Semantics of
Partial Model
Transforma-
                 Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                  6 / 27
The
Semantics of
Partial Model
Transforma-
                 Semantics of Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               7 / 27
The
Semantics of
Partial Model
Transforma-
                 Semantics of Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               7 / 27
The
Semantics of
Partial Model
Transforma-
                 Semantics of Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               7 / 27
The
Semantics of
Partial Model
Transforma-
                 Semantics of Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               7 / 27
The
Semantics of
Partial Model
Transforma-
                 Goal of This Work
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                     8 / 27
1 Introduction


2 Partial Models


3 Transforming Partial Models


4 “Lifted” Transformation Semantics


5 Checking Lifted Rules


6 Conclusion
The
Semantics of
Partial Model
Transforma-
                 Intuition
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                             10 / 27
The
Semantics of
Partial Model
Transforma-
                 Intuition
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                             10 / 27
The
Semantics of
Partial Model
Transforma-
                 Intuition
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                             10 / 27
The
Semantics of
Partial Model
Transforma-
                 Intuition
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                             10 / 27
The
Semantics of
Partial Model
Transforma-
                 Intuition
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                             10 / 27
The
Semantics of
Partial Model
Transforma-
                                                   Our approach
    tions
                 Summarizing the intuition:
 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion
                        Applying a transformation to a partial model M




                                                                         11 / 27
The
Semantics of
Partial Model
Transforma-
                                                   Our approach
    tions
                 Summarizing the intuition:
 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion
                        Applying a transformation to a partial model M
                                   should be the same as if
                            we had created all its concretizations,




                                                                         11 / 27
The
Semantics of
Partial Model
Transforma-
                                                    Our approach
    tions
                 Summarizing the intuition:
 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion
                        Applying a transformation to a partial model M
                                    should be the same as if
                             we had created all its concretizations,
                         applied the transformation to each separately,


                                                                          11 / 27
The
Semantics of
Partial Model
Transforma-
                                                    Our approach
    tions
                 Summarizing the intuition:
 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion
                        Applying a transformation to a partial model M
                                    should 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
The
Semantics of
Partial Model
Transforma-
                                                    Our approach
    tions
                 Summarizing the intuition:
 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking         Correctness Criterion
Lifted Rules

Conclusion
                        Applying a transformation to a partial model M
                                    should 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
The
Semantics of
Partial Model
Transforma-
                                          Lifting Transformations
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion


                 Q1: How do we transform M directly to N?


                 Q2: Are the concretizations of N exactly the models n1 . . . nk ?


                                                                                12 / 27
1 Introduction


2 Partial Models


3 Transforming Partial Models


4 “Lifted” Transformation Semantics


5 Checking Lifted Rules


6 Conclusion
The
Semantics of
Partial Model
Transforma-
                             Applying Rules to Partial Models
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion

                 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
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                              Transfer Predicates
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,                    R ∗
                 Represent M =⇒ N as:
Introduction

Partial Models                       ΦN = R(R, M, N) ∧ ΦM
Transforming
Partial Models

Lifted
Transform
Semantics
                 R is a conjunction φ1 ∧ φ2 ∧ ...
Checking         - One subformula at each application point:
Lifted Rules

Conclusion




                                                                    15 / 27
The
Semantics of
Partial Model
Transforma-
                                               Example 1/2
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics                 (ΦLHS → ΦRHS ) ∧ (¬ΦLHS → ΦNE )
Checking
Lifted Rules

Conclusion       • ΦLHS = c ∧ a ∧ ¬g ∧ ¬s
                 • ΦRHS = (c ↔ c) ∧ (a ↔ a) ∧ (g ↔ a) ∧ (s ↔ a)
                 • ΦNE = (x ↔ x)




                                                                  16 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
The
Semantics of
Partial Model
Transforma-
                                                       Example 2/2
    tions

 M.Famelis,
  R.Salay,
                 After matching, grounding and simplifying:
 M.Chechik,
                       R(R, M, N)   = (Product ↔ Product) ∧ (Milk ↔ Milk)∧
Introduction                        (A ↔ A) ∧ (B ↔ B) ∧ (C ↔ C )∧
Partial Models                      (D ↔ D) ∧ (E ↔ A) ∧ (F ↔ A)∧
Transforming                        (G ↔ B) ∧ (H ↔ B) ∧ (I ↔ C )∧
Partial Models                      (J ↔ C ) ∧ (K ↔ D) ∧ (L ↔ D)∧
Lifted                              (gen Milk Product ↔ gen Milk Product)
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                                                             17 / 27
1 Introduction


2 Partial Models


3 Transforming Partial Models


4 “Lifted” Transformation Semantics


5 Checking Lifted Rules


6 Conclusion
The
Semantics of
Partial Model
Transforma-
                                        Testing Rule Application
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion

                 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
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Using a SAT Solver
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                               20 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                    21 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                    21 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                    21 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                    21 / 27
The
Semantics of
Partial Model
Transforma-
                 Checking Example
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion




                                    21 / 27
1 Introduction


2 Partial Models


3 Transforming Partial Models


4 “Lifted” Transformation Semantics


5 Checking Lifted Rules


6 Conclusion
The
Semantics of
Partial Model
Transforma-
                                                            Summary
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction

Partial Models

Transforming
Partial Models

Lifted
Transform
Semantics

Checking
Lifted Rules

Conclusion
                 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
The
Semantics of
Partial Model
Transforma-
                                                         Conclusion
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,
                 Transforming models that contain uncertainty.
Introduction       • Represent uncertainty using Partial Models.
Partial Models
                   • Lift transformation rules from classical to Partial Models.
Transforming
Partial Models     • Check Correctness Criterion for the lifted transformation .
Lifted
Transform
Semantics
                 Next steps:
Checking
Lifted Rules
                   • Compositionally test Correctness Criterion.
Conclusion
                   • Systematically create Transfer Predicates using FOL.
                   • Handle expanding/contracting model vocabularies.
                   • Partial Models as an Adhesive HLR Category?




                                                                               24 / 27
The
Semantics of
Partial Model
Transforma-
                                                         Overall Picture
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,
                 Overall research goal   [MoDeVVa’11]:
Introduction

Partial Models     • Handling uncertainty...
Transforming           • Partial models: sets of possibilities.
Partial Models
                       • Syntactic “partiality” annotations.
Lifted
Transform              • Other kinds of partiality (“MAVO”) [FASE’12].
Semantics

Checking
Lifted Rules
                   • ...throughout the software lifecycle.
Conclusion
                        • Partial models as first-class artifacts.
                            (1) Reasoning [ICSE’12]
                            (2) Refinement [VOLT’12]
                            (3) Transformation




                                                                           25 / 27
Questions?
The
Semantics of
Partial Model
Transforma-
                                                                    Bibliography I
    tions

 M.Famelis,
  R.Salay,
 M.Chechik,


Introduction
                 M. Famelis, Shoham Ben-David, Marsha Chechik, and Rick Salay.
Partial Models   “Partial Models: A Position Paper”.
                 In Proceedings of MoDeVVa’11, pages 1–6, 2011.
Transforming
Partial Models   Michalis Famelis, Marsha Chechik, and Rick Salay.
                 “Partial Models: Towards Modeling and Reasoning with Uncertainty”.
Lifted
                 In Proceedings of ICSE’12, 2012.
Transform
Semantics        R. Salay, M. Chechik, and J. Gorzny.
Checking         “Towards a Methodology for Verifying Partial Model Refinements”.
Lifted Rules     In Proceedings of VOLT’12, 2012.

Conclusion       R. Salay, M. Famelis, and M. Chechik.
                 “Language Independent Refinement using Partial Modeling”.
                 In Proceedings of FASE’12, 2012.




                                                                                      27 / 27

More Related Content

Recently uploaded

Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)
Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)
Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)beyonistskincare
 
Youthlab Indonesia Gen-Z Lifestyle Chart
Youthlab Indonesia Gen-Z Lifestyle ChartYouthlab Indonesia Gen-Z Lifestyle Chart
Youthlab Indonesia Gen-Z Lifestyle ChartYouthLab
 
10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway
10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway
10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar HealthywayAmit Kakkar Healthyway
 
Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝soniya singh
 
BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756
BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756
BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756dollysharma2066
 
《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》
《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》
《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》rnrncn29
 
Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000
Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000
Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000Sapana Sha
 
ETHICAL-THEORIES_MORAL-DELIBERATION.pptx
ETHICAL-THEORIES_MORAL-DELIBERATION.pptxETHICAL-THEORIES_MORAL-DELIBERATION.pptx
ETHICAL-THEORIES_MORAL-DELIBERATION.pptxRafaelBatulan
 
8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr
8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr
8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncrdollysharma2066
 
Virat Kohli Centuries In Career Age Awards and Facts.pdf
Virat Kohli Centuries In Career Age Awards and Facts.pdfVirat Kohli Centuries In Career Age Awards and Facts.pdf
Virat Kohli Centuries In Career Age Awards and Facts.pdfkigaya33
 
'the Spring 2024- popular Fashion trends
'the Spring 2024- popular Fashion trends'the Spring 2024- popular Fashion trends
'the Spring 2024- popular Fashion trendsTangledThoughtsCO
 
83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...
83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...
83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...dollysharma2066
 
Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝 97111⇛⇛47426
Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝  97111⇛⇛47426Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝  97111⇛⇛47426
Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝 97111⇛⇛47426jennyeacort
 
labradorite energetic gems for well beings.pdf
labradorite energetic gems for well beings.pdflabradorite energetic gems for well beings.pdf
labradorite energetic gems for well beings.pdfAkrati jewels inc
 
Uttoxeter & Cheadle Voice, Issue 122.pdf
Uttoxeter & Cheadle Voice, Issue 122.pdfUttoxeter & Cheadle Voice, Issue 122.pdf
Uttoxeter & Cheadle Voice, Issue 122.pdfNoel Sergeant
 
Manisha Rani Net Worth 2024 Biography.pdf
Manisha Rani Net Worth 2024 Biography.pdfManisha Rani Net Worth 2024 Biography.pdf
Manisha Rani Net Worth 2024 Biography.pdfkigaya33
 

Recently uploaded (20)

Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in New Friends Colony Delhi 💯Call Us 🔝8264348440🔝
 
Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)
Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)
Unlocking Radiant Skin: The Ultimate Skincare Guide( beyonist)
 
Youthlab Indonesia Gen-Z Lifestyle Chart
Youthlab Indonesia Gen-Z Lifestyle ChartYouthlab Indonesia Gen-Z Lifestyle Chart
Youthlab Indonesia Gen-Z Lifestyle Chart
 
10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway
10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway
10 Tips To Be More Disciplined In Life To Be Successful | Amit Kakkar Healthyway
 
Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Adarsh Nagar Delhi reach out to us at 🔝8264348440🔝
 
BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756
BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756
BOOK NIGHT-Call Girls In Noida City Centre Delhi ☎️ 8377877756
 
《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》
《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》
《QUT毕业文凭网-认证昆士兰科技大学毕业证成绩单》
 
Call Girls 9953525677 Call Girls In Delhi Call Girls 9953525677 Call Girls In...
Call Girls 9953525677 Call Girls In Delhi Call Girls 9953525677 Call Girls In...Call Girls 9953525677 Call Girls In Delhi Call Girls 9953525677 Call Girls In...
Call Girls 9953525677 Call Girls In Delhi Call Girls 9953525677 Call Girls In...
 
Stunning ➥8448380779▻ Call Girls In Jasola Vihar Delhi NCR
Stunning ➥8448380779▻ Call Girls In Jasola Vihar Delhi NCRStunning ➥8448380779▻ Call Girls In Jasola Vihar Delhi NCR
Stunning ➥8448380779▻ Call Girls In Jasola Vihar Delhi NCR
 
Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Chittaranjan Park Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000
Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000
Call Girls in Tughlakabad Delhi 9654467111 Shot 2000 Night 7000
 
ETHICAL-THEORIES_MORAL-DELIBERATION.pptx
ETHICAL-THEORIES_MORAL-DELIBERATION.pptxETHICAL-THEORIES_MORAL-DELIBERATION.pptx
ETHICAL-THEORIES_MORAL-DELIBERATION.pptx
 
8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr
8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr
8377877756 Full Enjoy @24/7 Call Girls In Mayur Vihar Delhi Ncr
 
Virat Kohli Centuries In Career Age Awards and Facts.pdf
Virat Kohli Centuries In Career Age Awards and Facts.pdfVirat Kohli Centuries In Career Age Awards and Facts.pdf
Virat Kohli Centuries In Career Age Awards and Facts.pdf
 
'the Spring 2024- popular Fashion trends
'the Spring 2024- popular Fashion trends'the Spring 2024- popular Fashion trends
'the Spring 2024- popular Fashion trends
 
83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...
83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...
83778-876O7, Cash On Delivery Call Girls In South- EX-(Delhi) Escorts Service...
 
Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝 97111⇛⇛47426
Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝  97111⇛⇛47426Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝  97111⇛⇛47426
Call In girls Delhi Safdarjung Enclave/WhatsApp 🔝 97111⇛⇛47426
 
labradorite energetic gems for well beings.pdf
labradorite energetic gems for well beings.pdflabradorite energetic gems for well beings.pdf
labradorite energetic gems for well beings.pdf
 
Uttoxeter & Cheadle Voice, Issue 122.pdf
Uttoxeter & Cheadle Voice, Issue 122.pdfUttoxeter & Cheadle Voice, Issue 122.pdf
Uttoxeter & Cheadle Voice, Issue 122.pdf
 
Manisha Rani Net Worth 2024 Biography.pdf
Manisha Rani Net Worth 2024 Biography.pdfManisha Rani Net Worth 2024 Biography.pdf
Manisha Rani Net Worth 2024 Biography.pdf
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

The Semantics of Partial Model Transformations

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