
 
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