Direct Support for Model Checking Abstract State Machines by Utilizing Simulation

This paper presents an approach to model checking abstract state machines (ASMs) without the need for translation of the ASM specification into the modeling language of an existing model checker. Instead, our model checker [mc]square uses the simulation capabilities of CoreASM to build the state space, thereby directly supporting ASMs and circumventing a possible loss of expressiveness in a translation process. This enables our approach to present counterexamples and witnesses directly as sequences of ASM states and at the same time supports the major features of CoreASM like distributed ASMs, n-ary functions or extended rule forms. We show the applicability of this approach in a case study that also reveals possible improvements desirable for minimizing the duration needed for building the state space and its memory consumption.

[1]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[2]  Kristina Lundqvist,et al.  The Timed Abstract State Machine Language: Abstract State Machines for Real-Time System Engineering , 2008, J. Univers. Comput. Sci..

[3]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[4]  Anoop Gupta,et al.  The Stanford FLASH Multiprocessor , 1994, ISCA.

[5]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[6]  Egon Börger,et al.  Abstract State Machines , 2003 .

[7]  Paolo Traverso,et al.  Applied Formal Methods — FM-Trends 98 , 1998, Lecture Notes in Computer Science.

[8]  Martin Kardos An Approach to Model Checking AsmL Specifications , 2005, Abstract State Machines.

[9]  Kirsten Winter,et al.  Model Checking Support for the ASM High-Level Language , 2000, TACAS.

[10]  Eugenia Ternovska,et al.  Model Checking Abstract State Machines with Answer Set Programming , 2007, Fundam. Informaticae.

[11]  Johan Lewi,et al.  A Linear Local Model Checking Algorithm for CTL , 1993, CONCUR.

[12]  Stefan Kowalewski,et al.  Applying Model Checking to an Automotive Microcontroller Application , 2007, 2007 International Symposium on Industrial Embedded Systems.

[13]  Giuseppe Del Castillo,et al.  Towards Comprehensive Tool Support for Abstract State Machines: The ASM Workbench Tool Environment and Architecture , 1998, FM-Trends.

[14]  Martin Odersky,et al.  Abstract State Machines - Theory and Applications , 2002, Lecture Notes in Computer Science.

[15]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[16]  Egon Börger,et al.  Report on a Practical Application of ASMs in Software Design , 2000, Abstract State Machines.

[17]  Roozbeh Farahbod,et al.  CoreASM: An Extensible ASM Execution Engine , 2007, Fundam. Informaticae.

[18]  Stefan Kowalewski,et al.  [mc]square: A Model Checker for Microcontroller Code , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[19]  Kirsten Winter,et al.  Model Checking for Abstract State Machines , 2008, J. Univers. Comput. Sci..

[20]  George Zi Sheng Ma,et al.  MODEL CHECKING SUPPORT FOR CoreASM: MODEL CHECKING DISTRIBUTED ABSTRACT STATE MACHINES USING SPIN , 2007 .

[21]  A. J. M. van Gasteren,et al.  Derivation of a Termination Detection Algorithm for Distributed Computations , 1983, Inf. Process. Lett..

[22]  Robert Eschbach,et al.  A Termination Detection Algorithm: Specification and Verification , 1999, World Congress on Formal Methods.