Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

A UTP semantics for communicating processes with shared variables and its formal encoding in PVS

Published: 01 August 2018 Publication History

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 work, 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 mixed traces which consist of state-event pairs for recording process behaviours. To capture all possible concurrency behaviours between action/channel-based communications and global shared variables, we construct a comprehensive set of rules on merging traces from processes which run in parallel/interleaving. We also define refinement to check process equivalence and present a set of algebraic laws which are established based on our denotational semantics. We further encode our proposed denotational semantics into the PVS theorem prover. The encoding not only ensures the semantic consistency, but also builds up a theoretic foundation for machine-assisted verification of CSP# specifications.

References

References

[1]
Barras B, Boutin S, Cornes C, Courant J, Filliâtre J-C, Herbelin H, Huet G, Manoury P, Muñoz C, Murthy C, Parent C, Paulin-Mohring C, Saïbi A, Werner B (1996) The Coq proof assistant reference manual version 6.1. INRIA-Rocquencourt-CNRS-ENS Lyon
[2]
Brookes Stephen D Full abstraction for a shared-variable parallel language Inform Comput 1996 127 2 145-163
[3]
Camilleri Albert J Mechanizing CSP trace theory in higher order logic IEEE Trans Softw Eng 1990 16 9 993-1004
[4]
Camilleri Albert J A higher order logic mechanization of the CSP failure-divergence semantics IV higher order workshop, Banff 1990 1991 London Springer 123-150
[5]
Colvin R, Hayes IJ (2009) CSP with hierarchical state. In: 7th international conference on integrated formal methods (IFM'09), volume 5423 of lecture notes in computer science, Springer, pp 118–135
[6]
Crow J, Owre S, Rushby J, Shankar N, Srivas M (1995) A tutorial introduction to PVS. In: Workshop on industrial-strength formal specification techniques, Boca Raton, Florida
[7]
Cavalcanti A, Woodcock J (2006) A tutorial introduction to CSP in unifying theories of programming. In: Refinement techniques in software engineering, volume 3167 of lecture notes in computer science. Springer, pp 220–268
[8]
[9]
Dijkstra EW (1968) Cooperating sequential processes. In: Programming languages: NATO advanced study institute. Academic Press, pp 43–112
[10]
Dutertre B, Schneider S (1997) Using a PVS embedding of CSP to verify authentication protocols. In: 10th international conference on theorem proving in higher order logics (TPHOLs'97), volume 1275 of lecture notes in computer science. Springer, pp 121–136
[11]
Dong JS, Shi L, Nguyen Chuong L V, Jiang K, Sun J (2015) Sports strategy analytics using probabilistic reasoning. In: 20th international conference on engineering of complex computer systems, (ICECCS), pp 182–185
[12]
Feliachi A, Gaudel M-C, Wolff B (2010) Unifying theories in Isabelle/HOL. In: Third international symposium on unifying theories of programming (UTP'10), volume 6445 of lecture notes in computer science. Springer, pp 188–206
[13]
Fischer C (1997) Combining object-Z and CSP. In: FBT. GMD-Forschungszentrum Informationstechnik GmbH, pp 119–128
[14]
Foster S, Woodcock J (2013) Unifying theories of programming in Isabelle. In: ICTAC training school on software engineering, volume 8050 of lecture notes in computer science. Springer, pp 109–155
[15]
Gordon MJC and Melham TF Introduction to HOL: a theorem proving environment for higher order logic 1993 Cambridge Cambridge University Press
[16]
Gordon Michael JC Graham B and Subrahmanyam PA HOL: a proof generating system for higher order logic VLSI specification, verification and synthesis 1988 New York Springer 73-128
[17]
Galloway A, Stoddart B (1997) An operational semantics for ZCCS. In: 1st international conference on formal engineering methods (ICFEM'97). IEEE Computer Society, pp 272–282
[18]
Hoare CAR, He J (1998) Unifying theories of programming. Prentice-Hall
[19]
Hoare CAR, Hayes IJ, He J, Morgan C, Roscoe AW, Sanders JW, Sørensen IH, Michael SJ, and Sufrin B Laws of programming Commun ACM 1987 30 8 672-686
[20]
Hoare CAR (1985) Communicating sequential processes. Prentice-Hall
[21]
Isobe Y, Roggenbach M (2005) A generic theorem prover of CSP refinement. In: 11th international conference on tools and algorithms for the construction and analysis of systems (TACAS'05), volume 3440 of lecture notes in computer science. Springer, pp 108–123
[22]
Isobe Y and Roggenbach M Proof principles of CSP-CSP-prover in practice First international conference on dynamics in logistics (LDIC'07) 2008 Berlin Springer 425-442
[23]
Mahony BP and Dong JS Sensors and actuators in TCOZ World congress on formal methods in the development of computing systems (FM'99) 1999 Berlin Springer 1166-1185
[24]
Mahony BP and Dong JS Timed communicating object Z IEEE Trans Softw Eng 2000 26 2 150-177
[25]
Mahony BP and Dong JS Deep semantic links of TCSP and object-Z: TCOZ approach Formal Asp Comput 2002 13 2 142-160
[26]
Milner R Communication and concurrency 1989 Upper Saddle River Prentice Hall
[27]
Oliveira M, Cavalcanti A, and Woodcock J Unifying theories in proofpower-Z First international symposium on unifying theories of programming (UTP'06) 2006 Berlin Springer 123-140
[28]
Oliveira M, Cavalcanti A, and Woodcock J A UTP semantics for circus Formal Asp Comput 2009 21 1–2 3-32
[29]
Owre S, Rushby JM, and Shankar N PVS: a prototype verification system 11th international conference on automated deduction (CADE) 1992 Berlin Springer 748-752
[30]
Owre S, Shankar N, Rushby J, Stringer-Calvert DWJ (2001) PVS System guide. SRI International
[31]
Paulson LC Isabelle: a generic theorem prover 828 lecture notes in computer science 1994 New York Springer
[32]
Pfeifer H, Dold A, von Henke FW, Rueß H (1996) Mechanized semantics of simple imperative programming constructs. Technical report 96–11, Universität Ulm, Fakultät für Informatik
[34]
Qin S, Dong JS, and Chin W-N A semantic foundation for TCOZ in unifying theories of programming FME 2003: formal methods 2003 Berlin Springer 321-340
[35]
Roscoe AW The theory and practice of concurrency 1997 Upper Saddle River Prentice Hall
[36]
Sun J, Liu Y, Dong JS, Liu Y, Shi L, André É (2013) Modeling and verifying hierarchical real-time systems using stateful timed CSP. ACM Trans Softw Eng Methodol 22(1):3:1–3:29
[37]
Sun J, Liu Y, Dong JS, Chen C (2009) Integrating specification and programs for system modeling and verification. In: The 3rd IEEE international symposium on theoretical aspects of software engineering (TASE'09). IEEE Computer Society, pp 127–135
[38]
Sun J, Liu Y, Dong JS, and Pang J PAT: towards flexible verification under fairness 21st international conference on computer aided verification (CAV'09) 2009 New York Springer 709-714
[39]
Shi L, Liu S, Hao J, Koh JY, Hou Z, Dong JS (2017) Towards solving decision making problems using probabilistic model checking. In: 22nd international conference on engineering of complex computer systems, (ICECCS), pp 150–153
[40]
Sun J, Liu Y, Song S, Dong JS, and Li X PRTS: an approach for model checking probabilistic real-time hierarchical systems 13th international conference on formal engineering methods (ICFEM'11) 2011 Berlin Springer 147-162
[41]
Shi L, Liu Y, Sun J, Dong JS, and Carvalho G An analytical and experimental comparison of CSP extensions and tools 14th international conference on formal engineering methods (ICFEM'12) 2012 Berlin Springer 381-397
[42]
Smith G A semantic integration of object-Z and CSP for the specification of concurrent systems FME'97: industrial applications and strengthened foundations of formal methods 1997 Berlin Springer 62-81
[43]
Shankar N, Owre S, Rushby J, Stringer-Calvert DWJ (2001) PVS prover guide. SRI International
[44]
Gift Samuel D, Roggenbach M, and Isobe Y The stable revivals model in CSP-Prover Electron Notes Theor Comput Sci 2009 250 2 119-134
[45]
Schneider S and Treharne H CSP theorems for communicating B machines Formal Asp Comput 2005 17 4 390-422
[46]
Shi L, Zhao Y, Liu Y, Sun J, Dong JS, and Qin S A UTP semantics for communicating processes with shared variables 15th international conference on formal engineering methods (ICFEM'13) 2013 Berlin Springer 215-230
[47]
Taguchi K, Araki K (1997) The state-based CCS semantics for concurrent Z specification. In: 1st international conference on formal engineering methods (ICFEM'97). IEEE Computer Society, pp 283–292
[48]
Tej H and Wolff B A corrected failure divergence model for CSP in Isabelle/HOL FME'97: industrial applications and strengthened foundations of formal methods 1997 Berlin Springer 318-337
[49]
Woodcock J and Cavalcanti A The semantics of circus ZB 2002: formal specification and development in Z and B 2002 New York Springer 184-203
[50]
Wei K and Heather J Embedding the stable failures model of CSP in PVS 5th international conference on integrated formal methods (IFM'05) 2005 Berlin Springer 246-265
[51]
Winskel G The formal semantics of programming languages: an introduction 1993 London MIT Press
[52]
Woodcock J, Larsen PG, Bicarregui J, Fitzgerald JS (2009) Formal methods: practice and experience. ACM Comput Surv 41(4):19:1–19:36
[53]
Wei K, Woodcock J, Burns A (2009) Embedding the timed circus in PVS. Technical report, University of York
[54]
Zhu H, Bowen JP, and He J From operational semantics to denotational semantics for Verilog Correct hardware design and verification methods (CHARME) 2001 Berlin Springer 449-466
[55]
Zhu H, He J, and Bowen JP From algebraic semantics to denotational semantics for Verilog ISSE 2008 4 4 341-360
[56]
Zhu H, Qin S, He J, and Bowen JP PTSC: probability, time and shared-variable concurrency ISSE 2009 5 4 271-284
[57]
Zhu H, Yang F, He J, Bowen JP, Sanders JW, and Qin S Linking operational semantics and algebraic semantics for a probabilistic timed shared-variable language J Logic Algebraic Program 2012 81 1 2-25

Cited By

View all
  • (2024)Theoretical and Practical Approach to the Soundness and Completeness of Operational Semantics based on Denotational Semantics for MDESLFormal Aspects of Computing10.1145/3696432Online publication date: 25-Sep-2024
  • (2024)An algebraic approach to simulation and verification for cyber-physical systems with shared-variable concurrencyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100973139(100973)Online publication date: Jun-2024
  • (2024)PCSP# Denotational Semantics with an Application in Sports AnalyticsThe Application of Formal Methods10.1007/978-3-031-67114-2_4(71-102)Online publication date: 1-Sep-2024
  • Show More Cited By

Index Terms

  1. A UTP semantics for communicating processes with shared variables and its formal encoding in PVS
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Information & Contributors

            Information

            Published In

            cover image Formal Aspects of Computing
            Formal Aspects of Computing  Volume 30, Issue 3-4
            Aug 2018
            157 pages
            ISSN:0934-5043
            EISSN:1433-299X
            Issue’s Table of Contents

            Publisher

            Springer-Verlag

            Berlin, Heidelberg

            Publication History

            Published: 01 August 2018
            Accepted: 01 April 2018
            Received: 02 December 2014
            Published in FAC Volume 30, Issue 3-4

            Author Tags

            1. UTP
            2. Denotational semantics
            3. Shared variables
            4. Encoding

            Qualifiers

            • Research-article

            Contributors

            Other Metrics

            Bibliometrics & Citations

            Bibliometrics

            Article Metrics

            • Downloads (Last 12 months)72
            • Downloads (Last 6 weeks)13
            Reflects downloads up to 16 Feb 2025

            Other Metrics

            Citations

            Cited By

            View all
            • (2024)Theoretical and Practical Approach to the Soundness and Completeness of Operational Semantics based on Denotational Semantics for MDESLFormal Aspects of Computing10.1145/3696432Online publication date: 25-Sep-2024
            • (2024)An algebraic approach to simulation and verification for cyber-physical systems with shared-variable concurrencyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100973139(100973)Online publication date: Jun-2024
            • (2024)PCSP# Denotational Semantics with an Application in Sports AnalyticsThe Application of Formal Methods10.1007/978-3-031-67114-2_4(71-102)Online publication date: 1-Sep-2024
            • (2024)Denotational and Algebraic Semantics for the SMrCaIT Calculus Based on UTPThe Application of Formal Methods10.1007/978-3-031-67114-2_1(1-21)Online publication date: 1-Sep-2024
            • (2023)Translating and verifying Cyber–Physical systems with shared-variable concurrency in SpaceExInternet of Things10.1016/j.iot.2023.10086423(100864)Online publication date: Oct-2023
            • (2023)Uniform Substitution for Dynamic Logic with Communicating Hybrid ProgramsAutomated Deduction – CADE 2910.1007/978-3-031-38499-8_6(96-115)Online publication date: 1-Jul-2023
            • (2021)A process calculus BigrTiMo of mobile systems and its formal semanticsFormal Aspects of Computing10.1007/s00165-021-00530-x33:2(207-249)Online publication date: 1-Mar-2021
            • (2020)Theoretical and Practical Approaches to the Denotational Semantics for MDESL based on UTPFormal Aspects of Computing10.1007/s00165-020-00513-432:2-3(275-314)Online publication date: 1-Jul-2020
            • (2019)Theoretical and Practical Aspects of Linking Operational and Algebraic Semantics for MDESLACM Transactions on Software Engineering and Methodology10.1145/329569928:3(1-46)Online publication date: 29-Jul-2019
            • (2019)Angelic processes for CSP via the UTPTheoretical Computer Science10.1016/j.tcs.2018.10.008756(19-63)Online publication date: Jan-2019
            • Show More Cited By

            View Options

            View options

            PDF

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            Login options

            Full Access

            Figures

            Tables

            Media

            Share

            Share

            Share this Publication link

            Share on social media