Information Technology Reference
In-Depth Information
Theorem 2.4
If P and Q are domain-disjoint, then
(1) P
Q = P
Q
(2) ( P
Q ); R =( P ; R )
( Q ; R )
Proof
(1) RHS
{ refinement calculus }
= b
c )
(( b
S )
( c
T ))
{
ordering of designs
}
= b
c
( b
c )
(
¬
c
S
∨¬
b
T )
{
b
c = false
}
= LHS
(2) LHS
{ def of ⊕}
= b
c )
( b
S
c
T ); R
{
refinement calculus
}
= b
c )
∧¬
(( b
S
c
T );
¬
d )
( b
S
c
T ); U
{
b
c = false
}
= b
(
¬
( b
S );
¬
d )
c
∧¬
(( c
T );
¬
d )
( b
S
c
T ); U
{
def of
⊕}
= b
∧¬
(( b
S );
¬
d )
( b
S ); U
c
∧¬
( c
T );
¬
d ))
( c
T ); U
{
refinement calculus
}
= RHS
Theorem 2.5
If R = true
U ,then( P
Q ); R =( P ; R )
( Q ; R ).
3D gnM ix
In this section we work towards a precise characterisation of the class of designs
[14] that are most useful in exception handling and compensation.
A subclass of designs may be defined in a variety of ways. Sometimes it is
done by a syntactic property. Sometimes the definition requires satisfaction of
a particular collection of algebraic laws. In general, the most useful definitions
are these that are given in many different forms, together with a proof that all
of them are equivalent.
To handling exception requires a more explicit analysis of the phenomena of
program execution. We therefore introduce into the alphabet of our designs a
pair of Boolean variables to denote the relevant observations.
Definition 3.1 ( eflag and eflag )
eflag records the observation that the program is asked to start when the exe-
cution of its predcessor halts due to an exception.
eflag records the observation that an exception occurs during the execution
of the program.
 
Search WWH ::




Custom Search