Acta Informatica

, Volume 42, Issue 8–9, pp 583–602 | Cite as

Splitting forward simulations to copewith liveness

  • Wim H. Hesselink
Original Article


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.


Memory State History Variable Proof Obligation Forward Simulation Visible Behaviour 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82, 253–284 (1991)CrossRefGoogle Scholar
  2. 2.
    Afek, Y., Brown, G., Merrit, M.: Lazy caching. ACM Trans. Program Lang. Syst. 15, 182–206 (1993)CrossRefGoogle Scholar
  3. 3.
    Dijkstra, E.W.: A class of allocation strategies inducing bounded delays only. Technical Report, Technical University Eindhoven, EWD 319, see (1971)Google Scholar
  4. 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)Google Scholar
  5. 5.
    Hesselink, W.H.: Deadlock and fairness in morphisms of transition systems. Theor. Comput. Sci. 59, 235–257 (1988)CrossRefGoogle Scholar
  6. 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)Google Scholar
  7. 7.
    Hesselink, W.H.: Refinement verification of the lazy caching algorithm. manuscript in preparation, see∼wim/pub/mans.html (2006)
  8. 8.
    Hesselink, W.H.: Using eternity variables to specify and prove a serializable database interface. Sci. Comput. Program 51, 47–85 (2004)CrossRefGoogle Scholar
  9. 9.
    Hesselink, W.H.: Eternity variables to prove simulation of specifications. ACM Trans. Comp. Logic 6, 175–201 (2005)CrossRefGoogle Scholar
  10. 10.
    Hesselink, W.H.: Universal extensions to simulate specifications. Manuscript in preparation, see wim/pub/mans.html (2005)Google Scholar
  11. 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. 12.
    Jonsson, B., Pnueli, A., Rump, C.: Proving refinement using transduction. Distr. Comput. 12, 129–149 (1999)CrossRefGoogle Scholar
  13. 13.
    Ladkin, P., Lamport, L., Olivier, B., Roegel, D.: Lazy caching inTLA. Distr. Comput. 12, 151–174 (1999)CrossRefGoogle Scholar
  14. 14.
    Lamport, L.: A simple approach to specifying concurrent systems. Commun. ACM 32, 32–45 (1989)CrossRefGoogle Scholar
  15. 15.
    Lamport, L.: How to write a proof. Am. Math. Month. 102, 600–608 (1993)Google Scholar
  16. 16.
    Lamport, L.: The temporal logic of actions. ACM Trans. Program Lang. Syst. 16, 872–923 (1994)CrossRefGoogle Scholar
  17. 17.
    Lynch, N., Vaandrager, F.: Forward and backward simulations. Part I: Untimed systems. Inf. Comput. 121, 214–233 (1995)Google Scholar
  18. 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–489Google Scholar
  19. 19.
    Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Inf. 6, 319–340 (1976)CrossRefGoogle Scholar
  20. 20.
    Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Version 2.4, System Guide, Prover Guide, PVS Language Reference, (2001)

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  1. 1.Department of Mathematics and Computing ScienceRijksuniversiteit GroningenGroningenThe Netherlands

Personalised recommendations