The Challenge of Probabilistic Event B—Extended Abstract—

  • Carroll Morgan
  • Thai Son Hoang
  • Jean-Raymond Abrial
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3455)


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.


Probabilistic Event Critical Section Mutual Exclusion Probabilistic Choice Predicate Transformer 
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.
    Abrial, J.-R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Bert, D., Bowen, J.P., King, S., Waldén, M. (eds.): ZB 2003. LNCS, vol. 2651. Springer, Heidelberg (2003)zbMATHGoogle Scholar
  3. 3.
    Butler, M.J.: A CSP approach to action systems. DPhil thesis, Computing Lab., Oxford University (1992)Google Scholar
  4. 4.
    Butler, M.J., Morgan, C.C.: Action systems, unbounded nondeterminism and infinite traces. Formal Aspects of Computing 7(1), 37–53 (1995)zbMATHCrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Dijkstra, E.W.: A Discipline of Programming. Prentice Hall International, Englewood Cliffs (1976)zbMATHGoogle Scholar
  7. 7.
    Gries, D., Prins, J.: A new notion of encapsulation. In: Symposium on Language Issues in Programming Environments, SIGPLAN (June 1985)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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], zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    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, HiedelbergGoogle Scholar
  11. 11.
    Hoang, T.S., Jin, Z., Robinson, K., McIver, A., Morgan, C., Hoang, T.S.: Probabilistic invariants for probabilistic machines. In: Bert et al.[2]Google Scholar
  12. 12.
    Kozen, D.: Semantics of probabilistic programs. Jnl. Comp. Sys. Sciences 22, 328–350 (1981)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Kozen, D.: A probabilistic PDL. Jnl. Comp. Sys. Sciences 30(2), 162–178 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Kushilevitz, E., Rabin, M.O.: Randomized mutual exclusion algorithms revisited. In: Proc. 11th Annual ACM Symp. on Principles of Distributed Computing (1992)Google Scholar
  15. 15.
    McIver, A.K., Morgan, C.C., Sanders, J.W., Seidel, K.: Probabilistic Systems Group: Collected reports,
  16. 16.
    McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. In: Technical Monographs in Computer Science. Springer, New York (2004)Google Scholar
  17. 17.
    McIver, A., Morgan, C., Hoang, T.S.: Probabilistic termination in B. In: Bert et al. [2]Google Scholar
  18. 18.
    Morgan, C.: The generalised substitution language extended to probabilistic programs. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, p. 9. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Morgan, C.C.: The specification statement. ACM Transactions on Programming Languages and Systems 10(3), 403–419 (1988) Reprinted in [22], zbMATHCrossRefGoogle Scholar
  20. 20.
    Morgan, C.C.: Of wp and CSP. In: Feijen, W.H.J., et al. (eds.) Beauty is Our Business. Springer, Heidelberg (1990)Google Scholar
  21. 21.
    Morgan, C.C., McIver, A.K., Seidel, K.: Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems 18(3), 325–53 (1996), Google Scholar
  22. 22.
    Morgan, C.C., Vickers, T.N. (eds.): On the Refinement Calculus. FACIT Series in Computer Science. Springer, London (1994)Google Scholar
  23. 23.
    Morris, J.M.: A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming 9(3), 287–306 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Nelson, G.: A generalization of Dijkstra’s calculus. ACM Transactions on Programming Languages and Systems 11(4), 517–561 (1989)CrossRefGoogle Scholar
  25. 25.
    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)zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Carroll Morgan
    • 1
  • Thai Son Hoang
    • 1
  • Jean-Raymond Abrial
    • 2
  1. 1.Dept. Eng. and Comp. Sci.Univ. New South WalesSydneyAustralia
  2. 2.Dept. Comp. Sci.ETH Zürich, ETH ZentrumZürichSwitzerland

Personalised recommendations