Advertisement

On decomposing and refining specifications of distributed systems

  • Bengt Jonsson
Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 430)

Abstract

This paper is concerned with the use of transition systems with fairness constraints for specifying message-passing distributed systems. A distributed system is specified through the sequence of messages that can be sent and received in an execution of the system. We use fair transition systems to specify such sequences in analogy with the way finite automata are used as acceptors of finite strings. Safety properties are specified by the set of transitions of the transition system. Liveness properties are specified by the fairness constraints on the executions of the transition system. We consider two verification problems: (1) obtaining the specification of a composed system from specifications of its components, and (2) verifying that one transition system correctly refines (i.e., implements) another. For the second problem, we present existing techniques that reduce the verification problem to classical verification conditions, using a notation with guarded assignment statements. We examine conditions under which the techniques are complete. One results is a variant of a completeness theorem due to Abadi and Lamport [AL88]. Simple examples are included to illustrate the techniques.

Keywords

Fair Transition System Specification Verification Distributed Systems Fairness Refinement Compositionality Completeness 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AL88]
    M. Abadi and L. Lamport. The existence of refinement mappings. In Proc. 3rd IEEE Symp. on Logic in Computer Science, Edinburgh, 1988.Google Scholar
  2. [AS85]
    B. Alpern and F.S. Schneider. Verifying temporal properties without using temporal logic. Technical Report TR 85-723, Cornell University, 1985.Google Scholar
  3. [AS87]
    B. Alpern and F.S. Schneider. Proving boolean combinations of deterministic properties. In Proc. 2nd IEEE Symp. on Logic in Computer Science, 1987.Google Scholar
  4. [BKS87]
    R.J.R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. Technical Report A. 56, Åbo Akademi, Dept. of Computer Science and Mathematics, 1987.Google Scholar
  5. [BS89]
    R.J.R. Back and K. Sere. Stepwise refinement of action systems. Technical Report A. 78, Åbo Akademi, Dept. of Computer Science and Mathematics, 1989.Google Scholar
  6. [CM88]
    K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  7. [Hoa85]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  8. [Jon85]
    B. Jonsson. A model and proof system for asynchronous networks. Proc. 4:th ACM Symp. on Principles of Distributed Computing, pages 49–58, Minaki, Canada, 1985.Google Scholar
  9. [Jon87a]
    B. Jonsson. Compositional Verification of Distributed Systems. PhD thesis, Dept. of Computer Systems, Uppsala University, Sweden, Uppsala, Sweden, 1987. Available as report DoCS 87/09.Google Scholar
  10. [Jon87b]
    B. Jonsson. Modular verification of asynchronous networks. In Proc. 6th ACM Symp. on Principles of Distributed Computing, pages 152–166, Vancouver, Canada, 1987.Google Scholar
  11. [Lam83]
    L. Lamport. Specifying concurrent program modules. ACM TOPLAS, 5(2):190–222, 1983.CrossRefGoogle Scholar
  12. [LS88]
    S.S. Lam and A.U. Shankar. A relational notation for state transition systems. Technical Report TR-88-21, Dept. of Computer Sciences, University of Texas at Austin, 1988.Google Scholar
  13. [LT87]
    N. A. Lynch and M. R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proc. 6th ACM Symp. on Principles of Distributed Computing, pages 137–151, 1987.Google Scholar
  14. [Mer]
    M. Merritt. Completeness theorems for automata. In this volume.Google Scholar
  15. [Mil80]
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes of Computer Science. Springer Verlag, 1980.Google Scholar
  16. [Mil89]
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  17. [Mis84]
    J. Misra. Reasoning about networks of communicating processes. In INRIA Advanced Nato Study Institute on Logics and Models for Verification and Specification of Concurrent Systems, La Colle sur Loupe, France, 1984.Google Scholar
  18. [MP84]
    Z. Manna and A. Pnueli. Adequate proof principles for invariance and liveness properties of concurrent programs. Science of Computer Programming, 4(4):257–289, 1984.CrossRefGoogle Scholar
  19. [MP87]
    Z. Manna and A. Pnueli. Specification and verification of concurrent programs by ∀-Automata. In Proc. 14th ACM Symp. on Principles of Programming Languages, pages 1–12, 1987.Google Scholar
  20. [MP89]
    Z. Manna and A. Pnueli. The anchored version of the temporal framework. In de Bakker, de Roever, and Rozenberg, editors, Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science, pages 201–284. Springer Verlag, 1989.Google Scholar
  21. [Ora89]
    F. Orava. Verifying safety and deadlock properties of networks of asynchronously communicating processes. In Proc. 9th IFIP WG6.1 Symp. on Protocol Specification, Testing, and Verification, Twente, Holland, 1989.Google Scholar
  22. [Pnu86]
    A. Pnueli. Applications of temporal logic to the specification and verification of reactive systems: A survey of corrent trends. In de Bakker, de Roever, and Rozenberg, editors, Current Trends in Concurrency, volume 224 of Lecture Notes in Computer Science, pages 510–584. Springer Verlag, 1986.Google Scholar
  23. [Sis88]
    A. P. Sistla. On verifying that a concurrent program satisfies a non-deterministic specification. Technical Report TR 88-378.01.1, Computer and Intelligent Systems Lab. GTE Laboratories, May 1988.Google Scholar
  24. [Sta84]
    E. W. Stark. Foundations of a Theory of Specification for Distributed Systems. PhD thesis, Massachusetts Inst. of Technology, 1984. Available as Report No. MIT/LCS/TR-342.Google Scholar
  25. [Sta88]
    E. W. Stark. Proving entailment between conceptual state specifications. Theoretical Computer Science, 56:135–154, 1988.Google Scholar
  26. [VW86]
    M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. IEEE 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
  1. 1.Swedish Institute of Computer ScienceKistaSweden
  2. 2.Dept. of Computer SystemsUppsala UniversitySweden

Personalised recommendations