Skip to main content
Log in

Splitting forward simulations to copewith liveness

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

In the literature, the conditions on history variables or forward simulations that are related to liveness are expressed in terms of behaviours, and are stronger than convenient and necessary. In this paper, we propose alternative conditions on the simulation relation, which are expressed in terms of the next state relation, and are closely tied to the weak or strong fairness conditions of the specifications. The proof of soundness of this proposal is based on a new theorem that asserts the existence of a strongly fair scheduler for infinitely many alternatives. The theory is extended to simulations in which the concrete specification (occasionally) does fewer steps than the abstract specification it implements.

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. Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82, 253–284 (1991)

    Article  Google Scholar 

  2. Afek, Y., Brown, G., Merrit, M.: Lazy caching. ACM Trans. Program Lang. Syst. 15, 182–206 (1993)

    Article  Google Scholar 

  3. Dijkstra, E.W.: A class of allocation strategies inducing bounded delays only. Technical Report, Technical University Eindhoven, EWD 319, see www.cs.utexas.edu/users/EWD (1971)

  4. He, J., Hoare, C.A.R., Sanders, J.W.: Data refinement refined. In: Robinet, B., Wilhelm, R. (eds.) ESOP 86, LNCS, vol. 213, Springer, New York, pp. 187–196 (1986)

  5. Hesselink, W.H.: Deadlock and fairness in morphisms of transition systems. Theor. Comput. Sci. 59, 235–257 (1988)

    Article  Google Scholar 

  6. Hesselink, W.H.: Eternity variables to simulate specifications. In: Boiten, E.A., Moeller, B. (eds.) MPC 2002, LNCS, vol. 2386, Springer, New York, pp. 117–30 (2002)

  7. Hesselink, W.H.: Refinement verification of the lazy caching algorithm. manuscript in preparation, see http://www.cs.rug.nl/∼wim/pub/mans.html (2006)

  8. Hesselink, W.H.: Using eternity variables to specify and prove a serializable database interface. Sci. Comput. Program 51, 47–85 (2004)

    Article  Google Scholar 

  9. Hesselink, W.H.: Eternity variables to prove simulation of specifications. ACM Trans. Comp. Logic 6, 175–201 (2005)

    Article  Google Scholar 

  10. Hesselink, W.H.: Universal extensions to simulate specifications. Manuscript in preparation, see www.cs.rug.nl/ wim/pub/mans.html (2005)

  11. Jonnson, B.: Simulations between specifications of distributed systems. In: Baeten, J.C.M., Groote, J.F. (eds.) CONCUR ‘91, LNCS, vol. 527, Springer, New York, pp. 346–360 (1991)

    Google Scholar 

  12. Jonsson, B., Pnueli, A., Rump, C.: Proving refinement using transduction. Distr. Comput. 12, 129–149 (1999)

    Article  Google Scholar 

  13. Ladkin, P., Lamport, L., Olivier, B., Roegel, D.: Lazy caching inTLA. Distr. Comput. 12, 151–174 (1999)

    Article  Google Scholar 

  14. Lamport, L.: A simple approach to specifying concurrent systems. Commun. ACM 32, 32–45 (1989)

    Article  Google Scholar 

  15. Lamport, L.: How to write a proof. Am. Math. Month. 102, 600–608 (1993)

    Google Scholar 

  16. Lamport, L.: The temporal logic of actions. ACM Trans. Program Lang. Syst. 16, 872–923 (1994)

    Article  Google Scholar 

  17. Lynch, N., Vaandrager, F.: Forward and backward simulations. Part I: Untimed systems. Inf. Comput. 121, 214–233 (1995)

    Google Scholar 

  18. Milner, R.: An algebraic definition of simulation between programs. In: Proceedings of the 2nd International Joint Conference on Artificial Intelligence, British Computer Society 1971, pp. 481–489

  19. Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Inf. 6, 319–340 (1976)

    Article  Google Scholar 

  20. Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Version 2.4, System Guide, Prover Guide, PVS Language Reference, http://pvs.csl.sri.com (2001)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wim H. Hesselink.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hesselink, W.H. Splitting forward simulations to copewith liveness. Acta Informatica 42, 583–602 (2006). https://doi.org/10.1007/s00236-006-0007-y

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-006-0007-y

Keywords

Navigation