Data Refinement: model-oriented proof methods and their comparison
Willem-Paul de Roever
University of Kiel, Germany
SYNCHRON 2003 · Marseille-Luminy, France · December 1–5, 2003
1
Data Refinement: model-oriented proof methods and their comparison - - PowerPoint PPT Presentation
Data Refinement: model-oriented proof methods and their comparison Willem-Paul de Roever University of Kiel, Germany SYNCHRON 2003 Marseille-Luminy, France December 15, 2003 1 Overview Refinement Data refinement Simulation
University of Kiel, Germany
1
2
3
4
5
6
7
def
def
8
9
10
c by {Cj}j∈J
a by {Aj}j∈J
11
12
⊆
⊆ ⊆ ⊆ ⊆ ⊆ ⊆ ⊆
⊆ ⊆ ⊆ ⊆
13
14
15
16
17
18
19
20
21
22
23
predicate operation predicate
24
def
25
def
26
def
27
def
28
29
30
y0, ¯ b0)/(¯ x,¯ a)
31
32
a,¯ x
33
x × Σ¯ y, C[
x × Σ¯ z, with Σ¯ u def
y × Σ¯ z
34
def
35
def
36
def
37
38
0, a′ 0.(ρ[a′ 0/a] ∧ x′ 0 = x)[x′, c′/x, c] → (∃a.ρ ∧ ∀x0.ϕ[x′ 0, a′ 0/x, a] → ψ)
0/a] ∧ x′ 0 = x ∃a.ρ ∧ ∀x0.ϕ[x′ 0, a′ 0/x, a] → ψ
0/a] ∧ x′ 0 = x
0, a′ 0/x, a] → ψ
40
41
42
43
44
⊥, ⊇)
45
y0/¯ x] ∧ ∀ ¯
y0/¯ x] ⇒ ψ
46
47
. . . we must transform our program to replace the abstract variable by a concrete variable representing its value. To do this, we will use the following general method:
describes the relationship between the abstract and concrete variables.
that affects the representation invariant) is augmented with assignments to the concrete variables that re-establish the representation invariant (or achieve it, in case of an initialization).
assignment to an abstract variable is replaced by an expression that does not contain abstract variables but is guaranteed by the representation invariant to have the same value. The last step will render the abstract variables auxiliary, so that their declarations and assignments can be eliminated. [Reynolds 1981]
48
49
50
51
52
53
54
↼
↼
55
56
↼
↼
↼
57
58