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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Brookes, S.D.: Full abstraction for a shared-variable parallel language. Inf. Comput. 127(2), 145–163 (1996)
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)
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)
Fischer, C.: Combining Object-Z and CSP. In: FBT, pp. 119–128 (1997)
Galloway, A.J., Stoddart, W.J.: An Operational Semantics for ZCCS. In: ICFEM, pp. 272–282 (1997)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall (1985)
Hoare, C., He, J.: Unifying Theories of Programming. Prentice-Hall (1998)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP Semantics for Circus. Formal Asp. Comput. 21(1-2), 3–32 (2009)
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)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall (1997)
Schneider, S., Treharne, H.: CSP Theorems for Communicating B Machines. Formal Asp. Comput. 17(4), 390–422 (2005)
Shi, L.: A UTP Semantics for Communicating Processes with Shared Variables. Technical report, NUS (2013), http://www.comp.nus.edu.sg/~shiling/Tech13.pdf
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)
Sun, J., Liu, Y., Dong, J.S., Chen, C.: Integrating Specification and Programs for System Modeling and Verification. In: TASE, pp. 127–135 (2009)
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)
Taguchi, K., Araki, K.: The State-Based CCS Semantics for Concurrent Z Specification. In: ICFEM, pp. 283–292 (1997)
Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge (1993)
Woodcock, J., Larsen, P.G., Bicarregui, J., Fitzgerald, J.S.: Formal Methods: Practice and Experience. ACM Comput. Surv. 41(4) (2009)
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)
Zhu, H., He, J., Bowen, J.P.: From algebraic semantics to denotational semantics for verilog. In: ISSE, vol. 4(4), pp. 341–360 (2008)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)