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.
Similar content being viewed by others
References
Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82, 253–284 (1991)
Afek, Y., Brown, G., Merrit, M.: Lazy caching. ACM Trans. Program Lang. Syst. 15, 182–206 (1993)
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)
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)
Hesselink, W.H.: Deadlock and fairness in morphisms of transition systems. Theor. Comput. Sci. 59, 235–257 (1988)
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)
Hesselink, W.H.: Refinement verification of the lazy caching algorithm. manuscript in preparation, see http://www.cs.rug.nl/∼wim/pub/mans.html (2006)
Hesselink, W.H.: Using eternity variables to specify and prove a serializable database interface. Sci. Comput. Program 51, 47–85 (2004)
Hesselink, W.H.: Eternity variables to prove simulation of specifications. ACM Trans. Comp. Logic 6, 175–201 (2005)
Hesselink, W.H.: Universal extensions to simulate specifications. Manuscript in preparation, see www.cs.rug.nl/ wim/pub/mans.html (2005)
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)
Jonsson, B., Pnueli, A., Rump, C.: Proving refinement using transduction. Distr. Comput. 12, 129–149 (1999)
Ladkin, P., Lamport, L., Olivier, B., Roegel, D.: Lazy caching inTLA. Distr. Comput. 12, 151–174 (1999)
Lamport, L.: A simple approach to specifying concurrent systems. Commun. ACM 32, 32–45 (1989)
Lamport, L.: How to write a proof. Am. Math. Month. 102, 600–608 (1993)
Lamport, L.: The temporal logic of actions. ACM Trans. Program Lang. Syst. 16, 872–923 (1994)
Lynch, N., Vaandrager, F.: Forward and backward simulations. Part I: Untimed systems. Inf. Comput. 121, 214–233 (1995)
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
Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Inf. 6, 319–340 (1976)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-006-0007-y