27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

the set of all actions.<br />

(4) VP I , VO P and VH P are disjoint sets of input, output, and<br />

internal variables, respectively. We denote by V P = VP I ∪ VO P ∪<br />

VP<br />

H the set of all variables.<br />

(5) FP S is a map, which maps any state in S P to a state schema<br />

in Z language. Intuitively, for any state s, FP S (s) specifies the<br />

data structure properties of all the variables in the state s.<br />

(6) FP A is a map, which maps any input action in AI P to an<br />

input operation schema in Z language, and maps any output<br />

action in A O P to an output operation schema in Z language, and<br />

maps any internal action in A H P to an internal operation schema<br />

in Z language. Intuitively, for any action a, FP A (a) specifies the<br />

data structure properties of all the variables before and after<br />

performing action a.<br />

(7) G IA<br />

P is a map, which maps any input action in AI P to a<br />

set of input variables. Intuitively, an input action a inputs all<br />

the input variables in G IA<br />

P (a). For any input action a, GIA P (a) ⊆<br />

V I (FP A(a)).<br />

(8) G OA<br />

P is a map, which maps any output action in AI P to a<br />

set of output variables. Intuitively, an output action a outputs<br />

all the output variables in G OA<br />

P (a). For any output action a,<br />

G OA<br />

P (a) ⊆ VO (FP A(a)).<br />

(9) A □ P , A♦ P ⊆ AI P ∪AO P , where A□ P is the set of must actions,<br />

and A ♦ P is the set of may actions.<br />

(10) VP □, V♦ P ⊆ VI P ∪ VO P , where V□ P is the set of must<br />

variables, and V ♦ P is the set of may variables.<br />

(11) T P is the set of transitions between states, T P ⊆ S P ×<br />

A P × S P .If(s, a, t) ∈ T P then ((FP S(s) ∧ FA P (a))\(x 1, ..., x m ) ⇔<br />

FP S(t)[y′ 1/y 1 , ..., y ′ n/y n ]) is a tautology, where {x 1 , ..., x m } is<br />

the set of the variables in FP S(s), {y 1, ..., y n } is the set of the<br />

variables in FP S(t), the set of variables in FA P (a) is the subset<br />

of {x 1 , ..., x m }∪{y ′ 1, ..., y ′ n}.<br />

An action a ∈ A P is enabled at a state s ∈ V P if there<br />

is a step (s, a, s ′ ) ∈ T P for some s ∈ S P . We indicate by<br />

A I P (s), AO P (s), AH P (s) the subsets of input, output and internal<br />

actions that are enabled at the state s and we let A P (s) =<br />

A I P (s) ∪ AO P (s) ∪ AH P (s).<br />

In the following, we call a a must (may) action if a ∈ A □ P<br />

(a ∈ A ♦ P ), and call x a must (may) action if a ∈ V□ P<br />

(a ∈ V ♦ P ). A must action (variable) can be regarded as a<br />

necessary action (variable), i.e., an action (a variable) which<br />

must be included in the implementation, and a may action<br />

(variable) can be regarded as a possible action (variable), i.e.,<br />

an action (a variable) which may be or may not be included<br />

in the implementation. Another usefulness of must actions<br />

(variables) and may actions (variables) is in the abstraction<br />

of systems. In general, abstraction in model checking falls<br />

into three types, depending on the approximation relations<br />

between concrete and abstract models and property preservation<br />

relations for temporal properties. One type is abstraction<br />

methods that support both verification and refutation of program<br />

properties in the same framework, which we refer to<br />

as exact-approximation. In the over-approximation abstraction<br />

framework [6], an abstract model contains more behaviors than<br />

the original program. The dual of this framework is underapproximation<br />

[13]. In this case, an abstract model contains<br />

less behaviors than the original one. In the following definition<br />

of modal refinement relation of modal ZIAs, must actions<br />

(variables) provide the over-approximation method of actions<br />

(variables), and may actions (variables) provide the underapproximation<br />

method of actions (variables).<br />

B. Modal Refinement Relation<br />

The modal refinement relation aims at formalizing the<br />

relation between abstract and concrete versions of the same<br />

component, for example, between a specification and its implementation.<br />

Roughly, a modal ZIA P refines a modal ZIA Q if all the<br />

must actions of P can be simulated by Q and all the may<br />

actions of Q can be simulated by P. To define this concept,<br />

we need some preliminary notions.<br />

In the following, we use V ♦ (A) to denote the set of may<br />

variables in Z schema A, V □ (A) to denote the set of must<br />

variables in Z schema A, and V ⊗ (A) to denote the set of other<br />

variables in Z schema A.<br />

In order to define the modal refinement relation between Z<br />

schemas, we need the following notation.<br />

Definition 2. Consider two Z schemas A and B with<br />

V ♦ (A) =V ♦ (B), V □ (A) =V □ (B) and V ⊗ (A) =V ⊗ (B) =∅.<br />

We use the notation A ≥ B if one of the following cases holds:<br />

(1) If V ♦ (A) ≠ ∅ and V □ (A) ≠ ∅ then given an assignment<br />

ρ on V ♦ (A), for any assignment σ on V □ (A), ρ ∪ σ |=<br />

A implies ρ ∪ σ |= B, and given an assignment σ on V □ (A),<br />

for any assignment ρ on V ♦ (A), ρ∪σ |= B implies ρ∪σ |= A,<br />

where ρ |= A means that A is true under assignment ρ, ρ ∪ σ<br />

is the union of ρ and σ.<br />

(2) If V ♦ (A) ≠ ∅ and V □ (A) =∅ then for any assignment<br />

ρ on V ♦ (A), ρ|= B implies ρ |= A.<br />

(3) If V ♦ (A) =∅ and V □ (A) ≠ ∅ then for any assignment<br />

ρ on V □ (A), ρ|= A implies ρ |= B.<br />

(4) V ♦ (A) =∅ and V □ (A) =∅.<br />

Intuitively, A ≥ B means that schemas A and B have the<br />

same may variables and the same must variables, and schema<br />

B has bigger domains of must variables but smaller ranges of<br />

may variables than schema A. This means that must variables<br />

can be regarded as the over-approximation of variables, and<br />

may variables can be regarded as the under-approximation of<br />

variables.<br />

For example, Â=[x ♦ : R; y □ : N | y □ =2⌊x ♦ ⌋] ≥ B̂=[x ♦ :<br />

N; y □ : R | y □ =2x ♦ ], where x ♦ is a may variable, y □ is a<br />

must variable, N is the set of natural numbers, R is the set of<br />

real numbers, and ⌊x ♦ ⌋ is the largest natural number that is<br />

not larger than x ♦ .<br />

Now we give the modal refinement relation between Z<br />

schemas, which describe the modal refinement relation between<br />

data structures properties of states. Roughly speaking,<br />

for two Z schemas A and B, we say that B refines A if the may<br />

variables and the must variables in A are also in B, and schema<br />

B has bigger domains of these may variables but smaller ranges<br />

of these must variables than schema A.<br />

Definition 3. Consider two Z schemas A and B, we use the<br />

notation A B if<br />

527

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!