Abstract
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.
Similar content being viewed by others
References
Bowen JP (2000) Combining operational semantics, logic programming and literate programming in the specification and animation of the verilog hardware description language. In: Proceedings of IFM 2000: 2nd international conference on integrated formal methods. Lecture notes in computer science. vol 1945. Springer, Heidelberg, pp 277–296
Bowen JP, He J, Xu Q (2000) An animatable operational semantics of the verilog hardware description language. In: Proceedings of ICFEM 2000: 3rd IEEE international conference on formal engineering methods. IEEE Computer Society Press, pp 199–207
Clocksin WF, Mellish CS (2003) Programming in prolog, 5th edn. Springer, Heidelberg
de Bakker J, de Vink E (1996) Control flow semantics. MIT, Cambridge
den Hartog J (2002) Probabilistic extensions of semantic models. PhD thesis, Vrije University, The Netherlands
den Hartog J, de Vink E (1999) Mixing up nondeteminism and probability: a premliminary report. Electronic Notes in Theoretical Computer Science 22
den Hartog J, de Vink E (2002) Verifying probabilistic programs using a Hoare like logic. Int J Found Comput Sci 40(3): 315–340
den Hartog J, de Vink E, de Bakker J (2001) Matrix semantics and full abstractness for action refinement and probabilistic choice. Electronic Notes in Theoretical Computer Science 40
He J (1994) Provably correct systems: modelling of communication languages and design of optimized compilers. International Series in Software Engineering. McGraw-Hill, NY
He J, Zhu H (2000) Formalising Verilog. In: Proceedings of ICECS 2000: IEEE international conference on electronics, circuits and systems. IEEE Computer Society Press, Nanjing, pp 412–415
He J, Seidel K, McIver A (1997) Probabilistic models for the guarded command language. Sci Comput Program 28(2–3): 171–192
Hoare CAR, He J (1998) Unifying theories of programming. International series in computer science. Prentice Hall, Englewood Cliffs
Li J, Zhu H, Pu G, JH (2007) A formal model for compensable transactions. In: Proceedings of ICECCS 2007: 12th IEEE international conference on engineering of complex computer systems. IEEE Computer Society Press, Nanjing, pp 64–73
Li J, Zhu H, He J (2008) An observational model for transactional calculus of services orchestration. In: Proceedings of ICTAC 2008: 5th international colloquium on theoretical aspects of computing, Istanbul, Turkey, 1–3 September, 2008. Lecture notes in computer science, vol 5048. Springer, Heidelberg, pp 149–168
Luo C, Qin S, Qiu Z (2008) Verifying bpel-like programs with hoare logic. In: Proc. TASE 2008: 2nd IEEE international symposium on theoretical aspects of software engineering. IEEE Computer Society, Nanjing, China, pp 151–158
McIver A, Morgan C (2001) Partial correctness for probabilistic demonic programs. Theor Comput Sci 266(1-2): 513–541
McIver A, Morgan C (2004) Abstraction, Refinement and Proof of Probability Systems. Monographs in Computer Science. Springer, Heidelberg
McIver A, Morgan C, Seidel K (1996) Probabilistic predicate transformers. ACM Trans Program Lang Syst 18(3): 325–353
Milner R (1990) Communication and Concurrency. International Series in Computer Science. Prentice Hall, Englewood Cliffs
Milner R (1999) Communication and mobile system: π-calculus. Cambridge University Press, London
Ndukwu U, Sanders JW (2008) Reason about a distributed probabilistic system. Tech. Rep. 401, UNU/IIST, P.O. Box 3058, Macau SAR, China
Núñez M (2003) Algebraic theory of probabilistic processes. J Logic Algebraic Program 56: 117–177
Núñez M, de Frutos-Escrig D (1996) Testing semantics for probabilistic LOTOS. In: Proceedings of FORTE’95: IFIP TC6 eighth international conference on formal description techniques, Montreal, Canada, October 1995. IFIP Conference Proceedings, vol 43. Chapman & Hall, London, pp 367–382
Núñez M, de Frutos-Escrig D, Díaz LFL (1995) Acceptance trees for probabilistic processes. In: Proceedings of CONCUR’95: 6th international conference on concurrency, Philadelphia, PA, USA, August, 1995. Lecture Notes in Computer Science, vol 962. Springer, Heidelberg
Park S, Pfenning F, Thrun S (2005) A probabilistic language based upon sampling functions. In: Proceedings of POPL 2005: 32nd ACM SIGPLAN-SIGACT symposium on principles of programming languages. ACM, New York, pp 171–182
Plotkin G (1981) A structural approach to operational semantics. Tech. Rep. 19, University of Aahus. Also published in J Logic Algebraic Program. 60–61:17–139, 2004
Zhu H (2005) Linking the semantics of a multithreaded discrete event simulation language. PhD thesis, South Bank University, London
Zhu H, He J (2000) A semantics of Verilog using duration calculus. In: Proceedings of international conference on software: theory and practice. pp 421–432
Zhu H, Qin S, He J, Bowen JP (2006) Integrating probability with time and shared-variable concurrency. In: Proceedings of SEW-30: 30th NASA/IEEE software engineering workshop. IEEE Computer Society, Nanjing, pp 179–189
Zhu H, He J, Li J (2007a) Unifying denotational semantics with operational semantics for web services. In: Proceedings of ICDCIT 2007: 4th international conference on distributed computing and internet technology, Bangalore, India, 17–20 December 2007. Lecture notes in computer science, vol 4882. Springer, Heidelberg, pp 225–239
Zhu H, He J, Li J, Bowen JP (2007b) Algebraic approach to linking the semantics of web services. In: Proceedings of SEFM 2007: 5th IEEE international conference on software engineering and formal methods. IEEE Computer Society Press, pp 315–326
Author information
Authors and Affiliations
Corresponding author
Additional information
A preliminary version of this paper appeared in SEW-30: 30th IEEE/NASA Software Engineering Workshop [29].
Rights and permissions
About this article
Cite this article
Zhu, H., Qin, S., He, J. et al. PTSC: probability, time and shared-variable concurrency. Innovations Syst Softw Eng 5, 271–284 (2009). https://doi.org/10.1007/s11334-009-0100-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-009-0100-9