Integrating Probability with Time and Shared-Variable Concurrency

Complex software systems typically involve features like time, concurrency and probability, where probabilistic computations play an increasing role. It is challenging to formalize languages comprising all these features. In this paper, we integrate probability, time and concurrency in one single model, where the concurrency feature is modelled using shared-variable based communication. The probability feature is represented by a probabilistic nondeterministic choice, probabilistic guarded choice and a probabilistic version of parallel composition. We formalize an operational semantics for such an integration. Based on this model we define a bisimulation relation, from which an observational equivalence between probabilistic programs is investigated and a collection of algebraic laws are explored. We also implement a prototype of the operational semantics to animate the execution of probabilistic programs

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

[2]  Erik P. de Vink,et al.  Metric Semantics and Full Abstractness for Action Refinement and Probabilistic Choice , 2001, MFCSIT.

[3]  Erik P. de Vink,et al.  Verifying Probabilistic Programs Using a Hoare Like Logic , 2002, Int. J. Found. Comput. Sci..

[4]  Jifeng He,et al.  An animatable operational semantics of the Verilog hardware description language , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[5]  Huibiao Zhu,et al.  Linking the semantics of a multithreaded discrete event simulation language , 2005 .

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

[7]  Jonathan P. Bowen Combining Operational Semantics, Logic Programming and Literate Programming in the Specification and Animation of the Verilog Hardware Description Language , 2000, IFM.

[8]  Manuel Núñez,et al.  Algebraic theory of probabilistic processes , 2003, J. Log. Algebraic Methods Program..

[9]  David de Frutos-Escrig,et al.  Testing Semantics for Probabilistic LOTOS , 1995, FORTE.

[10]  Jifeng He Provably Correct Systems: Modelling of Communication Languages and Design of Optimized Compilers , 1994 .

[11]  He Jifeng,et al.  Formalising VERILOG , 2000, ICECS 2000. 7th IEEE International Conference on Electronics, Circuits and Systems (Cat. No.00EX445).

[12]  Manuel Núñez,et al.  Acceptance Trees for Probabilistic Processes , 1995, CONCUR.

[13]  Erik P. de Vink,et al.  Control flow semantics , 1996 .

[14]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[15]  Sebastian Thrun,et al.  A probabilistic language based upon sampling functions , 2005, POPL '05.

[16]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[17]  Annabelle McIver,et al.  Partial correctness for probabilistic demonic programs , 2001, Theor. Comput. Sci..

[18]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.