430 research outputs found
Completeness and Incompleteness of Synchronous Kleene Algebra
Synchronous Kleene algebra (SKA), an extension of Kleene algebra (KA), was
proposed by Prisacariu as a tool for reasoning about programs that may execute
synchronously, i.e., in lock-step. We provide a countermodel witnessing that
the axioms of SKA are incomplete w.r.t. its language semantics, by exploiting a
lack of interaction between the synchronous product operator and the Kleene
star. We then propose an alternative set of axioms for SKA, based on Salomaa's
axiomatisation of regular languages, and show that these provide a sound and
complete characterisation w.r.t. the original language semantics.Comment: Accepted at MPC 201
On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency
Concurrent systems are notoriously difficult to analyze, and technological
advances such as weak memory architectures greatly compound this problem. This
has renewed interest in partial order semantics as a theoretical foundation for
formal verification techniques. Among these, symbolic techniques have been
shown to be particularly effective at finding concurrency-related bugs because
they can leverage highly optimized decision procedures such as SAT/SMT solvers.
This paper gives new fundamental results on partial order semantics for
SAT/SMT-based symbolic encodings of weak memory concurrency. In particular, we
give the theoretical basis for a decision procedure that can handle a fragment
of concurrent programs endowed with least fixed point operators. In addition,
we show that a certain partial order semantics of relaxed sequential
consistency is equivalent to the conjunction of three extensively studied weak
memory axioms by Alglave et al. An important consequence of this equivalence is
an asymptotically smaller symbolic encoding for bounded model checking which
has only a quadratic number of partial order constraints compared to the
state-of-the-art cubic-size encoding.Comment: 15 pages, 3 figure
Concurrent Kleene Algebra with Tests and Branching Automata
We introduce concurrent Kleene algebra with tests (CKAT) as a combination of Kleene algebra with tests (KAT) of Kozen and Smith with concurrent Kleene algebras (CKA), introduced by Hoare, Möller, Struth and Wehrman. CKAT provides a relatively simple algebraic model for reasoning about semantics of concurrent programs. We generalize guarded strings to guarded series-parallel strings , or gsp-strings, to give a concrete language model for CKAT. Combining nondeterministic guarded automata of Kozen with branching automata of Lodaya and Weil one obtains a model for processing gsp-strings in parallel. To ensure that the model satisfies the weak exchange law (x‖y)(z‖w)≤(xz)‖(yw) of CKA, we make use of the subsumption order of Gischer on the gsp-strings. We also define deterministic branching automata and investigate their relation to (nondeterministic) branching automata. To express basic concurrent algorithms, we define concurrent deterministic flowchart schemas and relate them to branching automata and to concurrent Kleene algebras with tests
Synchronous Kleene algebra
AbstractThe work presented here investigates the combination of Kleene algebra with the synchrony model of concurrency from Milner’s SCCS calculus. The resulting algebraic structure is called synchronous Kleene algebra. Models are given in terms of sets of synchronous strings and finite automata accepting synchronous strings. The extension of synchronous Kleene algebra with Boolean tests is presented together with models on sets of guarded synchronous strings and the associated automata on guarded synchronous strings. Completeness w.r.t. the standard interpretations is given for each of the two new formalisms. Decidability follows from completeness. Kleene algebra with synchrony should be included in the class of true concurrency models. In this direction, a comparison with Mazurkiewicz traces is made which yields their incomparability with synchronous Kleene algebras (one cannot simulate the other). On the other hand, we isolate a class of pomsets which captures exactly synchronous Kleene algebras. We present an application to Hoare-like reasoning about parallel programs in the style of synchrony
Convolution, Separation and Concurrency
A notion of convolution is presented in the context of formal power series
together with lifting constructions characterising algebras of such series,
which usually are quantales. A number of examples underpin the universality of
these constructions, the most prominent ones being separation logics, where
convolution is separating conjunction in an assertion quantale; interval
logics, where convolution is the chop operation; and stream interval functions,
where convolution is used for analysing the trajectories of dynamical or
real-time systems. A Hoare logic is constructed in a generic fashion on the
power series quantale, which applies to each of these examples. In many cases,
commutative notions of convolution have natural interpretations as concurrency
operations.Comment: 39 page
Decision Procedure for Synchronous Kleene Algebra
Kleene Algebra (KA) is an algebraic system that has many applications both in mathematics and
computer science. It was named after Stephen Cole Kleene who extensively studied regular
expressions and finite automata [Kle56].
Moreover it is often used to reason about programs, as it can represent sequential composition,
choice and finite iteration. Furthermore, the need to reason about actions which can be executed
concurrently, spawned SKA. SKA is an extension of KA introduced by Cristian Prisacariu
in [Pri10] that adopts a notion of concurrent actions.
Laguange equivalence is an imperishable problem in computer science. In this thesis we present
the reader with a detailed explanation of a decision procedure for SKA terms and an OCaml
implementation of said procedure as well.A Kleene Algebra (KA) é um sistema algébrico que tem bastantes aplicações quer no campo da
matemática como também da informática.
Foi batizada com o nome do seu inventor Stephen Cole Kleene, que ao longo da sua carreira fez
um estudo intensivo sobre expressões regulares e autómatos finitos [Kle56].
Quando há necessidade de raciocinar equacionalmente sobre programas, recorre-se frequentemente
à Kleene Algebra, visto que esta consegue exprimir noções de escolha, composição sequencial
e até a noção de iteração. A necessidade de raciocinar equacionalmente sobre ações
que podem ser executadas de forma concorrente levou ao aparecimento da Algebra de Kleene
Síncrona ou Synchronous Kleene Algebra (SKA). Esta última foi introduzida por Cristian Prisacariu
em 2010 no seu artigo [Pri10] como uma extensão à Kleene Algebra mas que contém uma noção
de ação concorrente.
A equivalência de linguagens é um problema perene em ciências da computação. Nesta dissertação
iremos apresentar ao leitor uma explicação detalhada de um processo de decisão para
termos de Synchronous Kleene Algebra (SKA) bem como a sua implementação utilizando a linguagem
de programação OCaml
On Tools for Completeness of Kleene Algebra with Hypotheses
In the literature on Kleene algebra, a number of variants have been proposed
which impose additional structure specified by a theory, such as Kleene algebra
with tests (KAT) and the recent Kleene algebra with observations (KAO), or make
specific assumptions about certain constants, as for instance in NetKAT. Many
of these variants fit within the unifying perspective offered by Kleene algebra
with hypotheses, which comes with a canonical language model constructed from a
given set of hypotheses. For the case of KAT, this model corresponds to the
familiar interpretation of expressions as languages of guarded strings. A
relevant question therefore is whether Kleene algebra together with a given set
of hypotheses is complete with respect to its canonical language model. In this
paper, we revisit, combine and extend existing results on this question to
obtain tools for proving completeness in a modular way. We showcase these tools
by giving new and modular proofs of completeness for KAT, KAO and NetKAT, and
we prove completeness for new variants of KAT: KAT extended with a constant for
the full relation, KAT extended with a converse operation, and a version of KAT
where the collection of tests only forms a distributive lattice
An Algebraic Characterisation of Concurrent Composition
We give an algebraic characterization of a form of synchronized parallel
composition allowing for true concurrency, using ideas based on Peter Landin's
"Program-Machine Symmetric Automata Theory".Comment: This is an old technical report from 1981. I submitted it to a
special issue of HOSC in honour of Peter Landin, as explained in the Prelude,
added in 2008. However, at an advanced stage, the handling editor became
unresponsive, and the paper was never published. I am making it available via
the arXiv for the same reasons given in the Prelud
Process Realizability
We develop a notion of realizability for Classical Linear Logic based on a
concurrent process calculus.Comment: Appeared in Foundations of Secure Computation: Proceedings of the
1999 Marktoberdorf Summer School, F. L. Bauer and R. Steinbruggen, eds. (IOS
Press) 2000, 167-18
- …