39 research outputs found
Concurrent Kleene Algebra: Free Model and Completeness
Concurrent Kleene Algebra (CKA) was introduced by Hoare, Moeller, Struth and
Wehrman in 2009 as a framework to reason about concurrent programs. We prove
that the axioms for CKA with bounded parallelism are complete for the semantics
proposed in the original paper; consequently, these semantics are the free
model for this fragment. This result settles a conjecture of Hoare and
collaborators. Moreover, the techniques developed along the way are reusable;
in particular, they allow us to establish pomset automata as an operational
model for CKA.Comment: Version 2 includes an overview section that outlines the completeness
proof, as well as some extra discussion of the interpolation lemma. It also
includes better typography and a number of minor fixes. Version 3
incorporates the changes by comments from the anonymous referees at ESOP.
Among other things, these include a worked example of computing the syntactic
closure by han
On Series-Parallel Pomset Languages: Rationality, Context-Freeness and Automata
Concurrent Kleene Algebra (CKA) is a formalism to study concurrent programs.
Like previous Kleene Algebra extensions, developing a correspondence between
denotational and operational perspectives is important, for both foundations
and applications. This paper takes an important step towards such a
correspondence, by precisely relating bi-Kleene Algebra (BKA), a fragment of
CKA, to a novel type of automata, pomset automata (PAs). We show that PAs can
implement the BKA semantics of series-parallel rational expressions, and that a
class of PAs can be translated back to these expressions. We also characterise
the behavior of general PAs in terms of context-free pomset grammars;
consequently, universality, equivalence and series-parallel rationality of
general PAs are undecidable.Comment: Accepted manuscrip
On decidability of concurrent Kleene algebra
Concurrent Kleene algebras support equational reasoning about computing systems with concurrent behaviours. Their natural semantics is given by series(-parallel) rational pomset languages, a standard true concurrency semantics, which is often associated with processes of Petri nets. We use constructions on Petri nets to provide two decision procedures for such pomset languages motivated by the equational and the refinement theory of concurrent Kleene algebra. The contribution to the first problem lies in a much simpler algorithm and an EXPSPACE complexity bound. Decidability of the second, more interesting problem is new and, in fact, EXPSPACE-complete
Brzozowski goes concurrent - A kleene theorem for pomset languages
Concurrent Kleene Algebra (CKA) is a mathematical formalism to study programs that exhibit concurrent behaviour. As with previous extensions of Kleene Algebra, characterizing the free model is crucial in order to develop the foundations of the theory and potential applications. For CKA, this has been an open question for a few years and this paper makes an important step towards an answer. We present a new automaton model and a Kleene-like theorem that relates a relaxed version of CKA to series-parallel pomset languages, which are a natural candidate for the free model. There are two substantial differences with previous work: from expressions to automata, we use Brzozowski derivatives, which enable a direct construction of the automaton; from automata to expressions, we provide a syntactic characterization of the automata that denote valid CKA behaviours
Equivalence checking for weak bi-Kleene algebra
Pomset automata are an operational model of weak bi-Kleene algebra, which
describes programs that can fork an execution into parallel threads, upon
completion of which execution can join to resume as a single thread. We
characterize a fragment of pomset automata that admits a decision procedure for
language equivalence. Furthermore, we prove that this fragment corresponds
precisely to series-rational expressions, i.e., rational expressions with an
additional operator for bounded parallelism. As a consequence, we obtain a new
proof that equivalence of series-rational expressions is decidable
Brzozowski Goes Concurrent - A Kleene Theorem for Pomset Languages
Concurrent Kleene Algebra (CKA) is a mathematical formalism to study programs that exhibit concurrent behaviour. As with previous extensions of Kleene Algebra, characterizing the free model is crucial in order to develop the foundations of the theory and potential applications. For CKA, this has been an open question for a few years and this paper makes an important step towards an answer. We present a new automaton model and a Kleene-like theorem that relates a relaxed version of CKA to series-parallel pomset languages, which are a natural candidate for the free model. There are two substantial differences with previous work: from expressions to automata, we use Brzozowski derivatives, which enable a direct construction of the automaton; from automata to expressions, we provide a syntactic characterization of the automata that denote valid CKA behaviours
On Kleene Algebra vs. Process Algebra
We try to clarify the relationship between Kleene algebra and process
algebra, based on the very recent work on Kleene algebra and process algebra.
Both for concurrent Kleene algebra (CKA) with communications and truly
concurrent process algebra APTC with Kleene star and parallel star, the
extended Milner's expansion law holds, with being primitives (atomic actions),
being the parallel composition, being the alternative composition,
being the sequential composition and the communication merge with the
background of computation. CKA and APTC are all the truly concurrent
computation models, can have the same syntax (primitives and operators), maybe
have the same or different semantics
Partially Observable Concurrent Kleene Algebra
We introduce partially observable concurrent Kleene algebra (POCKA), an algebraic framework to reason about concurrent programs with variables as well as control structures, such as conditionals and loops, that depend on those variables. We illustrate the use of POCKA through concrete examples. We prove that POCKA is a sound and complete axiomatisation of a model of partial observations, and show the semantics passes an important check for sequential consistency
Partially Observable Concurrent Kleene Algebra
We introduce partially observable concurrent Kleene algebra (POCKA), an algebraic framework to reason about concurrent programs with variables as well as control structures, such as conditionals and loops, that depend on those variables. We illustrate the use of POCKA through concrete examples. We prove that POCKA is a sound and complete axiomatisation of a model of partial observations, and show the semantics passes an important check for sequential consistency