On Communicating Finite-State Machines
Journal of the ACM (JACM)
Protocol Validation by Maximal Progress State Exploration
Protocol Validation by Maximal Progress State Exploration
Communicating finite state machines: analysis and synthesis of communication protocols
Communicating finite state machines: analysis and synthesis of communication protocols
Backward validation of communicating complex state machines in web services environments
Distributed and Parallel Databases
Hi-index | 0.00 |
Given two machines which communicate by exchanging messages over two finite-capacity channels, it is possible to generate all reachable states of the system and check whether any of them is a nonprogress state. This technique is called state exploration; and it usually requires large execution time and storage. In this paper, we discuss a more efficient variation of this technique. In particular, we show that the task of generating all reachable states can be divided into two independent subtasks. In each subtask, only the states reachable by allowing maximal progress for one machine are generated. We prove that a given system cannot reach a nonprogress state iff none of the states generated in each subtask is a nonprogress state. Since the two subtasks are completely independent, and since in most cases the time and storage requirements for each subtask are less than those for the origianal task, maximal progress state exploration can save time or storage over conventional state exploration.