Arrangements of Finite-state Machines - Semantics, Simulation, and Model Checking

Vladimir Estivill-Castro, Rene Hexel


We propose a contrasting approach to the main stream direction that UML and {\tt STATEMATE} have recently taken when using finite-state machines (FSMs) to model behaviour. That is, rather than the event-driven model that is currently dominant, we suggest to adopt a model of time, a synchronous model. We do support concurrency in our arrangements of FSMs but eliminate the sources of unpredictable threads of execution. Currently, such capacity of the dominant semantics actually results in the need to create many language constructs to regulate threads that, in many cases, even result in imprecise semantics, hampering their use for model-driven development (MDD). By allowing transitions to only be labeled by statements of logic and by executing the machines with an offline schedule, we obtain a simpler language, with less burden for the developer. This creates far reaching potential for accompanying tools, such as integrated development environments, simulators, and even formal verification through model-checking. Model-checking is of particular importance as MDD becomes ubiquitous. Model-checking is possible for our FSMs as we do not need to consider all possible combinations of progress of each of the many threads that the event-driven alternative requires.


  1. Agrawal, A., Simon, G., and Karsai, G. (2004). Semantic translation of simulink/stateflow models to hybrid automata using graph transformations. Electr. Notes Theor. Comput. Sci., 109:43-56.
  2. Baldwin, C. Y. and Clark, K. (2000). Design Rules, The Power of Modularity. MIT Press, Cambridge, MA.
  3. Billington, D., Estivill-Castro, V., Hexel, R., and Rock, A. (2010). Non-monotonic reasoning for requirements engineering. In 5th Int. Conf. on Evaluation of Novel Approaches to Software Engineering (ENASE), pages 68-77, Athens. SciTePress (Portugal).
  4. Breen, M. (2004). Statecharts: Some critical observations.
  5. Coleman, R., Estivill-Castro, V., Hexel, R., and Lusty, C. (2012). Visual-trace simualtion of concurrent finitestate machines for valdiation and model-checking of complex behavior. In SIMPAR 3rd Int. Conf. on Simulation, Modeling and Programming for Autonomous Robots, volume 7628, pages 52-64, Tsukuba, Japan. Springer-Verlag LNCS.
  6. Eshuis, R. (2009). Reconciling statechart semantics. Science of Computer Programming, 74(3):65-99.
  7. Estivill-Castro, V., Hexel, R., and Rosenblueth, D. A. (2012a). Efficient model checkign and FMEA analysis with deterministic scheduling of transition-labeled finite-state machines. In 2012 3rd World Congress on Software Engineering (WCSE 2012), pages 62-72, Wuhan, China. IEEE CPS.
  8. Estivill-Castro, V., Hexel, R., and Rosenblueth, D. A. (2012b). Efficient modelling of embedded software systems and their formal verification. In The 19th Asia-Pacific Software Engineering Conf. (APSEC 2012), Hong Kong. IEEE. to appear.
  9. Estivill-Castro, V., Hexel, R., and Rosenblueth, D. A. (2012c). Failure mode and effects analysis (FMEA) and model-checking of software for embedded systems by sequential scheduling of vectors of logiclabelled finite-state machines. In System Safety, The 7th Int. IET System Safety Conf.,, Edinburgh, UK.
  10. Ferrer Mestres, J. (2012). Implementation of a planning module for a Nao robot. Universitat Pompeu Fabra, Escola Superior Politècnica. Projecte Fi de Carrera.
  11. Grunske, L., Winter, K., Yatapanage, N., Zafar, S., and Lindsay, P. A. (2011). Experience with fault injection experiments for FMEA. Software, Practice and Experience, 41(11):1233-1258.
  12. Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-trauring, A., and Trakhtenbrot, M. (1990). Statemate: A working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering, 16:5.
  13. Harel, D. and Naamad, A. (1996). The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering Methodology, 5(4):293-333.
  14. Harel, D. and Politi, M. (1998). Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill.
  15. Hayes-Roth, B. (1988). A blackboard architecture for control. In Distributed Artificial Intelligence, pages 505- 540, San Francisco, CA, USA. Morgan Kaufmann.
  16. Hopcroft, J., Motwani, R., and Ullman, J. (1979). Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing Co., Reading, MA.
  17. Klotzbuecher, M. (2012). rFSM v1.0-beta6.
  18. Kopetz, H. and Bauer, G. (2003). The time-triggered architecture. Proc. of the IEEE, 91(1):112-126.
  19. Lötzsch, M., Bach, J., Burkhard, H.-D., and Jüngel, M. (2004). Designing agent behavior with the extensible agent behavior specification language XABSL. In 7th Int. Workshop on RoboCup, volume 3020, pages 114-124. Springer LNAI.
  20. Mellor, S. J. and Balcer, M. (2002). Executable UML: A foundation for model-driven architecture. AddisonWesley Publishing Co., Reading, MA.
  21. Merz, T., Rudol, P., and Wzorek, M. (2006). Control system framework for autonomous robots based on extended state machines. In Int. Conf. on Autonomic and Autonomous Systems, ICAS, page 14, Silicon Valley, CA.
  22. Michel, O. (2004). Webots: Professional mobile robot simulation. J. Advanced Robotics Systems, 1(1):39-42.
  23. Risler, M. and von Stryk, O. (2008). Formal behavior specification of multi-robot systems using hierarchical state machines in XABSL. In AAMAS08-Workshop on Formal Models and Methods for Multi-Robot Systems, Estoril, Portugal.
  24. Rumbaugh, J., Blaha, M. R., Lorensen, W., Eddy, F., and Premerlani, W. (1991). Object-Oriented Modelling and Design. Prentice-Hall, Englewood Cliffs, NJ.
  25. Samek, M. (2008). Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems. Newnes.
  26. Simons, A. (2000). On the compositional properties of UML statechart diagrams. In Rigorous ObjectOriented Methods 2000, York, UK. Electronic Workshops in Computering (eWiC).
  27. Sommerville, I. (2010). Software engineering (9th ed.). Addison-Wesley Longman, Boston, MA, USA.
  28. von der Beeck, M. (1994). A comparison of statecharts variants. In 3rd Int. Symp. Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems, ProCoS, pages 128-148, UK. Springer-Verlag.
  29. W3C (2012). State chart XML (SCXML): State machine notation for control abstraction. Working Draft.
  30. Wagner, F., Schmuki, R., Wagner, T., and Wolstenholme, P. (2006). Modeling Software with Finite State Machines: A Practical Approach. CRC Press, NY.

Paper Citation

in Harvard Style

Estivill-Castro V. and Hexel R. (2013). Arrangements of Finite-state Machines - Semantics, Simulation, and Model Checking . In Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-8565-42-6, pages 182-189. DOI: 10.5220/0004317101820189

in Bibtex Style

author={Vladimir Estivill-Castro and Rene Hexel},
title={Arrangements of Finite-state Machines - Semantics, Simulation, and Model Checking},
booktitle={Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},

in EndNote Style

JO - Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Arrangements of Finite-state Machines - Semantics, Simulation, and Model Checking
SN - 978-989-8565-42-6
AU - Estivill-Castro V.
AU - Hexel R.
PY - 2013
SP - 182
EP - 189
DO - 10.5220/0004317101820189