
various points in its lifecycle, the lift model invokes
algorithm
WALK to determine its next action. Some
points on the lift lifecycle at which the algorithm is
invoked are: (1) when the lift door closes; (2) when
the lift approaches the next floor level; and (3) by an
idle lift when an on-floor button is pressed to call the
lift.
Table 1: State space volume for the modelled lift system and its growth with the floors and simultaneous users.
Number of floors in the modelled building
Number of simultaneous
passengers in the model
3 5 7 10
Reachable states 1267 5067 12987 35952
Potential state space 10
24
~10
33
~10
40
~10
50
1
Number of transitions 1327 5267 13407 36852
Reachable states 56664 697580 3580800
Potential state space
~10
41
~10
58
~10
73
3
Number of transitions 68388 812408 4060332
Reachable states 2966788
Potential state space
~10
57
5
Number of transitions 4337180
Initially a rather rudimentary
WALK algorithm
was derived from the text and coded in the FSP
model. The LTS analyser was then repeatedly used
to report incompleteness and inconsistency errors in
the model. As the errors were reported the WALK
specifications were corrected. Figure 2 depicts an
annotated LTSA report – we have added annotations
to help the reader understand it.
The reader would notice that the description does
not fit with the typical configuration of a real lift
system. For example, there are buttons on the
ground floor to call the lift to go up as well as to go
down. Likewise, a passenger wishing to travel to the
same floor may call the lift for either direction. Their
presence is simply an indication of the still evolving
state of the FSP model used in the figure. The
example model is not the final model.
Table 1 provides an indication of the effort
required to model-check the finite state process
(FSP) model of the lift. These provide some
interesting insights into the traditional testing-based
software design and development methodologies.
A naïve black-box testing (Perry, 1995) would
tend to show growth in the required number of test
cases in proportion to the potential state-space size.
The white-box testing (Perry, 1995) takes advantage
of the implementation and design information. Thus,
it will follow the growth trend shown as reachable
state space and/or as the number of transitions. In
both cases, it is clear that a pragmatic testing effort
can cover only a small fraction of the test cases
needed for a complete check. Besides being more
comprehensive a model-checker catches the errors in
an earlier phase than the testing – a cherished goal of
every software engineer.
4 CONCLUSION
The model checking, notwithstanding its tedium, is a
useful and effective tool in developing high-quality
error-free software. Model checkers, such as LTSA,
contribute to this process in many ways:
• The formal FSP descriptions that a model
checker requires is directly associated with the
objects in the system specifications.
• The FSP description of the objects is formal and
is capable of interpretative execution.
• The verification process employed by a model
checker is like a simultaneous execution of all
animations – analysis provides an effective and
efficient mean for identifying potential errors.
• The formal specifications can be automatically
transformed into programs.
REFERENCES
Dijkstra, E.W., 1976. A Discipline of Programming,
Prentice-Hall. Englewood Cliffs, NJ.
Lakos, C.A. & V.M. Malhotra, 2002. Validation Led
Development of Software Specifications, International
Journal of Modelling and Simulation, 22(1), 57-74.
Magee, J. & J. Kramer, 1999. Concurrency: State Models
& Java Programs, John Wiley & Sons, Chichester.
England.
Perry, W., 1995. Effective Methods for Software Testing,
John Wiley & Sons, NY.
Stanton, S.C., 2002. Validation and Verification of
Software Design using Finite State Process (Honours
thesis), School of Computing, University of Tasmania,
Hobart, Australia.
Warmer J. & A. Kleppe, 1999. The Object Constraint
Language – Precise Modeling with UML, Addison
Wesley Longman Inc., Reading,, Ma.
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
608