Verification. Finally, we proceed to verify the sys-
tem behaviour component-by-component.
Thus, we use formal specification/modelling nota-
tions supported by CSP–based compositional reason-
ing that enables the preservation of the component
properties throughout the compositionality.
4 APPLICATION
The application of FCVA presented here relates to
monitoring the state of mobile devices within the cells
that constitute a mobile phone communication net-
work. We present here a real–life scenario where a
series of BTSs
2
exchange messages between them,
i.e., send message, SndMsg(s); acknowledgement
message, AckMsg(s); and receive confirmation, Rcv-
Conf(s). The DDBM model represents the function-
ing of a small distributed database system, which is
needed to keep consistent the communication infor-
mation locally stored in the base stations.
To understand this model of protocol, we need to
think of it as a set of finite state automata with symme-
tries. Each automaton represents n symmetric repli-
cated automata that describe the states of the n man-
agers d
i
and the state of the messages transmitted by
each d
i
during DDBM protocol functioning. The tran-
sitions that each automaton must undergo are named,
‘Update and Send Messages’, ‘Receive a Message’,
‘Send an Acknowledgement’ and ‘Receive All Con-
firmations’ (Jansen, 1997).
4.1 Properties & Software Specification
The complete set of CCTL formulas that formally de-
fine the properties fulfilled by the DDBM model’s be-
haviour are detailed in (Mendoza and Capel, 2009)
and derived from user’s requirements. Since the
DDBM protocol model is conformed by n replicas of
the same component (i.e., DDBM = k
i:1..n
d
i
), the in-
variant ψ
i
that each component d
i
must satisfy is the
conjunction of the replicas properties, but without it-
self, i.e., ψ
i
=k
j:1..n
φ
j
| j 6= i. Thus, at this stage, we
only need to address the verification of local proper-
ties φ
i
.
We can use an RT-software design method like
MEDISTAM–RT (Benghazi et al., 2007), which in-
troduces temporal annotations to UML–TSM to for-
mally describe the protocol (Figure 2). Time labels
on the state machines are necessary to assure the ful-
filment of maximum time constraints that the real–
time DDBM protocol requires. By using these inter-
2
Base Transceiver Stations
val and time instants specifications, we can guarantee
that none of the d
i
managers will enter in a blocking
state and new occurrences will be disregarded.
4.2 System Components Verification
Once we have obtained the automata,
• T(d
i
), T(AC),T(MM), which represent system
components, DDBM manager, Act Control, and
Message Manager (Figure 2), respectively.
• As well as the ones corresponding to the proper-
ties, T(φ
RUAC
), T(φ
RUMM
), T(φ
LUAC
), T(φ
LUMM
)
(Mendoza and Capel, 2009).
We can proceed to the verification of the DDBM sys-
tem, component by component.
Then, under the semantic domain of CSP–based
process calculus, we can automatically check with the
help of FDR2 (Formal Systems Europe Ltd., 2005)
tool that the following relations of refinement are sat-
isfied:
T(φ
LUAC
) ⊑
T
T(AC) , T(φ
RUAC
) ⊑
T
T(AC)
T(φ
LUAC
) ⊑
F
T(AC) , T(φ
RUAC
) ⊑
F
T(AC)
T(φ
LUMM
) ⊑
T
T(MM) , T(φ
RUMM
) ⊑
T
T(MM)
T(φ
LUMM
) ⊑
F
T(MM) , T(φ
RUMM
) ⊑
F
T(MM)
We say that there is a refinement relation between
two formal automata T(φ) ⊑
T
T(Component) if ev-
ery trace of executionof T(Component) is included in
the set of traces and failures that defines the behaviour
of the automaton T(φ) (Schneider, 2000).
According to the conditions of System Composi-
tional Verification Theorem 1 (see section 3.1), and
based on the detailed design of Act Control and
Message Manager components shown in Figure 2,
we must determine now whether the individual ver-
ification of these components is “composable”. We
must verify that the following 2 conditions of Theo-
rem 1 are always fulfilled:
1. The input signals (Σ
Act Control
and
Σ
Message Manager
) and the output signals
(Ω
Act Control
and Ω
Message Manager
) of both
components are disjoint. The encapsulation of
the automata that only communicate through ded-
icated input/output ports ?m and !m, respectively,
makes this condition always true.
2. The labelling sets of both components
L (Act Control) and L (Message Manager)
are disjointed. This can also be easily verified
since transition and state labels of each automaton
are only visible inside the capsule.
The main interest of Theorem 1 is to address the
difficult problem of proving that the satisfaction of
AFormalCompositionalVerificationApproachforSafety-CriticalSystemsCorrectness-Model-Checkingbased
MethodologicalApproachtoAutomaticallyVerifySafetyCriticalSystemsSoftware
109