Skip to main content
Log in

A predicate transformer for the progress property ‘to-always’

  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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.

    Google Scholar 

  2. Chandy, K. M. Properties of parallel programs.Formal Aspects of Computing, 1993.

  3. Chandy, K. M, 1994. Personal communication.

  4. Chandy, K. M. and Misra,J. Parallel Program Design: A Foundation. Addison-Wesley, 1988.

  5. 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.

  6. Chandy, K. M. and Sanders, B. A. Predicate transformers for reasoning about concurrent computation.Science of Computer Programming, 24: 129–148, 1995.

    Google Scholar 

  7. Dijkstra, E. W. and Scholten, C. S.Predicate Calculus and Program Semantics. Springer-Verlag, 1990.

  8. Gouda, M., May 1995. Personal communication.

  9. 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.

  10. Knapp, E. A predicate transformer for progress.Information Processing Letters, 33, 1989/90.

  11. Lamport, L.win andsin: Predicate transformers for concurrency.ACM Transactions on Programming Languages and Systems, 12(3), 1990.

  12. Misra, J. A logic for concurrent programming: Progress.Journal of Computer and Software Engineering, 3(2):273–300, 1995.

    Google Scholar 

  13. Misra, J. A logic for concurrent programming: Safety.Journal of Computer and Software Engineering, 3(2):239–272, 1995.

    Google Scholar 

  14. Sanders, B. A. Eliminating the substitution axiom from UNITY logic.Formal Aspects of Computing, 3(2), 1991.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rutger M. Dijkstra.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211085

Keywords

Navigation