Skip to main content
Log in

PTSC: probability, time and shared-variable concurrency

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

  2. 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

  3. Clocksin WF, Mellish CS (2003) Programming in prolog, 5th edn. Springer, Heidelberg

    MATH  Google Scholar 

  4. de Bakker J, de Vink E (1996) Control flow semantics. MIT, Cambridge

    MATH  Google Scholar 

  5. den Hartog J (2002) Probabilistic extensions of semantic models. PhD thesis, Vrije University, The Netherlands

  6. den Hartog J, de Vink E (1999) Mixing up nondeteminism and probability: a premliminary report. Electronic Notes in Theoretical Computer Science 22

  7. den Hartog J, de Vink E (2002) Verifying probabilistic programs using a Hoare like logic. Int J Found Comput Sci 40(3): 315–340

    Article  MathSciNet  Google Scholar 

  8. 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

  9. He J (1994) Provably correct systems: modelling of communication languages and design of optimized compilers. International Series in Software Engineering. McGraw-Hill, NY

  10. 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

  11. He J, Seidel K, McIver A (1997) Probabilistic models for the guarded command language. Sci Comput Program 28(2–3): 171–192

    MATH  MathSciNet  Google Scholar 

  12. Hoare CAR, He J (1998) Unifying theories of programming. International series in computer science. Prentice Hall, Englewood Cliffs

    Google Scholar 

  13. 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

  14. 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

  15. 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

  16. McIver A, Morgan C (2001) Partial correctness for probabilistic demonic programs. Theor Comput Sci 266(1-2): 513–541

    Article  MATH  MathSciNet  Google Scholar 

  17. McIver A, Morgan C (2004) Abstraction, Refinement and Proof of Probability Systems. Monographs in Computer Science. Springer, Heidelberg

    Google Scholar 

  18. McIver A, Morgan C, Seidel K (1996) Probabilistic predicate transformers. ACM Trans Program Lang Syst 18(3): 325–353

    Article  Google Scholar 

  19. Milner R (1990) Communication and Concurrency. International Series in Computer Science. Prentice Hall, Englewood Cliffs

    Google Scholar 

  20. Milner R (1999) Communication and mobile system: π-calculus. Cambridge University Press, London

    Google Scholar 

  21. Ndukwu U, Sanders JW (2008) Reason about a distributed probabilistic system. Tech. Rep. 401, UNU/IIST, P.O.  Box 3058, Macau SAR, China

  22. Núñez M (2003) Algebraic theory of probabilistic processes. J Logic Algebraic Program 56: 117–177

    Article  MATH  Google Scholar 

  23. 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

  24. 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

  25. 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

  26. 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

  27. Zhu H (2005) Linking the semantics of a multithreaded discrete event simulation language. PhD thesis, South Bank University, London

  28. 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

  29. 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

  30. 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

  31. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Huibiao Zhu.

Additional information

A preliminary version of this paper appeared in SEW-30: 30th IEEE/NASA Software Engineering Workshop [29].

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-009-0100-9

Keywords

Navigation