Implementing a Model Checking Algorithm by Adapting Existing Automated Tools

Designs of communicating systems can be validated by checking that their behavior satisfy desirable properties expressed in a temporal logic. We describe an adaptation of a branching-time temporal logic, CTL, to which we have given a semantics in terms of sequences of communication actions. We describe a method for checking that a communicating system satisfies a formula in the logic. The method works as follows: we first transform the communicating system to conform with the standard semantics of CTL; we then use an existing algorithm for CTL with the standard semantics, for which an implementation exists in the EMC, to check that the system satisfies a formula. The method is implemented within the framework of the Concurrency Workbench.