8 research outputs found
How to write a coequation
There is a large amount of literature on the topic of covarieties,
coequations and coequational specifications, dating back to the early
seventies. Nevertheless, coequations have not (yet) emerged as an everyday
practical specification formalism for computer scientists. In this review
paper, we argue that this is partly due to the multitude of syntaxes for
writing down coequations, which seems to have led to some confusion about what
coequations are and what they are for. By surveying the literature, we identify
four types of syntaxes: coequations-as-corelations, coequations-as-predicates,
coequations-as-equations, and coequations-as-modal-formulas. We present each of
these in a tutorial fashion, relate them to each other, and discuss their
respective uses
The Power of Convex Algebras
Probabilistic automata (PA) combine probability and nondeterminism.
They can be given different semantics, like strong bisimilarity,
convex bisimilarity, or (more recently) distribution bisimilarity.
The latter is based on the view of PA as transformers of probability
distributions, also called belief states, and promotes distributions
to first-class citizens.
We give a coalgebraic account of the latter semantics, and explain
the genesis of the belief-state transformer from a PA. To do so, we
make explicit the convex algebraic structure present in PA and
identify belief-state transformers as transition systems with state
space that carries a convex algebra. As a consequence of our abstract
approach, we can give a sound proof technique which we call
bisimulation up-to convex hull
The Power of Convex Algebras
Probabilistic automata (PA) combine probability and nondeterminism. They can
be given different semantics, like strong bisimilarity, convex bisimilarity, or
(more recently) distribution bisimilarity. The latter is based on the view of
PA as transformers of probability distributions, also called belief states, and
promotes distributions to first-class citizens.
We give a coalgebraic account of the latter semantics, and explain the
genesis of the belief-state transformer from a PA. To do so, we make explicit
the convex algebraic structure present in PA and identify belief-state
transformers as transition systems with state space that carries a convex
algebra. As a consequence of our abstract approach, we can give a sound proof
technique which we call bisimulation up-to convex hull.Comment: Full (extended) version of a CONCUR 2017 paper, to be submitted to
LMC
The theory of traces for systems with nondeterminism and probability
This paper studies trace-based equivalences for systems combining nondeterministic and probabilistic choices. We show how trace semantics for such processes can be recovered by instantiating a coalgebraic construction known as the generalised powerset construction. We characterise and compare the resulting semantics to known definitions of trace equivalences appearing in the literature. Most of our results are based on the exciting interplay between monads and their presentations via algebraic theories
The Theory of Traces for Systems with Nondeterminism, Probability, and Termination
This paper studies trace-based equivalences for systems combining
nondeterministic and probabilistic choices. We show how trace semantics for
such processes can be recovered by instantiating a coalgebraic construction
known as the generalised powerset construction. We characterise and compare the
resulting semantics to known definitions of trace equivalences appearing in the
literature. Most of our results are based on the exciting interplay between
monads and their presentations via algebraic theories.Comment: This paper is an extended version of a LICS 2019 paper "The Theory of
Traces for Systems with Nondeterminism and Probability". It contains all the
proofs, additional explanations, material, and example
The Theory of Traces for Systems with Nondeterminism and Probability
International audienceThis paper studies trace-based equivalences for systems combining nondeterministic and probabilistic choices. We show how trace semantics for such processes can be recovered by instantiating a coalgebraic construction known as the generalised powerset construction. We characterise and compare the resulting semantics to known definitions of trace equivalences appearing in the literature. Most of our results are based on the exciting interplay between monads and their presentations via algebraic theories
Components as coalgebras
In the tradition of mathematical modelling in physics and chemistry, constructive formal specification methods are based on the notion of a software model, understood as a state-based abstract machine which persists and evolves in time, according to a behavioural model capturing, for example, partiality or (different degrees of) nondeterminism. This can be identified with the more prosaic notion of a software component advocated by the software industry as ‘building block’ of large, often distributed, systems. Such a component typically encapsulates a number of services through a public interface which provides a limited access to a private state space, paying tribute to the nowadays widespread object-oriented programming principles.
The tradition of communicating systems formal design, by contrast, has developed the notion of a process as an abstraction of the behavioural patterns of a computing system, deliberately ignoring the data and state aspects of software systems.
Both processes and components are among the broad group of computing phenomena which are hardly definable (or simply not definable) algebraically, i.e., in terms of a complete set of constructors. Their semantics is essentially observational, in the sense that all that can be traced of their evolution is their interaction with the environment. Therefore, coalgebras, whose theory has recently witnessed remarkable
developments, appear as a suitable modelling tool.
The basic observation of category theory that universal constructions always come in pairs, has motivated research on the duality between algebras and coalgebras, which provides a bridge between models of static (constructive, data-oriented) and dynamical (observational, behaviour-oriented) systems. At the programming level, the intuitive symmetry between data and behaviour provides evidence of such a duality,
in its canonical initial-final specialisation.
This line of thought entails both definitional and proof principles, i.e., a basis for the development of program calculi directly based on (actually driven by) type specifications. Moreover, such properties can be expressed in terms of generic programming combinators which are used, not only to calculate programs, but also to program with.
Framed in this context, this thesis addresses the following main themes:
The investigation of a semantic model for (state-based) software components. These are regarded as concrete coalgebras for some Set endofunctors,
with specified initial conditions, and organise themselves in a bicategorical setting. The model is able to capture both behavioural issues, which
are usually left implicit in state-based specification methods, and interaction through structured data, which is usually a minor concern on process calculi. Two basic cases are considered entailing, respectively, a ‘functional’ and an ‘object-oriented’ shape for components. Both cases are parametrized by a
model of behaviour, introduced as a strong (usually commutative) monad.
The development of corresponding component calculi, also parametric on the behaviour model, which adds to the genericity of the approach.
The study of processes and the ‘reconstruction’ of classical (CCS-like) process calculi on top of their representation as inhabitants of (the carriers of) final coalgebras, in an essentially pointfree, calculational style.
An overall concern for genericity, in the sense that models and calculi for both components and processes are parametric on the behaviour model and the interaction discipline, respectively.
The animation of both processes and components in CHARITY, a functional programming language entirely based on inductive and coinductive categorical data types. In particular this leads to the development of a process calculi interpreter parametric on the interaction discipline.PRAXIS XXI - Projecto LOGCAMP; POO11/IC-PME/II/S -Projecto KARMA; Fundação para a Ciência e Tecnologia; ALGORITMI Research Center