Model Checking of Transition-Labeled Finite-State Machines
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.
KeywordsModel-driven engineering embedded software Model- checking Kripke structures sequential finite-state machines common sense logics
Unable to display preview. Download preview PDF.
- 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.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
- 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
- 7.Clarke, E.M., Grumberg, O., Peled, D.: Model checking. MIT Press (2001)Google Scholar
- 8.Dromey, R.G., Powell, D.: Early requirements defect detection. TickIT Journal 4Q05, 3–13 (2005)Google Scholar
- 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
- 11.Mellor, S.J., Balcer, M.: Executable UML: A foundation for model-driven architecture. Addison-Wesley Publishing Co., Reading (2002)Google Scholar
- 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.Rock, A.: The DPL (decisive Plausible Logic) tool. Technical report (continually) (in preparation), www.cit.gu.edu.au/~arock/
- 15.Schmidt, D.C.: Model-driven engineering. IEEE Computer 39(2) (2006)Google Scholar