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

  • Pierre Collette
  • Edgar Knapp
Refereed Contributions Concurrent and Reactive Systems
Part of the Lecture Notes in Computer Science book series (LNCS, volume 936)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Abadi and L. Lamport, Composing specifications, ACM Transactions on Programming Languages and Systems, 15:73–132, 1993.Google Scholar
  2. 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. 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. 4.
    K.M. Chandy and J. Misra, Parallel Program Design: a Foundation, Addison-Wesley, 1988.Google Scholar
  5. 5.
    P. Collette, Composition of assumption-commitment specifications in a UNITY style, Science of Computer Programming, 23:107–125, 1994.Google Scholar
  6. 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. 7.
    C.B. Jones, Development Methods for Computer Programs Including a Notion of Interference, Ph.D. Thesis, 1981, Oxford University.Google Scholar
  8. 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. 9.
    E. Knapp, Derivation of concurrent programs: two examples, Science of Computer Programming, 19:1–23, 1992.Google Scholar
  10. 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. 11.
    J. Misra and K.M. Chandy, Proofs of networks of processes, IEEE Transactions on Software Engineering, 7:417–426, 1981.Google Scholar
  12. 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. 13.
    S. Owicki and D. Gries, An axiomatic proof technique for parallel programs, Acta Informatica, 6:319–340, 1976.Google Scholar
  14. 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. 15.
    B. Sanders, Eliminating the substitution axiom from UNITY logic, Formal Aspects of Computing, 3:189–205, 1991.Google Scholar
  16. 16.
    M. Staskauskas, Formal derivation of concurrent programs: an example from industry, IEEE Transactions on Software Engineering, 19:503–528, 1993.Google Scholar
  17. 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. 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. 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. 20.
    J. Zwiers, Compositionality, Concurrency, and Partial Correctness, Springer-Verlag, 1989, LNCS 321.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Pierre Collette
    • 1
  • Edgar Knapp
    • 2
  1. 1.Department of Computer ScienceUniversity of ManchesterManchesterUK
  2. 2.Department of Computer SciencePurdue UniversityWest LafayetteUSA

Personalised recommendations