Abstract
Among the many opportunities offered by computational semantics for probability, the challenge of probabilistic Event B (pEB) is one of the most attractive.
The B method itself is now almost 20 years old, and has been much improved and adapted over that time by the many projects to which it has been applied, and by its philosophy —right from the start— that it must be practical, effective and amenable to tool support.; more recently, EventB has extended it and altered its style of use. The probabilistic-program semantics we appeal to is even older (in Kozen’s original form), but has only recently been “revived” in the context of B-style abstraction and refinement.
The especial attraction of putting the two together is the likely interplay between the probabilistic theory, on the one hand, and the decades of practical experience that have by now been built-in to the B approach, on the other.
In particular, there are areas where a full theoretical treatment of probability, concurrency, abstraction and refinement —all at once— seems prohibitively complex; and yet in practice either the complexities seldom occur, or the exigencies of B’s having been so-often applied to real, non-toy problems has forced it to evolve styles for avoiding such complexities. In short, we want to use (event) B to guide us towards the issues that truly are important.
Rabin’s randomized mutual-exclusion algorithm is used as a motivating case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abrial, J.-R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Bert, D., Bowen, J.P., King, S., Waldén, M. (eds.): ZB 2003. LNCS, vol. 2651. Springer, Heidelberg (2003)
Butler, M.J.: A CSP approach to action systems. DPhil thesis, Computing Lab., Oxford University (1992)
Butler, M.J., Morgan, C.C.: Action systems, unbounded nondeterminism and infinite traces. Formal Aspects of Computing 7(1), 37–53 (1995)
Chen, W., Udding, J.T.: Towards a calculus of data refinement. In: van de Snepscheut, J.L.A. (ed.) MPC 1989. LNCS, vol. 375. Springer, Heidelberg (1989)
Dijkstra, E.W.: A Discipline of Programming. Prentice Hall International, Englewood Cliffs (1976)
Gries, D., Prins, J.: A new notion of encapsulation. In: Symposium on Language Issues in Programming Environments, SIGPLAN (June 1985)
He, J., Hoare, C.A.R., Sanders, J.W.: Data refinement refined. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 187–196. Springer, Heidelberg (1986)
He, J., Seidel, K., McIver, A.K.: Probabilistic models for the guarded command language. Science of Computer Programming 28, 171–192 (1997), Available at [15- key HSM95], dx.doi.org/10.1016/S0167-64239600019-6
Hoang, T.S., Jin, Z., Robinson, K., McIver, A., Morgan, C., Hoang, T.S.: Development via refinement in probabilistic B — foundation and case study. LNCS. Springer, Hiedelberg
Hoang, T.S., Jin, Z., Robinson, K., McIver, A., Morgan, C., Hoang, T.S.: Probabilistic invariants for probabilistic machines. In: Bert et al.[2]
Kozen, D.: Semantics of probabilistic programs. Jnl. Comp. Sys. Sciences 22, 328–350 (1981)
Kozen, D.: A probabilistic PDL. Jnl. Comp. Sys. Sciences 30(2), 162–178 (1985)
Kushilevitz, E., Rabin, M.O.: Randomized mutual exclusion algorithms revisited. In: Proc. 11th Annual ACM Symp. on Principles of Distributed Computing (1992)
McIver, A.K., Morgan, C.C., Sanders, J.W., Seidel, K.: Probabilistic Systems Group: Collected reports, web.comlab.ox.ac.uk/oucl/research/areas/probs
McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. In: Technical Monographs in Computer Science. Springer, New York (2004)
McIver, A., Morgan, C., Hoang, T.S.: Probabilistic termination in B. In: Bert et al. [2]
Morgan, C.: The generalised substitution language extended to probabilistic programs. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, p. 9. Springer, Heidelberg (1998)
Morgan, C.C.: The specification statement. ACM Transactions on Programming Languages and Systems 10(3), 403–419 (1988) Reprinted in [22], doi.acm.org/10.1145/44501.44503
Morgan, C.C.: Of wp and CSP. In: Feijen, W.H.J., et al. (eds.) Beauty is Our Business. Springer, Heidelberg (1990)
Morgan, C.C., McIver, A.K., Seidel, K.: Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems 18(3), 325–53 (1996), doi.acm.org/10.1145/229542.229547
Morgan, C.C., Vickers, T.N. (eds.): On the Refinement Calculus. FACIT Series in Computer Science. Springer, London (1994)
Morris, J.M.: A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming 9(3), 287–306 (1987)
Nelson, G.: A generalization of Dijkstra’s calculus. ACM Transactions on Programming Languages and Systems 11(4), 517–561 (1989)
Rabin, M.O.: N-process mutual exclusion with bounded waiting by 4log2N-valued shared variable. Journal of Computer and System Sciences 25(1), 66–75 (1982)
Saias, I.: Proving probabilistic correctness statements: the case of Rabin’s algorithm for mutual exclusion. In: Proc. 11th Annual ACM Symp. on Principles of Distributed Computing (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Morgan, C., Hoang, T.S., Abrial, JR. (2005). The Challenge of Probabilistic Event B—Extended Abstract— . In: Treharne, H., King, S., Henson, M., Schneider, S. (eds) ZB 2005: Formal Specification and Development in Z and B. ZB 2005. Lecture Notes in Computer Science, vol 3455. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11415787_10
Download citation
DOI: https://doi.org/10.1007/11415787_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25559-8
Online ISBN: 978-3-540-32007-4
eBook Packages: Computer ScienceComputer Science (R0)