Abstract
A compositional proof system is formulated to verify that a distributed system meets a real-time temporal logic specification. The specifications use linear temporal logic extended with a quantitative notion of time to express real-time properties. The programming language is a real-time version of CSP, akin to OCCAM, including nested parallelism with synchronous communication via channels. Concurrency is modelled as maximal parallelism, implying that no process waits unnecessarily. A denotational semantics of the programming language is formulated in which communications are represented by (possibly overlapping) intervals along a (possibly dense) time scale. The proof system is sound with respect to this semantics. Compositionality of our proof system makes it possible to verify design steps while developing a program. An example demonstrates our specifications and the use of the formalism during program development. Finally, the axiomatic system is shown to be complete relative to provability of valid formulae in real-time temporal logic.
This work was supported by ESPRIT Project 937: Debugging and Specification of Ada Real-Time Embedded Systems (DESCARTES).
The work described here was done while this author was in the computer science department at Cornell University.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The Programming Language Ada, Reference Manual. LNCS 155, Springer-Verlag, 1983.
A. Bernstein and P.K. Harter, Jr. Proving real-time properties of programs with temporal logic. In Proc. of the 8th Symp. on Operating System Principles, pages 1–11, 1981.
H. Barringer, R. Kuiper, and A. Pnueli. Now you may compose temporal logic specifications. In Proc. of the 16th Symp. on Theory of Computing, pages 51–63, 1984.
Zhou Chao Chen and C.A.R. Hoare. Partial correctness of Communicating Sequential Processes. In Proc. of the IEEE International Conf. on Distributed Computing Systems, pages 1–12, 1981.
C. Huizing, R. Gerth, and W.P. de Roever. Full abstraction of a real-time denotational semantics for an OCCAM-like language. In Proc. of the 14th POPL, pages 223–237, 1987.
K. Hay, S. Manchanda, and R. Schlichting. A temporal logic for proving real-time properties of distributed programs. Technical Report TR 88-40, Department of Computer Science, The University of Arizona, Tucson, Arizona, 1988.
C.A.R. Hoare. Communicating Sequential Processes. Comm. of the ACM, 21(8):666–677, 1978.
J. Hooman. A compositional proof theory for real-time distributed message passing. In Parallel Architectures and Languages Europe, pages 315–332. LNCS 259, Springer-Verlag, 1987.
J. Hooman and J. Widom. A temporal-logic based compositional proof system for real-time message passing. Technical report, Department of Mathematics and Computing Science, Eindhoven University of Technology, The Netherlands, 1989.
R. Koymans and W.P. de Roever. Examples of a real-time temporal logic specification. In The Analysis of Concurrent Systems, pages 231–252. LNCS 207, Springer-Verlag, 1983.
R. Koymans, R. Kuiper, and E. Zijlstra. Specifying real-time and message passing systems with real-time temporal logic. In Proc. of the 4th Esprit Conf., pages 311–324, 1987.
R. Koymans, R.K. Shyamasundar, W.P. de Roever, R. Gerth, and S. Arun-Kumar. Compositional semantics for real-time distributed computing. Information and Computation, 79(3):210–256, 1988.
R. Koymans, J. Vytopyl, and W.P. de Roever. Real-time programming and asynchronous message passing. In Proc. of the 2nd PODC, pages 187–197, 1983.
Z. Manna and A. Pnueli. Verification of concurrent programs: a temporal proof system. In Foundations of Computer Science IV, Distributed Systems: Part 2, volume 159 of Mathematical Centre Tracts, pages 163–255, 1982.
V. Nguyen, A. Demers, D. Gries, and S. Owicki. A model and temporal proof system for networks of processes. Distributed Computing, 1(1):7–25, 1986.
INMOS Limited. OCCAM 2 Reference Manual, 1988.
S. Owicki and L. Lamport. Proving liveness poperties of concurrent programs. ACM Transactions on Programming Languages and Systems, 4(3):455–495, 1982.
A. Pnueli and E. Harel. Applications of temporal logic to the specification of real-time systems. In Formal Techniques in Real-Time and Fault-Tolerant Systems, pages 84–98. LNCS 331, 1988.
A. Pnueli. The temporal logic of programs. In Proc. of the 18th FOCS, pages 46–57, 1977.
A.U. Shankar and S.S. Lam. Time-dependent distributed systems: proving safety, liveness and real-time properties. Distributed Computing, 2:61–79, 1987.
D.E. Shasha, A. Pnueli, and W. Ewald. Temporal verification of carrier-sense local area network protocols. In Proc. of the 11th POPL, pages 54–65, 1984.
J. Widom, D. Gries, and F.B. Schneider. Completeness and incompleteness of trace-based network proof systems. In Proc. of the 14th POPL, pages 27–38, 1987.
J. Zwiers, W.P. de Roever, and P. van Emde Boas. Compositionality and concurrent networks: soundness and completeness of a proofsystem. In Proc. of the 12th ICALP, pages 509–519. LNCS 194, Springer-Verlag, 1985.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hooman, J., Widom, J. (1989). A temporal-logic based compositional proof system for real-time message passing. In: Odijk, E., Rem, M., Syre, JC. (eds) PARLE '89 Parallel Architectures and Languages Europe. PARLE 1989. Lecture Notes in Computer Science, vol 366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51285-3_56
Download citation
DOI: https://doi.org/10.1007/3-540-51285-3_56
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51285-1
Online ISBN: 978-3-540-46184-5
eBook Packages: Springer Book Archive