struction of FMEA tables had been reported to take
CPU times of the order of days or weeks for some
well-discussed case studies (Grunske et al., 2011).
We have shown here that for logic-labeled FSMs we
can efficiently split the corresponding dependency
graph and obtain components of the graph that can
be analysed independently. Such components are
found by simple depth-first search exploration, in lin-
ear time, which is negligible with respect to the time
required to perform the model-checking. With de-
composition, even only identifying two or three such
components results in improvements in performance
of several orders of magnitude for a single model-
checking exercise (as demonstrated in two important
case studies, that have received much attention in the
literature). Consequently, Kripke structures in de-
scription languages of common tools such as NuSMV
can be generated and verified much more efficiently.
REFERENCES
Aho, A., Hopcroft, J., and Ullman, J. (1974). The De-
sign and Analysis of Computer Algorithms. Addison-
Wesley, Reading, MA.
Billington, D., Estivill-Castro, V., Hexel, R., and Rock, R.
(2010). Modelling behaviour requirements for auto-
matic interpretation, simulation and deployment. In
SIMPAR 2nd Int. Conf. on Simulation, Modeling and
Programming for Autonomous Robots, vol. 6472 of
LNCS, pp. 204–216. Springer.
Bondavalli, A. and Simoncini, L. (1990). Failures classifi-
cation with respect to detection. In 2nd. IEEE Work-
shop on Future Trends in Distributed Computing Sys-
tems, pp. 47–53, Cairo, Egypt. 1990.
Burns, A. and Lister, A. (1991). A framework for build-
ing dependable systems. The Computer Journal,
34(2):173–181.
Clarke, E. M. and Emerson, E. A. (1981). Design and syn-
thesis of synchronization skeletons using branching
time temporal logic. In Proc. Workshop on Logics of
Programs, vol. 131 of LNCS, pp. 52–71, IBM Watson
Research Center.
Clarke, E. M., Grumberg, O., and Peled, D. (2001). Model
checking. MIT Press.
Estivill-Castro, V. and Hexel, R. (2011). Module interac-
tions for model-driven engineering of complex behav-
ior of autonomous robots. The Sixth Int. Conf. on Soft-
ware Engineering Advances. ICSEA 2011, pp. 84–91,
Barcelona, Spain. IARIA.
Estivill-Castro, V., Hexel, R., and Rosenblueth, D. A.
(2012a). Efficient model checkign and FMEA analy-
sis with deterministic scheduling of transition-labeled
finite-state machines. 2012 3rd World Congress
on Software Engineering (WCSE 2012), pp. 65–72,
Wuhan, China.
Estivill-Castro, V., Hexel, R., and Rosenblueth, D. A.
(2012b). Efficient modelling of embedded software
systems and their formal verification. The 19th Asia-
Pacific Software Engineering Conf. (APSEC 2012),
pp. 428–433, Hong Kong. IEEE Computer Soc., CPS.
Estivill-Castro, V., Hexel, R., and Rosenblueth, D. A.
(2012c). Failure mode and effects analysis (FMEA)
and model-checking of software for embedded sys-
tems by sequential scheduling of vectors of logic-
labelled finite-state machines. In 7th Int. IET System
Safety Conf., 2012, Edinburgh, UK.
Friedenthal, S., Moore, A., and Steiner, R. (2009). A Practi-
cal Guide to SysML: The systems Modeling Language.
Morgan Kaufmann, San Mateo, CA.
GMG, M. A. (2009). Generic modelling design and style
guidelines. The Motor Industry Software Reliability
Association, Warwickshire, UK.
Grunske, L., Winter, K., Yatapanage, N., Zafar, S., and
Lindsay, P. A. (2011). Experience with fault injec-
tion experiments for FMEA. Software, Practice and
Experience, 41(11):1233–1258.
Hayes-Roth, B. (1988). A blackboard architecture for con-
trol. Distributed Artificial Intelligence, pp. 505–540,
San Francisco, CA. Morgan Kaufmann.
Hexel, R. (2003). FITS – a fault injection architecture for
time-triggered systems. Australian Computer Science
Communications, 25(1):333–338.
Huth, M. and Ryan, M. (2004). Logic in Computer Science.
Cambridge University Press, UK, second edition.
Kramer, J., Magee, J., Sloman, M., and Lister, A. (1983).
Conic: an integrated approach to distributed computer
control systems. Computers and Digital Techniques,
IEE Proceedings E, 130(1):1.
Mellor, S. J. and Balcer, M. (2002). Executable UML: A
foundation for model-driven architecture. Addison-
Wesley, Reading, MA.
Reifer, D. J. (1979). Software failure modes and ef-
fects analysis. Reliability, IEEE Transactions on, R-
28(3):247 –249.
Satpathy, M., Snook, C., Arora, S., Ramesh, S., and Butler,
M. (2013). Systematic development of control designs
via formal refinement. In Int. Conf. on Model-Driven
Engineering and Software Development.
Schmidt, D. (2006). Model-driven engineering. IEEE Com-
puter, 39(2).
Shrivastava, S., V., M. L., and Randell, B. (1993). The du-
ality of fault-tolerant system structures. Software —
Practice and Experience, 23(7):773–798.
Sloman, M. and Kramer, J. (1987). Distributed systems and
computer networks. Prentice-Hall, Hertfordshire, UK.
SLSF, M. A. (2009). Modelling design and style guide-
lines for the application of Simulink and Stateflow.
The Motor Industry Software Reliability Association,
Warwickshire, UK.
Wagner, F., Schmuki, R., Wagner, T., and Wolstenholme,
P. (2006). Modeling Software with Finite State Ma-
chines: A Practical Approach. CRC Press, NY.
Wen, L. and Dromey, R. G. (2004). From requirements
change to design change: A formal path. In 2nd
Int. Conf. on Software Engineering and Formal Meth-
ods (SEFM 2004), pp. 104–113, Beijing, China. IEEE
Computer Society.
Winter, K. and Yatapanage, N. The mine pump case study.
Technical report, University of Queensland. supple-
ment in www.itee.uq.edu.au/∼docs/FMEA.
ModuleIsolationforEfficientModelCheckinganditsApplicationtoFMEAinModel-drivenEngineering
225