Abstract
The temporal property ‘to-always’ has been proposed for specifying progress properties of concurrent programs. Although the ‘to-always’ properties are a subset of the ‘leads-to’ properties for a given program, ‘to-always’ has more convenient proof rules and in some cases more accurately describes the desired system behavior. In this paper, we give a predicate transformerwta, derive some of its properties, and use it to define ‘to-always’. Proof rules for ‘to-always’ are derived from the properties ofwta. We conclude by briefly describing two application areas, nondeterministic data flow networks and self-stabilizing systems where ‘to-always’ properties are useful.
Similar content being viewed by others
References
Arora, A. and Gouda, M. Closure and convergence: A foundation of fault-tolerant computing.IEEE Transactions of Software Engineering, 19(11):1015–1027, November 1993.
Chandy, K. M. Properties of parallel programs.Formal Aspects of Computing, 1993.
Chandy, K. M, 1994. Personal communication.
Chandy, K. M. and Misra,J. Parallel Program Design: A Foundation. Addison-Wesley, 1988.
Chandy, K. M. and Sanders, B. A. Compositional specifications of parallel programs: Nondeterministic data flow. In Guy E. Blelloch, K. Mani Chandy, and Suresh Jagannathan, editors,Specification of Parallel Algorithms, pages 51–64. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, 1994.
Chandy, K. M. and Sanders, B. A. Predicate transformers for reasoning about concurrent computation.Science of Computer Programming, 24: 129–148, 1995.
Dijkstra, E. W. and Scholten, C. S.Predicate Calculus and Program Semantics. Springer-Verlag, 1990.
Gouda, M., May 1995. Personal communication.
Jutla, C. S., Knapp, E. and Rao, J. R. A predicate transformer approach to semantics of parallel programs. InProceeding of the 8th ACM Symposium on Principles of Distributed Computing, 1989.
Knapp, E. A predicate transformer for progress.Information Processing Letters, 33, 1989/90.
Lamport, L.win andsin: Predicate transformers for concurrency.ACM Transactions on Programming Languages and Systems, 12(3), 1990.
Misra, J. A logic for concurrent programming: Progress.Journal of Computer and Software Engineering, 3(2):273–300, 1995.
Misra, J. A logic for concurrent programming: Safety.Journal of Computer and Software Engineering, 3(2):239–272, 1995.
Sanders, B. A. Eliminating the substitution axiom from UNITY logic.Formal Aspects of Computing, 3(2), 1991.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Dijkstra, R.M., Sanders, B.A. A predicate transformer for the progress property ‘to-always’. Formal Aspects of Computing 9, 270–282 (1997). https://doi.org/10.1007/BF01211085
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01211085