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

Loading...
Thumbnail Image
File version

Accepted Manuscript (AM)

Author(s)
Shi, Ling
Zhao, Yongxin
Liu, Yang
Sun, Jun
Dong, Jin Song
Qin, Shengchao
Griffith University Author(s)
Primary Supervisor
Other Supervisors
Editor(s)
Date
2018
Size
File type(s)
Location
License
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.

Journal Title

Formal Aspects of Computing

Conference Title
Book Title
Edition
Volume

30

Issue

3-Apr

Thesis Type
Degree Program
School
Publisher link
Patent number
Funder(s)
Grant identifier(s)
Rights Statement
Rights Statement

© 2018 Springer London. This is an electronic version of an article published in Formal Aspects of Computing, August 2018, Volume 30, Issue 3–4, pp 351–380. Formal Aspects of Computing is available online at: http://link.springer.com/ with the open URL of your article.

Item Access Status
Note
Access the data
Related item(s)
Subject

Software engineering

Theory of computation

Persistent link to this record
Citation
Collections