16 research outputs found
Coalgebra for the working software engineer
Often referred to as ‘the mathematics of dynamical, state-based systems’, Coalgebra claims to provide a compositional and uniform framework to spec ify, analyse and reason about state and behaviour in computing. This paper addresses this claim by discussing why Coalgebra matters for the design of models and logics for computational phenomena. To a great extent, in this domain one is interested in properties that are preserved along the system’s evolution, the so-called ‘business rules’ or system’s invariants, as well as in liveness requirements, stating that e.g. some desirable outcome will be eventually produced. Both classes are examples of modal assertions, i.e. properties that are to be interpreted across a transition system capturing the system’s dynamics. The relevance of modal reasoning in computing is witnessed by the fact that most university syllabi in the area include some incursion into modal logic, in particular in its temporal variants. The novelty is that, as it happens with the notions of transition, behaviour, or observational equivalence, modalities in Coalgebra acquire a shape . That is, they become parametric on whatever type of behaviour, and corresponding coinduction scheme, seems appropriate for addressing the problem at hand. In this context, the paper revisits Coalgebra from a computational perspective, focussing on three topics central to software design: how systems are modelled, how models are composed, and finally, how properties of their behaviours can be expressed and verified.Fuzziness, as a way to express imprecision, or uncertainty, in computation is an important feature in a number of current application scenarios: from hybrid systems interfacing with sensor networks with error boundaries, to knowledge bases collecting data from often non-coincident human experts. Their abstraction in e.g. fuzzy transition systems led to a number of mathematical structures to model this sort of systems and reason about them. This paper adds two more elements to this family: two modal logics, framed as institutions, to reason about fuzzy transition systems and the corresponding processes. This paves the way to the development, in the second part of the paper, of an associated theory of structured specification for fuzzy computational systems
Combining Semilattices and Semimodules
We describe the canonical weak distributive law of the powerset monad over
the -left-semimodule monad , for a class of semirings . We
show that the composition of with by means of such
yields almost the monad of convex subsets previously introduced by
Jacobs: the only difference consists in the absence in Jacobs's monad of the
empty convex set. We provide a handy characterisation of the canonical weak
lifting of to as well as an algebraic
theory for the resulting composed monad. Finally, we restrict the composed
monad to finitely generated convex subsets and we show that it is presented by
an algebraic theory combining semimodules and semilattices with bottom, which
are the algebras for the finite powerset monad
Up-to Techniques for Branching Bisimilarity
Ever since the introduction of behavioral equivalences on processes one has
been searching for efficient proof techniques that accompany those
equivalences. Both strong bisimilarity and weak bisimilarity are accompanied by
an arsenal of up-to techniques: enhancements of their proof methods. For
branching bisimilarity, these results have not been established yet. We show
that a powerful proof technique is sound for branching bisimilarity by
combining the three techniques of up to union, up to expansion and up to
context for Bloom's BB cool format. We then make an initial proposal for
casting the correctness proof of the up to context technique in an abstract
coalgebraic setting, covering branching but also {\eta}, delay and weak
bisimilarity
CALF: Categorical Automata Learning Framework
Automata learning is a popular technique used to automatically construct an automaton model from queries, and much research has gone into devising specific adaptations of such algorithms for different types of automata. This thesis presents a unifying approach to many existing algorithms using category theory, which eases correctness proofs and guides the design of new automata learning algorithms. We provide a categorical automata learning framework---CALF---that at its core includes an abstract version of the popular L* algorithm. Using this abstract algorithm we derive several concrete ones. We instantiate the framework to a large class of Set functors, by which we recover for the first time a tree automata learning algorithm from an abstract framework, which moreover is the first to cover also algebras of quotiented polynomial functors. We further develop a general algorithm to learn weighted automata over a semiring. On the one hand, we identify a class of semirings, principal ideal domains, for which this algorithm terminates and for which no learning algorithm previously existed; on the other hand, we show that it does not terminate over the natural numbers. Finally, we develop an algorithm to learn automata with side-effects determined by a monad and provide several optimisations, as well as an implementation with experimental evaluation. This allows us to improve existing algorithms and opens the door to learning a wide range of automata
Tree Automata as Algebras: Minimisation and Determinisation
We study a categorical generalisation of tree automata, as algebras for a fixed endofunctor endowed with initial and final states. Under mild assumptions about the base category, we present a general minimisation algorithm for these automata. We then build upon and extend an existing generalisation of the Nerode equivalence to a categorical setting and relate it to the existence of minimal automata. Finally, we show that generalised types of side-effects, such as non-determinism, can be captured by this categorical framework, leading to a general determinisation procedure
Hacking nondeterminism with induction and coinduction.
International audienceWe introduce bisimulation up to congruence as a technique for proving language equivalence of nondeterministic finite automata. Exploiting this technique, we devise an optimization of the classic algorithm by Hopcroft and Karp.13 We compare our approach to the recently introduced antichain algorithms and we give concrete examples where we exponentially improve over antichains. Experimental results show significant improvements