Abstract
In this paper, we present a technique to prove progress properties of non-terminating concurrent programs and to refine them in such a way that these properties are preserved. We rely on strong fairness assumptions about the language implementation.
We define a simple language based on Hoare-78 CSP. A program denotes a set of finite and infinite traces corresponding to all its possible computations. The semantics of a program is defined as the set of its fair traces. We also give a liveness-preserving implementation notion. Proof rules concerning progress properties and correction of refinements are given. We show that these proof rules are consistent with the given fair semantics. Finally, we verify and refine a non-trivial case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Springer-Verlag, 1991.
K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison Wesley, Reading, Massachusetts, 1988.
K.M. Chandy and J. Misra. Proof of Distributed Algorithms: An Exercise. In C.A.R. Hoare, editor, Development in Concurrency and Communication, pages 305–332. Addison Wesley, 1990.
N. Francez. Fairness. Springer-Verlag, 1986.
N. Francez. Program Verification. Addison-Wesley, 1992.
L.A. Galán and R. Peña. Verification and Refinement of Distributed Programs in a Fair Framework. Technical Report DIA-UCM 97/47, Universidad Complutense de Madrid, 1997.
C. A. R. Hoare. Communicating Sequential Processes. Comm. ACM, 21:666–677, 1978.
L. Lamport. Proving the Correctness of Multiprocess Programs. IEEE Trans. on Software Engineering, SE-3(2): 125–143, March 1977.
E.-R. Olderog and K. R. Apt. Fairness in Parallel Programs, the Transformational Approach. ACM Transactions on Programming Languages, 10(3):420–455, July 1988.
S. S. Owicki and L. Lamport. Proving Liveness Properties of Concurrent Programs. ACM TOPLAS, 4(3):455–495, July 1982.
J. Parrow. Fairness Properties in Process Algebra. Ph.D. thesis. Department of Computer Science, Uppsala University, Sweden, 1986.
A. Pnueli. The Temporal Logic of Programs. In 18th Symp. on the Foundations of Computer Science, pages 46–47, November 1977.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Galán, L.A., Peña, R. (1997). Verification and refinement of distributed programs in a fair framework. In: Bertran, M., Rus, T. (eds) Transformation-Based Reactive Systems Development. ARTS 1997. Lecture Notes in Computer Science, vol 1231. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63010-4_19
Download citation
DOI: https://doi.org/10.1007/3-540-63010-4_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63010-4
Online ISBN: 978-3-540-69058-0
eBook Packages: Springer Book Archive