Skip to main content

On decomposing and refining specifications of distributed systems

  • Technical Contributions
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. B. Alpern and F.S. Schneider. Verifying temporal properties without using temporal logic. Technical Report TR 85-723, Cornell University, 1985.

    Google Scholar 

  3. 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. 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. 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. K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.

    Google Scholar 

  7. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  8. 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. 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. 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. L. Lamport. Specifying concurrent program modules. ACM TOPLAS, 5(2):190–222, 1983.

    Article  Google Scholar 

  12. 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. 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. M. Merritt. Completeness theorems for automata. In this volume.

    Google Scholar 

  15. R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes of Computer Science. Springer Verlag, 1980.

    Google Scholar 

  16. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  17. 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. 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.

    Article  Google Scholar 

  19. 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. 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. 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. 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. 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. 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. E. W. Stark. Proving entailment between conceptual state specifications. Theoretical Computer Science, 56:135–154, 1988.

    Google Scholar 

  26. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jonsson, B. (1990). On decomposing and refining specifications of distributed systems. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness. REX 1989. Lecture Notes in Computer Science, vol 430. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52559-9_71

Download citation

  • DOI: https://doi.org/10.1007/3-540-52559-9_71

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52559-2

  • Online ISBN: 978-3-540-47035-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics