Visual-Trace Simulation of Concurrent Finite-State Machines for Validation and Model-Checking of Complex Behaviour

Simulation of models that specify behaviour of software in robots, embedded systems, and safety critical systems is crucial to ensure correctness. This is particularly important in conjunction with model-driven development, which is highly prevalent due to its numerous benefits. We use vectors of finite-state machines (FSMs) as our modelling tool. Our FSMs can have their transitions labeled by expressions of a common sense logic, and they are more expressive than other modelling approaches (such as Behavior Trees, Petri nets, or plain FSMs). We interpret the models using the same round-robin scheduler which is integrated into the simulator. Execution on a platform is exactly the same as in the simulator (where sensors and actuators are masqueraded by proxies) and coincides with the generator of the Kripke structure for formal model-checking. In three ubiquitous case studies we show that our simulation discovers issues where those models were incomplete, ambiguous, or incorrect. This further illustrates that simulation and monitoring need to complement formal verification.

[1]  Vladimir Estivill-Castro,et al.  Architecture for Hybrid Robotic Behavior , 2009, HAIS.

[2]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[3]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[4]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[5]  Geoff Dromey,et al.  Early Requirements Defect Detection(INVITED PUBLICATION) , 2005 .

[6]  V. Estivill-Castro,et al.  Efficient Model Checking and FMEA Analysis with Deterministic Scheduling of Transition-Labeled Finite-State Machines , 2012, 2012 Third World Congress on Software Engineering.

[7]  Alan Burns,et al.  A Framework for Building Dependable Systems , 1991, Computer/law journal.

[8]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[9]  Vladimir Estivill-Castro,et al.  Modelling Behaviour Requirements for Automatic Interpretation, Simulation and Deployment , 2010, SIMPAR.

[10]  Christel Baier,et al.  Principles of model checking , 2008 .

[11]  Ferdinand Wagner,et al.  Modeling Software with Finite State Machines : A Practical Approach , 2006 .

[12]  Miro Samek,et al.  Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems , 2002 .

[13]  Ferdinand Wagner,et al.  Modeling Software with Finite State Machines , 2006 .

[14]  Edmund Kazmierczak,et al.  A Knowledge-based Approach for Safety Analysis Using System Interactions , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[15]  Lian Wen,et al.  From requirements change to design change: a formal path , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[16]  R. Geoff Dromey,et al.  From Requirements to Embedded Software - Formalising the Key Steps , 2009, 2009 Australian Software Engineering Conference.

[17]  James E. Rumbaugh,et al.  Object-Oriented Modelling and Design , 1991 .

[18]  Stephen J Mellor Embedded Systems in UML , 2007 .

[19]  Peter A. Lindsay,et al.  Experience with fault injection experiments for FMEA , 2011, Softw. Pract. Exp..

[20]  V. Estivill-Castro Efficient Model Checkign and FMEA Analysis with Deterministic Scheduling of Transition-Labeled Finite-State Machines , 2012 .

[21]  Vladimir Estivill-Castro,et al.  Non-monotonic Reasoning for Requirements Engineering - State Diagrams Driven by Plausible Logic , 2010, ENASE.

[22]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[23]  Santosh K. Shrivastava,et al.  The duality of fault‐tolerant system structures , 1993, Softw. Pract. Exp..

[24]  Morris Sloman,et al.  Distributed systems and computer networks , 1987, Prentice Hall International series in computer science.

[25]  Gabor Karsai,et al.  Semantic Translation of Simulink/Stateflow Models to Hybrid Automata Using Graph Transformations , 2004, GT-VMT@ETAPS.

[26]  Miro Samek,et al.  Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems , 2008 .

[27]  Stephan Merz,et al.  Model Checking , 2000 .