Skip to main content

Logical foundations for compositional verification and development of concurrent programs in UNITY

  • Refereed Contributions
  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 936))

Abstract

To achieve modularity, we view UNITY specifications as describing open (rather than closed) systems. These may be composed in parallel or through hiding of global variables. Adopting the assumption-commitment paradigm, conventional properties of UNITY programs are extended with an explicit rely condition on interference; previous variants of the logic can be retrieved by specialising or omitting this rely condition. The outcome is a complete compositional proof system for both safety and progress properties.

Research supported in part by the Belgian National Funds for Scientific Research, in part by the UK Science and Engineering Research Council, and in part by the Midwest University Consortium for International Activities, U.S.A.

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. M. Abadi and L. Lamport, Composing specifications, ACM Transactions on Programming Languages and Systems, 15:73–132, 1993.

    Google Scholar 

  2. M. Abadi and L. Lamport, Decomposing specifications of concurrent systems, in E.R. Olderog, ed., Proc. IFIP Conference on Programming Concepts, Methods and Calculi, 1994, pp. 323–336.

    Google Scholar 

  3. H. Barringer, R. Kuiper, and A. Pnueli, Now you may compose temporal logic specifications, in Proc. 16th ACM Symposium on Theory of Computing, 1984, pp. 51–63.

    Google Scholar 

  4. K.M. Chandy and J. Misra, Parallel Program Design: a Foundation, Addison-Wesley, 1988.

    Google Scholar 

  5. P. Collette, Composition of assumption-commitment specifications in a UNITY style, Science of Computer Programming, 23:107–125, 1994.

    Google Scholar 

  6. P. Collette, Design of Compositional Proof Systems Based on Assumption-Commitment Specifications — Application to UNITY, Ph.D. Thesis, 1994, Université Catholique de Louvain.

    Google Scholar 

  7. C.B. Jones, Development Methods for Computer Programs Including a Notion of Interference, Ph.D. Thesis, 1981, Oxford University.

    Google Scholar 

  8. C.S. Jutla, E. Knapp, and J.R. Rao, A predicate transformer approach to the semantics of parallel programs, Proc. 8th ACM Symposium on Principles of Distributed Computing, 1989, pp. 249–263.

    Google Scholar 

  9. E. Knapp, Derivation of concurrent programs: two examples, Science of Computer Programming, 19:1–23, 1992.

    Google Scholar 

  10. L. Lamport, win and sin: predicate transformers for concurrency, ACM Transactions on Programming Languages and Systems, 1990, 12:396–428, 1990.

    Google Scholar 

  11. J. Misra and K.M. Chandy, Proofs of networks of processes, IEEE Transactions on Software Engineering, 7:417–426, 1981.

    Google Scholar 

  12. A. Mokkedem and D. Méry, On using temporal logic for refinement and compositional verification of concurrent systems, Theoretical Computer Science, 140:95–138,1995.

    Google Scholar 

  13. S. Owicki and D. Gries, An axiomatic proof technique for parallel programs, Acta Informatica, 6:319–340, 1976.

    Google Scholar 

  14. P.K. Pandya and M. Joseph, P-A logic — a compositional proof system for distributed programs, Distributed Computing, 5:37–54, 1991.

    Google Scholar 

  15. B. Sanders, Eliminating the substitution axiom from UNITY logic, Formal Aspects of Computing, 3:189–205, 1991.

    Google Scholar 

  16. M. Staskauskas, Formal derivation of concurrent programs: an example from industry, IEEE Transactions on Software Engineering, 19:503–528, 1993.

    Google Scholar 

  17. K. Stølen, A method for the development of totally correct shared-state parallel programs, in J.C.M. Baeten and J.F. Groote, eds., Concurrency Theory, Springer-Verlag, 1991, LNCS 527, pp. 510–525.

    Google Scholar 

  18. R.T. Udink, T. Herman, and J.N. Kok, Progress for local variables in UNITY, in E.R. Olderog, ed., Proc. IFIP Conference on Programming Concepts, Methods and Calculi, 1994, pp. 124–143.

    Google Scholar 

  19. Q. Xu and J. He, A theory of state-based parallel programming: part I, in J. Morris and R.C. Shaw, eds., Proc. 4th Refinement Workshop, Springer-Verlag, 1991, pp. 326–359.

    Google Scholar 

  20. J. Zwiers, Compositionality, Concurrency, and Partial Correctness, Springer-Verlag, 1989, LNCS 321.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

V. S. Alagar Maurice Nivat

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Collette, P., Knapp, E. (1995). Logical foundations for compositional verification and development of concurrent programs in UNITY. In: Alagar, V.S., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1995. Lecture Notes in Computer Science, vol 936. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60043-4_64

Download citation

  • DOI: https://doi.org/10.1007/3-540-60043-4_64

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60043-5

  • Online ISBN: 978-3-540-49410-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics