Algorithmic verification of ISDN network layer protocol

This paper presents an algorithmic procedure for checking logical correctness of communication protocols and discusses its application to the Q.931 Integrated Services Digital Network (ISDN) network layer protocol. A protocol is specified as a collection of communicating finite-state machines (FSMs). The procedure described here consists of two steps. In the first step, the FSMs in the protocol are composed into a global FSM using the incremental composition and reduction (ICR) method. This method minimizes the state explosion problem by reducing the number of states in the global FSM by approximately one to two orders of magnitude while maintaining its observational equivalence. The second step checks whether the behavior of the service FSM, an FSM that models the services expected from the protocol, is a subset of the global FSM's behavior. A software tool, called APROVE (A Protocol Verifier), implements this procedure. We present the formal specification of Q.931 as a collection of 14 communicating FSMs. The results of its verification using APROVE are also reported. Several cases of incompleteness in the English language specification of Q.931 were detected in this exercise.