Information Technology Reference
In-Depth Information
The
π
-calculus has been applied in describing various compensable program
models. Lucchi and Mazzara formalised the semantics of BPEL within the frame-
work of the
π
-calculus [18]. Laneve and Zavattaro explored the application of the
π
-calculus in the formalisation of the compensable programs and the standard
pattern of compisition [16].
This paper is an attempt at taking a step forward to gain some perspectives
on compensable programs within the design calculus [14] as well as to identify
the links among various models for the following language features
-
Exception handling
-
Compensation mechanism
Our contributions include
-
providing a conservative extension of the standard relational model to deal
with fault handling and compensation, which can be characterised by addi-
tional halthiness conditions.
-
exploring the algebraic system for exception handling and compensation.
-
constructing a Galois connection (retract) to link the new model with the
design model.
The paper is organised as follows: Section 2 defines the merge combinator of de-
signs, which is used later to construct design matrix in describing the dynamic
behaviour of compensable programs. It also investigates the algebraic proper-
ties of the merge operator. Section 3 presents the new healthiness conditions to
capture the exception handling and compensation features of compensable pro-
grams, and introduces a new notion
design matrix
. It also explores the Galois
link between the design model with the design matrix model. Section 4 gives an
observation-oriented semantics to compensable programs. We explore the alge-
braic properties of exception handler and compensation mechanism in Section 5.
The paper concludes with a short discussion on the linking theories.
2
Preliminaries
This section introduces some notations which will be used in constructing design
matrix in the next section.
Definition 2.1
(Merge)
Let
P
and
Q
be designs. The notation
P
⊕
Q
denotes the program which merges
the outcomes of
P
and
Q
.
P
⊕
Q
=
df
if
(
pre
.P
→
P,
pre
.Q
→
Q
)
fi
where
pre
.P
stands for the precondition of Design
P
:
P
[
true, f alse/ok, ok
]
pre
.P
=
df
¬
Theorem 2.1.
(
b
S
)
⊕
(
c
T
)=
df
(
b
∨
c
)
(
b
∧
S
∨
c
∧
T
)
Search WWH ::
Custom Search