2019
DOI: 10.1007/s00165-018-0464-4
|View full text |Cite
|
Sign up to set email alerts
|

A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency

Abstract: This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave) when composed in parallel. The algebra of rely/guarantee concurrency then becomes an instantiation of the more abstract algebra. Many of the core properties needed for rely/guarantee reasoning can be shown to hold in the abstract algebra where their proofs are simpler and henc… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
17
0

Year Published

2019
2019
2019
2019

Publication Types

Select...
6
1

Relationship

2
5

Authors

Journals

citations
Cited by 16 publications
(17 citation statements)
references
References 30 publications
0
17
0
Order By: Relevance
“…The first point is important for devising a compositional approach to reasoning about the fairness properties of concurrent systems in terms of the fairness properties of their components. The second point allows us to utilise the synchronous concurrent refinement algebra [3,7,8] (which has similarities to Milner's SCCS [14,13]) to encode fairness in an existing theory with no built-in fair-parallel operator. The third point shows that no expressive power is lost compared to starting with a fair-parallel operator, in fact, there is a gain in expressiveness as one can define a parallel composition which imposes fairness on only one of its components: ((c ⋓ fair) skip) d.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…The first point is important for devising a compositional approach to reasoning about the fairness properties of concurrent systems in terms of the fairness properties of their components. The second point allows us to utilise the synchronous concurrent refinement algebra [3,7,8] (which has similarities to Milner's SCCS [14,13]) to encode fairness in an existing theory with no built-in fair-parallel operator. The third point shows that no expressive power is lost compared to starting with a fair-parallel operator, in fact, there is a gain in expressiveness as one can define a parallel composition which imposes fairness on only one of its components: ((c ⋓ fair) skip) d.…”
Section: Discussionmentioning
confidence: 99%
“…The synchronous concurrent refinement algebra is defined in [7,8]. In this section we introduce the aspects that are used to define and reason about fairness in this paper.…”
Section: Synchronous Concurrent Refinement Algebramentioning
confidence: 99%
See 1 more Smart Citation
“…KAT [45], Kleene algebras with domain [10,11], and demonic refinement algebras [78] have been established as abstract semantics and verification methods for sequential programs and linked with concrete program semantics such as relations or predicate transformers. Hayes and co-workers have recently developed concurrent refinement algebras, which are inspired by CKA, and support relyguarantee style reasoning with shared-variable concurrent programs [27,28] and CCS/CSP-style reasoning [52,31]. Similar applications in the semantics of concurrent programming languages remain to be explored.…”
Section: Applications Of Concurrent Kleene Algebramentioning
confidence: 99%
“…In Fig. 1 the relies and guarantees are represented as rely and guarantee commands [2,5,7]. The guarantee command (guar g) restricts every atomic program step of the thread to satisfy g. The rely command (rely r) represents an assumption that every environment step satisfies r; if an execution trace performs an environment step not satisfying r, any behaviour whatsoever is allowed from that point (i.e.…”
Section: Specifying Atomicitymentioning
confidence: 99%