Skip to main content

A UTP Semantics for Communicating Processes with Shared Variables

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8144))

Included in the following conference series:

Abstract

CSP# (Communicating Sequential Programs) is a modelling language designed for specifying concurrent systems by integrating CSP-like compositional operators with sequential programs updating shared variables. In this paper, we define an observation-oriented denotational semantics in an open environment for the CSP# language based on the UTP framework. To deal with shared variables, we lift traditional event-based traces into hybrid traces which consist of event-state pairs for recording process behaviours. We also define refinement to check process equivalence and present a set of algebraic laws which are established based on our denotational semantics. Our approach thus provides a rigorous means for reasoning about the correctness of CSP# process behaviours. We further derive a closed semantics by focusing on special types of hybrid traces; this closed semantics can be linked with existing CSP# operational semantics.

This work is partially supported by project “ZJURP1100105” from Singapore University of Technology and Design.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Brookes, S.D.: Full abstraction for a shared-variable parallel language. Inf. Comput. 127(2), 145–163 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  2. Cavalcanti, A., Woodcock, J.: A tutorial introduction to CSP in unifying theories of programming. In: Cavalcanti, A., Sampaio, A., Woodcock, J. (eds.) PSSE 2004. LNCS, vol. 3167, pp. 220–268. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Colvin, R., Hayes, I.J.: CSP with Hierarchical State. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 118–135. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Fischer, C.: Combining Object-Z and CSP. In: FBT, pp. 119–128 (1997)

    Google Scholar 

  5. Galloway, A.J., Stoddart, W.J.: An Operational Semantics for ZCCS. In: ICFEM, pp. 272–282 (1997)

    Google Scholar 

  6. Hoare, C.: Communicating Sequential Processes. Prentice-Hall (1985)

    Google Scholar 

  7. Hoare, C., He, J.: Unifying Theories of Programming. Prentice-Hall (1998)

    Google Scholar 

  8. Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP Semantics for Circus. Formal Asp. Comput. 21(1-2), 3–32 (2009)

    Article  MATH  Google Scholar 

  9. Qin, S., Dong, J.S., Chin, W.-N.: A Semantic Foundation for TCOZ in Unifying Theories of Programming. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 321–340. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  10. Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall (1997)

    Google Scholar 

  11. Schneider, S., Treharne, H.: CSP Theorems for Communicating B Machines. Formal Asp. Comput. 17(4), 390–422 (2005)

    Article  MATH  Google Scholar 

  12. Shi, L.: A UTP Semantics for Communicating Processes with Shared Variables. Technical report, NUS (2013), http://www.comp.nus.edu.sg/~shiling/Tech13.pdf

  13. Smith, G.: A Semantic Integration of Object-Z and CSP for the Specification of Concurrent Systems. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, pp. 62–81. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  14. Sun, J., Liu, Y., Dong, J.S., Chen, C.: Integrating Specification and Programs for System Modeling and Verification. In: TASE, pp. 127–135 (2009)

    Google Scholar 

  15. Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: Towards Flexible Verification under Fairness. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 709–714. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  16. Taguchi, K., Araki, K.: The State-Based CCS Semantics for Concurrent Z Specification. In: ICFEM, pp. 283–292 (1997)

    Google Scholar 

  17. Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge (1993)

    MATH  Google Scholar 

  18. Woodcock, J., Larsen, P.G., Bicarregui, J., Fitzgerald, J.S.: Formal Methods: Practice and Experience. ACM Comput. Surv. 41(4) (2009)

    Google Scholar 

  19. Huibiao, Z., Bowen, J.P., Jifeng, H.: From Operational Semantics to Denotational Semantics for Verilog. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 449–464. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Zhu, H., He, J., Bowen, J.P.: From algebraic semantics to denotational semantics for verilog. In: ISSE, vol. 4(4), pp. 341–360 (2008)

    Google Scholar 

  21. Zhu, H., Qin, S., He, J., Bowen, J.P.: PTSC: probability, time and shared-variable concurrency. In: ISSE, vol. 5(4), pp. 271–284 (2009)

    Google Scholar 

  22. Zhu, H., Yang, F., He, J., Bowen, J.P., Sanders, J.W., Qin, S.: Linking Operational Semantics and Algebraic Semantics for a Probabilistic Timed Shared-Variable Language. J. Log. Algebr. Program. 81(1), 2–25 (2012)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shi, L., Zhao, Y., Liu, Y., Sun, J., Dong, J.S., Qin, S. (2013). A UTP Semantics for Communicating Processes with Shared Variables. In: Groves, L., Sun, J. (eds) Formal Methods and Software Engineering. ICFEM 2013. Lecture Notes in Computer Science, vol 8144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41202-8_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41202-8_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41201-1

  • Online ISBN: 978-3-642-41202-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics