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.
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport, Composing specifications, ACM Transactions on Programming Languages and Systems, 15:73–132, 1993.
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.
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.
K.M. Chandy and J. Misra, Parallel Program Design: a Foundation, Addison-Wesley, 1988.
P. Collette, Composition of assumption-commitment specifications in a UNITY style, Science of Computer Programming, 23:107–125, 1994.
P. Collette, Design of Compositional Proof Systems Based on Assumption-Commitment Specifications — Application to UNITY, Ph.D. Thesis, 1994, Université Catholique de Louvain.
C.B. Jones, Development Methods for Computer Programs Including a Notion of Interference, Ph.D. Thesis, 1981, Oxford University.
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.
E. Knapp, Derivation of concurrent programs: two examples, Science of Computer Programming, 19:1–23, 1992.
L. Lamport, win and sin: predicate transformers for concurrency, ACM Transactions on Programming Languages and Systems, 1990, 12:396–428, 1990.
J. Misra and K.M. Chandy, Proofs of networks of processes, IEEE Transactions on Software Engineering, 7:417–426, 1981.
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.
S. Owicki and D. Gries, An axiomatic proof technique for parallel programs, Acta Informatica, 6:319–340, 1976.
P.K. Pandya and M. Joseph, P-A logic — a compositional proof system for distributed programs, Distributed Computing, 5:37–54, 1991.
B. Sanders, Eliminating the substitution axiom from UNITY logic, Formal Aspects of Computing, 3:189–205, 1991.
M. Staskauskas, Formal derivation of concurrent programs: an example from industry, IEEE Transactions on Software Engineering, 19:503–528, 1993.
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.
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.
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.
J. Zwiers, Compositionality, Concurrency, and Partial Correctness, Springer-Verlag, 1989, LNCS 321.
Author information
Authors and Affiliations
Editor information
Rights 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