Skip to main content

Refinement and composition of transition-based rely-guarantee specifications with auxiliary variables

  • Distributed Computing
  • Conference paper
  • First Online:
Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1990)

Abstract

We combine two ideas for specification and verification of concurrent systems: The rely-guarantee paradigm and transition-based specification. We consider specification of safety properties of shared variable systems. A component is specified by stating which transitions its environment is allowed to make to the interface variables and which changes the component then guarantees to stay within. Auxiliary variables are used to carry history information. For such specifications, we present proof rules for verifying that one specification refines another and that parallel composition of components implements a given specification. Application of the rules is illustrated by small examples.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Martin Abadi & Leslie Lamport: The Existence of Refinement Mappings. Digital Equipment Corporation 1988. Shortened version in Proceedings of the LICS Conference, Edinburgh, Scotland. July 1988.

    Google Scholar 

  2. Martin Abadi & Leslie Lamport: Composing Specifications. In proc. of REX workshop on stepwise refinement of distributed systems, LNCS 430, Springer-Verlag 1990, pages 1–41.

    Google Scholar 

  3. Howard Barringer, Ruurd Kuiper & Amir Pnueli: Now You May Compose Temporal Logic Specifications Proceedings of the 16th ACM SOTCS, Washington 1984, pages 57–63.

    Google Scholar 

  4. Mani Chandy & Jajadev Misra: Parallel Program Design — A Foundation. Addison-Wesley Publishing Company Inc. 1988.

    Google Scholar 

  5. P. Grønning & T. Qvist Nielsen: Compositional Specification and Verification of Concurrent Systems. Master's Thesis, Department of Computer Science, Technical University of Denmark, January 1990.

    Google Scholar 

  6. C.A.R Hoare: Communicating Sequential Processes, Prentice Hall, 1985.

    Google Scholar 

  7. Cliff B. Jones: Specification and Design of (Parallel) Programs. Proceedings of IFIP 83, pages 321–332.

    Google Scholar 

  8. Bengt Jonsson: Compositional Verification of Distributed Systems. Ph.D. Thesis. Uppsala DoCS 87/09 1987.

    Google Scholar 

  9. Bengt Jonsson: On Decomposing and Refining Specifications of Distributed Systems. In proc. of REX workshop on stepwise refinement of distributed systems, LNCS 430, Springer-Verlag 1990, pages 361–385

    Google Scholar 

  10. N. Klarlund & F.B. Schneider: Verifying Safety Properties Using Infinite-State Automata. Technical Report, No. TR 89-1036, Cornell University, 1989.

    Google Scholar 

  11. Reino Kurki-Suonio: Operational Specification with Joint Actions: Serializable Databases. To appear in Distributed Computing.

    Google Scholar 

  12. Leslie Lamport: Specifying Concurrent Program Modules. ACM Transactions on Programming Languages and Systems, Vol. 5, No. 2, April 1983, pages 190–222.

    Google Scholar 

  13. S.S. Lam & A.U. Shankar: Protocol verification via projections. IEEE Transactions on Software Engineering, Vol. SE-10, No. 4, July 1984, pages 325–342.

    Google Scholar 

  14. Nancy A. Lynch & Mark R. Tuttle: Hierachical Correctness Proofs for Distributed Algorithms. In proc. of the Sixth Symposium on the Principles of Distributed Computing, ACM, August 1987, pages 137–151.

    Google Scholar 

  15. Alain J. Martin: Compiling communicating processes into delay-insensitive VLSI circuits, Distributed Computing, Vol. 1 1986, pages 226–234.

    Google Scholar 

  16. Robin Milner: Communication and Concurrency, Prentice Hall, 1989.

    Google Scholar 

  17. Jayadev Misra & K. Mani Chandy: Proofs of Networks of Processes. IEEE Transactions of Software Engineering, Vol. SE-7, No. 4, July 1981, pages 417–426.

    Google Scholar 

  18. P. Pandya: Compositional Verification of Distributed Programs. Ph.D. Thesis. University of Bombay, 1988.

    Google Scholar 

  19. Amir Pnueli: In Transition From Global to Modular Temporal Reasoning about Programs. NATO ASI Series, Vol. F13, Logics and Models of Concurrent Systems, Springer-Verlag 1985, pages 123–144.

    Google Scholar 

  20. Eugene W. Stark: A Proof Technique for Rely/Guarantee Properties. Foundations of Software Technology and Theoretical Computer Science, LNCS 206, Springer-Verlag, 1985, pages 369–391.

    Google Scholar 

  21. Eugene W. Stark: Proving Entailment Between Conceptual State Specifications. European Symposium on Programming, Saarbrücken, LNCS 213, Springer-Verlag, 1986, pages 197–209.

    Google Scholar 

  22. Jørgen Staunstrup & Mark Greenstreet: Synchronized Transitions. In Jørgen Staustrup (ed) Formal Methods for VLSI Design, North-Holland, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kesav V. Nori C. E. Veni Madhavan

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Grønning, P., Nielsen, T.Q., Løvengreen, H.H. (1990). Refinement and composition of transition-based rely-guarantee specifications with auxiliary variables. In: Nori, K.V., Veni Madhavan, C.E. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1990. Lecture Notes in Computer Science, vol 472. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53487-3_55

Download citation

  • DOI: https://doi.org/10.1007/3-540-53487-3_55

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53487-7

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics