Implementing a model checking algorithm by adapting existing automated tools

  • Bengt Jonsson
  • Ahmed Hussain Khan
  • Joachim Parrow
Model Checking
Part of the Lecture Notes in Computer Science book series (LNCS, volume 407)


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.


Model Check Temporal Logic Transition Graph Automate Tool Atomic Proposition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [BSW69]
    K. Bartlett, R. Scantlebury, and P. Wilkinson. A note on reliable full-duplex transmissions over half duplex lines. Communications of the ACM, 2(5):260–261, 1969.Google Scholar
  2. [CES86]
    E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logics specifications. ACM TOPLAS, 8(2):244–263, April 1986.Google Scholar
  3. [CPS]
    R. Cleaveland, J. G. Parrow, and B. Steffen. The concurrency workbench: Operating instructions. University of Edinburgh, Laboratory for Foundations of Computer Science, Technical Note 10, September 1988.Google Scholar
  4. [EL86]
    E.A. Emerson and C.-L. Lei. Efficient model checking in fragments of the propositional mu-calculus. In Proc. Symp. on Logics in Computer Science, pages 267–278, 1986.Google Scholar
  5. [HM85]
    Matthew Hennessy and Robin Milner. Algebraic laws for nondeterminism and concurrency. J. ACM, 32(1):137–161, 1985.Google Scholar
  6. [Lar88]
    K. G. Larsen. Proof systems for Hennessy-Milner logic with recursion. In Proc. CAAP 1988, volume 299 of Lecture Notes of Computer Science. Springer Verlag, 1988.Google Scholar
  7. [LP85]
    O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proc. 12th ACM Symp. on Principles of Programming Languages, pages 97–107, 1985.Google Scholar
  8. [Mil80]
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes of Computer Science. Springer Verlag, 1980.Google Scholar
  9. [Pnu82]
    A. Pnueli. The temporal semantics of concurrent programs. Theoretical Computer Science, 13:45–60, 1982.Google Scholar
  10. [RRSV87]
    J. Richier, C. Rodriguez, J. Sifakis, and J. Voiron. Verification in XESAR of the sliding window protocol. In Proceedings of the 7th IFIP Workshop on Protocol Specification, Testing and Verification. North-Holland, 1987.Google Scholar
  11. [SW89]
    C. Stirling and D. J. Walker. Local model checking in the modal μ-calculus. In Diaz and Orejas, editors, TAPSOFT '89, volume 351 of Lecture Notes of Computer Science, pages 369–383. Springer Verlag, 1989.Google Scholar
  12. [VW86]
    M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Symp. on Logic in Computer Science, pages 332–344, June 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Bengt Jonsson
    • 1
    • 2
  • Ahmed Hussain Khan
    • 1
    • 2
  • Joachim Parrow
    • 1
    • 2
  1. 1.Swedish Institute of Computer ScienceStockholm
  2. 2.SICSKistaSweden

Personalised recommendations