The Challenge of Probabilistic Event B - Extended 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.

[1]  Didier Bert B’98: Recent Advances in the Development and Use of the B Method , 1998, Lecture Notes in Computer Science.

[2]  Michael O. Rabin,et al.  N-Process Mutual Exclusion with Bounded Waiting by 4 Log_2 N-Valued Shared Variable , 1982, J. Comput. Syst. Sci..

[3]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[4]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[5]  Eyal Kushilevitz,et al.  Randomized mutual exclusion algorithms revisited , 1992, PODC '92.

[6]  Carroll Morgan,et al.  Action systems, unbounded nondeterminism, and infinite traces , 2005, Formal Aspects of Computing.

[7]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[8]  C. A. R. Hoare,et al.  Data Refinement Refined , 1986, ESOP.

[9]  David Gries,et al.  A new notion of encapsulation , 1985, ACM SIGPLAN Notices.

[10]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[11]  Annabelle McIver,et al.  Probabilistic Invariants for Probabilistic Machines , 2003, ZB.

[12]  Wei Chen,et al.  Towards a Calculus of Data Refinement , 1989, MPC.

[13]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[14]  Greg Nelson,et al.  A generalization of Dijkstra's calculus , 1989, ACM Trans. Program. Lang. Syst..

[15]  Annabelle McIver,et al.  Probabilistic Termination in B , 2003, ZB.

[16]  Carroll Morgan,et al.  Of wp and CSP , 1990 .

[17]  Annabelle McIver,et al.  Probabilistic Models for the Guarded Command Language , 1997, Sci. Comput. Program..

[18]  Carroll Morgan,et al.  The Refinement Calculus , 1994, NATO ASI PDC.

[19]  Michael J. Butler A CSP approach to action systems , 1992 .

[20]  Jan L. A. van de Snepscheut Mathematics of Program Construction, 375th Anniversary of the Groningen University, International Conference, Groningen, The Netherlands, June 26-30, 1989, Proceedings , 1989, MPC.

[21]  Dexter Kozen,et al.  Semantics of probabilistic programs , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[22]  Carroll Morgan The Generalised Substitution Language Extended to Probabilistic Programs , 1998, B.

[23]  W. H. J. Feijen,et al.  Beauty Is Our Business , 1990, Texts and Monographs in Computer Science.

[24]  Annabelle McIver,et al.  Abstraction, Refinement And Proof For Probabilistic Systems (Monographs in Computer Science) , 2004 .

[25]  Annabelle McIver,et al.  Development via Refinement in Probabilistic B - Foundation and Case Study , 2005, ZB.

[26]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[27]  Isaac Saias,et al.  Proving probabilistic correctness statements: the case of Rabin's algorithm for mutual exclusion , 1992, PODC '92.

[28]  Dexter Kozen A Probabilistic PDL , 1985, J. Comput. Syst. Sci..

[29]  Carroll Morgan,et al.  The specification statement , 1988, TOPL.