671 research outputs found
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
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
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
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency
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 hence allow a higher
degree of automation. The algebra has been encoded in Isabelle/HOL to provide a
basis for tool support for program verification.
In rely/guarantee concurrency, programs are specified to guarantee certain
behaviours until assumptions about the behaviour of their environment are
violated. When assumptions are violated, program behaviour is unconstrained
(aborting), and guarantees need no longer hold. To support these guarantees a
second synchronous operator, weak conjunction, was introduced: both processes
in a weak conjunction must agree to take each atomic step, unless one aborts in
which case the whole aborts. In developing the laws for parallel and weak
conjunction we found many properties were shared by the operators and that the
proofs of many laws were essentially the same. This insight led to the idea of
generalising synchronisation to an abstract operator with only the axioms that
are shared by the parallel and weak conjunction operator, so that those two
operators can be viewed as instantiations of the abstract synchronisation
operator. The main differences between parallel and weak conjunction are how
they combine individual atomic steps; that is left open in the axioms for the
abstract operator.Comment: Extended version of a Formal Methods 2016 paper, "An algebra of
synchronous atomic steps
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency
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 hence allow a higher
degree of automation. The algebra has been encoded in Isabelle/HOL to provide a
basis for tool support for program verification.
In rely/guarantee concurrency, programs are specified to guarantee certain
behaviours until assumptions about the behaviour of their environment are
violated. When assumptions are violated, program behaviour is unconstrained
(aborting), and guarantees need no longer hold. To support these guarantees a
second synchronous operator, weak conjunction, was introduced: both processes
in a weak conjunction must agree to take each atomic step, unless one aborts in
which case the whole aborts. In developing the laws for parallel and weak
conjunction we found many properties were shared by the operators and that the
proofs of many laws were essentially the same. This insight led to the idea of
generalising synchronisation to an abstract operator with only the axioms that
are shared by the parallel and weak conjunction operator, so that those two
operators can be viewed as instantiations of the abstract synchronisation
operator. The main differences between parallel and weak conjunction are how
they combine individual atomic steps; that is left open in the axioms for the
abstract operator.Comment: Extended version of a Formal Methods 2016 paper, "An algebra of
synchronous atomic steps
Deciding synchronous Kleene algebra with derivatives
Synchronous Kleene algebra (SKA) is a decidable framework that combines Kleene algebra (KA) with a synchrony model of concurrency. Elements of SKA can be seen as processes taking place within a fixed discrete time frame and that, at each time step, may execute one or more basic actions or then come to a halt. The synchronous Kleene algebra with tests (SKAT) combines SKA with a Boolean algebra. Both algebras were introduced by Prisacariu, who proved the decidability of the equational theory, through a Kleene theorem based on the classical Thompson -NFA construction. Using the notion of partial derivatives, we present a new decision procedure for equivalence between SKA terms. The results are extended for SKAT considering automata with transitions labeled by Boolean expressions instead of atoms. This work continous previous research done for KA and KAT, where derivative based methods were used in feasible algorithms for testing terms equivalence. (c) Springer International Publishing Switzerland 2015
Turing Automata and Graph Machines
Indexed monoidal algebras are introduced as an equivalent structure for
self-dual compact closed categories, and a coherence theorem is proved for the
category of such algebras. Turing automata and Turing graph machines are
defined by generalizing the classical Turing machine concept, so that the
collection of such machines becomes an indexed monoidal algebra. On the analogy
of the von Neumann data-flow computer architecture, Turing graph machines are
proposed as potentially reversible low-level universal computational devices,
and a truly reversible molecular size hardware model is presented as an
example
A Max-Plus Model of Asynchronous Cellular Automata
This paper presents a new framework for asynchrony. This has its origins in
our attempts to better harness the internal decision making process of cellular
automata (CA). Thus, we show that a max-plus algebraic model of asynchrony
arises naturally from the CA requirement that a cell receives the state of each
neighbour before updating. The significant result is the existence of a
bijective mapping between the asynchronous system and the synchronous system
classically used to update cellular automata. Consequently, although the CA
outputs look qualitatively different, when surveyed on "contours" of real time,
the asynchronous CA replicates the synchronous CA. Moreover, this type of
asynchrony is simple - it is characterised by the underlying network structure
of the cells, and long-term behaviour is deterministic and periodic due to the
linearity of max-plus algebra. The findings lead us to proffer max-plus algebra
as: (i) a more accurate and efficient underlying timing mechanism for models of
patterns seen in nature, and (ii) a foundation for promising extensions and
applications.Comment: in Complex Systems (Complex Systems Publications Inc), Volume 23,
Issue 4, 201
Compositional bisimulation metric reasoning with Probabilistic Process Calculi
We study which standard operators of probabilistic process calculi allow for
compositional reasoning with respect to bisimulation metric semantics. We argue
that uniform continuity (generalizing the earlier proposed property of
non-expansiveness) captures the essential nature of compositional reasoning and
allows now also to reason compositionally about recursive processes. We
characterize the distance between probabilistic processes composed by standard
process algebra operators. Combining these results, we demonstrate how
compositional reasoning about systems specified by continuous process algebra
operators allows for metric assume-guarantee like performance validation
Introducing synchrony in fuzzy automata
This paper introduces a sort of automata and associated languages, often arising in modelling natural
phenomena, in which both vagueness and simultaneity are taken as first class citizens. This requires a fuzzy
semantics assigned to transitions and a precise notion of a synchronous product to enforce the simultaneous
occurrence of actions. The expected relationships between automata and languages are revisited in this
setting; in particular it is shown that any subset of a fuzzy synchronous language with the suitable signature
forms a synchronous Kleene algebra.NORTE-01-0145-FEDER-000037. POCI-01-0145-FEDER-030947. ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding
agency, FCT - Funda¸c˜ao para a Ciˆencia e a Tecnologia, within projects POCI-01-0145-FEDER-030947 and UID/MAT/04106/2019.
The second author is supported in the scope of the framework contract foreseen in the numbers 4, 5 and 6 of the article
23, of the Decree-Law 57/2016, of August 29, changed by Portuguese Law 57/2017, of July 19. This paper is also a result
of the project SmartEGOV: Harnessing EGOV for Smart Governance (Foundations, Methods, Tools) NORTE-01-0145-
FEDER-000037, supported by Norte Portugal Regional Operational Programme (NORTE 2020), under the PORTUGAL
2020 Partnership Agreement, through the European Regional Development Fund (EFDR). It received further support from
the PT-FLAD Chair in Smart Cities & Smart Governanc
- …