Model Checking of Transition-Labeled Finite-State Machines

  • Vladimir Estivill-Castro
  • David A. Rosenblueth
Part of the Communications in Computer and Information Science book series (CCIS, volume 257)


We show that recent Model-driven Engineering that uses sequential finite state models in combination with a common sense logic is subject to efficient model checking. To achieve this, we first provide a formal semantics of the models. Using this semantics and methods for modeling sequential programs we obtain small Kripke structures. When considering the logics, we need to extend this to handle external variables and the possibilities of those variables been affected at any time during the execution of the sequential finite state machine. Thus, we extend the construction of the Kripke structure to this case. As a proof of concept, we use a classical example of modeling a microwave behavior and producing the corresponding software directly from models. The construction of the Kripke structure has been implemented using flex, bison and C++, and properties are verified using NuSMV.


Model-driven engineering embedded software Model- checking Kripke structures sequential finite-state machines common sense logics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Billington, D.: The Proof Algorithms of Plausible Logic form a Hierarchy. In: Zhang, S., Jarvis, R. (eds.) AI 2005. LNCS (LNAI), vol. 3809, pp. 796–799. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Non-monotonic reasoning for requirements engineering. In: Proc. 5th Int. Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), Athens, Greece, July 22-24, pp. 68–77. SciTePress — Science and Technology Publications, Portugal (2010)Google Scholar
  3. 3.
    Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Modelling Behaviour Requirements for Automatic Interpretation, Simulation and Deployment. In: Ando, N., Balakirsky, S., Hemker, T., Reggiani, M., von Stryk, O. (eds.) SIMPAR 2010. LNCS, vol. 6472, pp. 204–216. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Billington, D., Rock, A.: Propositional plausible logic: Introduction and implementation. Studia Logica 67, 243–269 (2001) ISSN 1572-8730MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NuSMV: a new symbolic model checker. Int. J. on Software Tools for Technology Transfer 2 (2000)Google Scholar
  6. 6.
    Clarke, E.M., Emerson, E.A.: Design and Synthesis of Synchronization Skeletons using Branching Time Temporal Logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  7. 7.
    Clarke, E.M., Grumberg, O., Peled, D.: Model checking. MIT Press (2001)Google Scholar
  8. 8.
    Dromey, R.G., Powell, D.: Early requirements defect detection. TickIT Journal 4Q05, 3–13 (2005)Google Scholar
  9. 9.
    Estivill-Castro, V., Hexel, R.: Module interactions for model-driven engineering of complex behavior of autonomous robots. In: Dini, P. (ed.) ICSEA 6th Int. Conf. on Software Engineering Advances, Barcelona. IEEE (to appear, October 2011)Google Scholar
  10. 10.
    Manna, Z., Pnueli, A.: Temporal verification of reactive systems:Safety. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  11. 11.
    Mellor, S.J., Balcer, M.: Executable UML: A foundation for model-driven architecture. Addison-Wesley Publishing Co., Reading (2002)Google Scholar
  12. 12.
    Rock, A., Billington, D.: An implementation of propositional plausible logic. In: 23rd Australasian Computer Science Conference (ACSC 2000), January 31-February 3, pp. 204–210. IEEE Computer Society (2000)Google Scholar
  13. 13.
    Rock, A.: The DPL (decisive Plausible Logic) tool. Technical report (continually) (in preparation),
  14. 14.
    Rumbaugh, J., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modelling and Design. Prentice-Hall, Inc., Englewood Cliffs (1991)MATHGoogle Scholar
  15. 15.
    Schmidt, D.C.: Model-driven engineering. IEEE Computer 39(2) (2006)Google Scholar
  16. 16.
    Shlaer, S., Mellor, S.J.: Object lifecycles: modeling the world in states. Yourdon Press, Englewood Cliffs (1992)MATHGoogle Scholar
  17. 17.
    Wagner, F., Schmuki, R., Wagner, T., Wolstenholme, P.: Modeling Software with Finite State Machines: A Practical Approach. CRC Press, NY (2006)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Vladimir Estivill-Castro
    • 1
  • David A. Rosenblueth
    • 2
  1. 1.School of Information and Communication TechnologyGriffith UniversityAustralia
  2. 2.Instituto de Investigaciones en Matemáticas Aplicadas y en SistemasUniversidad Nacional Autónoma de MéxicoMéxico

Personalised recommendations