Timed Moore Automata: Test Data Generation and Model Checking

In this paper we introduce Timed Moore Automata, a specification formalism which is used in industrial train control applications for specifying the real-time behavior of cooperating reactive software components. We define an operational semantics for the sequential components (units) with an abstraction of time that is suitable for checking timeout behavior of these units. A model checking algorithm for live lock detection is presented, and two alternative methods of test case/test data generation techniques are introduced. The first one is based on Kripke structures as used in explicit model checking, while the second method does not require an explicit representation but relies on SAT solving techniques.

[1]  Jan Peleska,et al.  Test Automation Meets Static Analysis , 2007, GI Jahrestagung.

[2]  Bastian Schlich,et al.  Model checking of software for microcontrollers , 2010, TECS.

[3]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

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

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

[6]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[7]  Frits W. Vaandrager,et al.  Testing timed automata , 1997, Theor. Comput. Sci..

[8]  Mercedes G. Merayo,et al.  Formal testing from timed finite state machines , 2008, Comput. Networks.

[9]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .