## About

91

Publications

4,769

Reads

**How we measure 'reads'**

A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more

1,072

Citations

Citations since 2017

Introduction

**Skills and Expertise**

## Publications

Publications (91)

We extend the Kearns–Vazirani learning algorithm to be able to handle systems that change over time. We present a new learning algorithm that can reuse and update previously learned behavior, implement it in the LearnLib library, and evaluate it on large examples, to which we make small adjustments between two runs of the algorithm. In these experi...

Automata learning is a popular technique used to automatically construct an automaton model from queries. Much research went into devising ad hoc adaptations of algorithms for different types of automata. The CALF project seeks to unify these using category theory in order to ease correctness proofs and guide the design of new algorithms. In this p...

Guarded Kleene Algebra with Tests (GKAT) is the fragment of Kleene Algebra with Tests (KAT) that arises by replacing the union and iteration operations of KAT with predicate-guarded variants. GKAT is more efficiently decidable than KAT and expressive enough to model simple imperative programs, making it attractive for applications to e.g. network v...

We develop a (co)algebraic framework to study a family of process calculi with monadic branching structures and recursion operators. Our framework features a uniform semantics of process terms and a complete axiomatisation of semantic equivalence. We show that there are uniformly defined fragments of our calculi that capture well-known examples fro...

We introduce Concurrent NetKAT (CNetKAT), an extension of the network programming language NetKAT with multiple packets and with operators to specify and reason about concurrency and state. We provide a model of the language based on partially ordered multisets (pomsets), well-established mathematical structures in the denotational semantics of con...

We introduce Concurrent (), an extension of with operators for specifying and reasoning about concurrency in scenarios where multiple packets interact through state. We provide a model of the language based on partially-ordered multisets (pomsets), which are a well-established mathematical structure for defining the denotational semantics of concur...

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 t...

The classical powerset construction is a standard method converting a nondeterministic automaton into a deterministic one recognising the same language. Recently, the powerset construction has been lifted to a more general framework that converts an automaton with side-effects, given by a monad, into a deterministic automaton accepting the same lan...

We extend the $$\mathtt {L}^{\!\star }$$ L ⋆ algorithm to learn bimonoids recognising pomset languages. We then identify a class of pomset automata that accepts precisely the class of pomset languages recognised by bimonoids and show how to convert between bimonoids and automata.

Guarded Kleene Algebra with Tests (GKAT) is an efficient fragment of KAT, as it allows for almost linear decidability of equivalence. In this paper, we study the (co)algebraic properties of GKAT. Our initial focus is on the fragment that can distinguish between unsuccessful programs performing different actions, by omitting the so-called early term...

We extend the L* algorithm to learn bimonoids recognising pomset languages. We then identify a class of pomset automata that accepts precisely the class of pomset languages recognised by bimonoids and show how to convert between bimonoids and automata.

Software-Defined Networking (SDN) is a networking paradigm that has become increasingly popular in the last decade. The unprecedented control over the global behaviour of the network it provides opens a range of new opportunities for formal methods and much work has appeared in the last few years on providing bridges between SDN and verification. T...

Automata learning has been successfully applied in the verification of hardware and software. The size of the automaton model learned is a bottleneck for scalability, and hence optimizations that enable learning of compact representations are important. This paper exploits monads, both as a mathematical structure and a programming construct, to des...

We introduce partially observable concurrent Kleene algebra (POCKA), an algebraic framework to reason about concurrent programs with control structures, such as conditionals and loops. POCKA enables reasoning about programs that can access variables and values, which we illustrate through concrete examples. We prove that POCKA is a sound and comple...

Concurrent Kleene Algebra (CKA) extends basic Kleene algebra with a parallel composition operator, which enables reasoning about concurrent programs. However, CKA fundamentally misses tests, which are needed to model standard programming constructs such as conditionals and \(\mathsf {while}\)-loops. It turns out that integrating tests in CKA is sub...

In this paper, we study active learning algorithms for weighted automata over a semiring. We show that a variant of Angluin’s seminal \(\mathtt {L}^{\!\star }\) algorithm works when the semiring is a principal ideal domain, but not for general semirings such as the natural numbers.

Using recent developments in coalgebraic and monad-based semantics, we present a uniform study of various notions of machines, e.g., finite state machines, multi-stack machines, Turing machines, valence automata, and weighted automata. They are instances of Jacobs’s notion of a T-automaton, where T is a monad. We show that the generic language sema...

Concurrent Kleene Algebra (CKA) extends basic Kleene algebra with a parallel composition operator, which enables reasoning about concurrent programs. However, CKA fundamentally misses tests, which are needed to model standard programming constructs such as conditionals and $\mathsf{while}$-loops. It turns out that integrating tests in CKA is subtle...

If a monad $T$ is monoidal, then operations on a set $X$ can be lifted canonically to operations on $TX$. In this paper we study structural properties under which $T$ preserves equations between those operations. It has already been shown that any monoidal monad preserves linear equations; affine monads preserve drop equations (where some variable...

Automata learning is a popular technique used to automatically construct an automaton model from queries. Much research went into devising ad hoc adaptations of algorithms for different types of automata. The CALF project seeks to unify these using category theory in order to ease correctness proofs and guide the design of new algorithms. In this p...

Guarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests (KAT) that arises by restricting the union (+) and iteration (*) operations from KAT to predicate-guarded versions. We develop the (co)algebraic theory of GKAT and show how it can be efficiently used to reason about imperative programs. In contrast to KAT, whose eq...

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 synchro...

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 synchro...

We present a coinductive framework for defining and reasoning about the
infinitary analogues of equational logic and term rewriting in a uniform,
coinductive way. The setup captures rewrite sequences of arbitrary ordinal
length, but it has neither the need for ordinals nor for metric convergence.
This makes the framework especially suitable for for...

We present a systematic study of bisimulation-up-to techniques for coalgebras. This enhances the bisimulation proof method for a large class of state based systems, including labelled transition systems but also stream systems and weighted automata. Our approach allows for compositional reasoning about the soundness of enhancements. Applications in...

We present a coinductive framework for defining infinitary analogues of
equational reasoning and rewriting in a uniform way. We define the relation
=^infty, notion of infinitary equational reasoning, and ->^infty, the standard
notion of infinitary rewriting as follows:
=^infty := nu R. ( <-_root + ->_root + lift(R) )^*
->^infty := mu R. nu S. ( ->_...

We propose an abstract framework for modeling state-based systems with internal behaviour as e.g. given by silent or ϵ-transitions. Our approach employs monads with a parametrized fixpoint operator † to give a semantics to those systems and implement a sound procedure of abstraction of the internal transitions, whose labels are seen as the unit of...

In the concurrency theory, various semantic equivalences on transition systems are based on traces decorated with some additional observations, generally referred to as decorated traces. Using the generalized powerset construction, recently introduced by a subset of the authors (Silva et al.2010 FSTTCS. LIPIcs8 272–283), we give a coalgebraic prese...

This paper takes a fresh look at the topic of trace semantics in the theory of coalgebras. The first development of coalgebraic trace semantics used final coalgebras in Kleisli categories, stemming from an initial algebra in the underlying category. This approach requires some non-trivial assumptions, like dcpo enrichment, which do not always hold,...

We propose an abstract framework for modeling state-based systems with internal behavior as e.g. given by silent or \(\epsilon \)-transitions. Our approach employs monads with a parametrized fixpoint operator \(\dagger \) to give a semantics to those systems and implement a sound procedure of abstraction of the internal transitions, whose labels ar...

Quality of Service analysis of composed software systems is an active research area, with the goal of evaluating and improving performance and resource allocation in service-oriented applications, namely, in the glue code - coordination layer-of such systems. Stochastic Reo offers constructs for service coordination and allows the specification of...

We propose an abstract framework for modeling state-based systems with
internal behavior as e.g. given by silent or $\epsilon$-transitions. Our
approach employs monads with a parametrized fixpoint operator $\dagger$ to give
a semantics to those systems and implement a sound procedure of abstraction of
the internal transitions, whose labels are seen...

We give a new presentation of Brzozowski's algorithm to minimize finite automata using elementary facts from universal algebra and coalgebra and building on earlier work by Arbib and Manes on a categorical presentation of Kalman duality between reachability and observability. This leads to a simple proof of its correctness and opens the door to fur...

The Chomsky hierarchy plays a prominent role in the foundations of theoretical computer science relating classes of formal languages of primary importance. In this paper we use recent developments on coalgebraic and monad-based semantics to obtain a generic notion of a \(\mathbb{T}\)-automaton, where \(\mathbb{T}\) is a monad, which allows the unif...

One of the many results which makes Joachim Lambek famous is: an initial algebra of an endofunctor is an isomorphism. This fixed point result is often referred to as “Lambek’s lemma”. In this paper, we illustrate the power of initiality by exploiting it in categories of algebra-valued presheaves ℰℳ(T) ℕ , for a monad T on Sets. The use of presheave...

Automata learning is a known technique to infer a finite state machine from a set of observations. In this paper, we revisit Angluin’s original algorithm from a categorical perspective. This abstract view on the main ingredients of the algorithm lays a uniform framework to derive algorithms for other types of automata. We show a straightforward gen...

Checking language equivalence (or inclusion) of finite automata is a classical problem in Computer Science, which has recently received a renewed interest and found novel and more effective solutions, such as approaches based on antichains or bisimulations up-to. Several notions of equivalence (or preorder) have been proposed for the analysis of co...

In automata theory, a machine transitions from one state to the next when it reads an input symbol. It is common to also allow an automaton to transition without input, via an ε-transition. These ε-transitions are convenient, e.g., when one defines the composition of automata. However, they are not necessary, and can be eliminated. Such ε-eliminati...

We introduce a coinductive definition of infinitary term rewriting. The setup
is surprisingly simple, and has in contrast to the usual definitions of
infinitary rewriting, neither need for ordinals nor for metric convergence.
While the idea of a coinductive treatment of infinitary rewriting is not new,
all previous approaches were limited to reduct...

A notion of generalized regular expressions for a large class of systems
modeled as coalgebras, and an analogue of Kleene's theorem and Kleene algebra,
were recently proposed by a subset of the authors of this paper. Examples of
the systems covered include infinite streams, deterministic automata, Mealy
machines and labelled transition systems. In...

The powerset construction is a standard method for converting a
nondeterministic automaton into a deterministic one recognizing the same
language. In this paper, we lift the powerset construction from automata to the
more general framework of coalgebras with structured state spaces. Coalgebra is
an abstract framework for the uniform study of differ...

This volume contains the proceedings of ICE'12, the 5th Interaction and
Concurrency Experience workshop, which was held in Stockholm, Sweden on the
16th of June 2012 as a satellite event of DisCoTec'12. The topic of ICE'12 was
Distributed Coordination, Execution Models, and Resilient Interaction. The ICE
procedure for paper selection allows for PC...

In concurrency theory, various semantic equivalences on labelled transition systems are based on traces enriched or decorated with some additional observations. They are generally referred to as decorated traces, and examples include ready, failure, trace and complete trace equivalence. Using the generalized powerset construction, recently introduc...

Coalgebras provide a uniform framework for the study of dynamical systems, including several types of automata. The coalgebraic view on systems has recently been proved relevant by the development of a number of expression calculi which generalize classical results by Kleene, on regular expressions, and by Kozen, on Kleene algebra. This note contai...

We give a new presentation of Brzozowski's algorithm to
minimize nite automata, using elementary facts from universal algebra
and coalgebra, and building on earlier work by Arbib and Manes on the
duality between reachability and observability. This leads to a simple
proof of its correctness and opens the door to further generalizations.

Developing trustworthy concurrent applications is a seemingly never ending quest, which is necessary but difficult. It is necessary because mainstream systems and applications are inherently concurrent and they are pervasive to our daily life activities. It is difficult because such systems are inherently interactive and heterogeneous, so that boun...

Coalgebra offers a unified theory of state based systems, including infinite streams, labelled transition systems and deterministic automata. In this paper, we use the coalgebraic view on systems to derive, in a uniform way, abstract procedures for checking behavioural equivalence in coalgebras, which perform (a combination of) minimization and det...

Recursive functions defined on a coalgebraic datatype C may not
converge if there are cycles in the input, that is, if the input object
is not well-founded. Even so, there is often a useful solution; for
example, the free variables of an infinitary λ-term, or the expected
running time of a finite-state probabilistic protocol.
Theoretical model...

We present a sound and complete axiomatization of finite complete trace semantics for generative probabilistic transition systems. Our approach is coalgebraic, which opens the door to axiomatize other types of systems. In order to prove soundness and completeness, we employ determinization and show that coalgebraic traces can be recovered via deter...

This volume contains the pre-proceedings of ICE'11, the 4th Interaction and
Concurrency Experience workshop, which was held in Reykjavik, Iceland on the
9th of June 2011 as a satellite event of DisCoTec'11.
The topic of ICE'11 was Reliable and Contract-based Interaction. Reliable
interactions are, e.g., those enjoying suitable logical, behavioural,...

We present a systematic way to generate (1) languages of (generalised) regular expressions, and (2) sound and complete axiomatizations thereof, for a wide variety of quantitative systems. Our quantitative systems include weighted versions of automata and transition systems, in which transitions are assigned a value in a monoid that represents cost,...

Coalgebras provide a uniform framework to study dynamical systems, including
several types of automata. In this paper, we make use of the coalgebraic view
on systems to investigate, in a uniform way, under which conditions calculi
that are sound and complete with respect to behavioral equivalence can be
extended to a coarser coalgebraic language eq...

Coalgebra offers a unified theory of state based systems, including infinite streams, labelled transition systems and deterministic automata. In this paper, we use the coalgebraic view on systems to derive, in a uniform way, abstract procedures for checking behavioural equivalence in coalgebras, which perform (a combination of) minimization and det...

QoS analysis of coordinated distributed autonomous services is currently of interest in the area of service-oriented computing and calls for new technologies and supporting tools. In previous work, the first three authors have proposed a compositional automata model to provide semantics for stochastic Reo, a channel based coordination language that...

Moessner's theorem describes a procedure for generating a sequence of n integer sequences that lead unexpectedly to the sequence of nth powers 1n , 2n , 3n , ⃜ Paasche's theorem is a generalization of Moessner's; by varying the parameters of the procedure, we can obtain the sequence of factorials 1!, 2!, 3!, … or the sequence of superfactorials 1!,...

In this paper, we present a compositional semantics for the channel-based coordination language Reo that enables the analysis of quality of service (QoS) properties of service compositions. For this purpose, we annotate Reo channels with stochastic delay rates and explicitly model data-arrival rates at the boundary of a connector, to capture its in...

Weighted automata are a generalization of non-deterministic automata where each transition, in addition to an input letter, has also a quantity expressing the weight (e.g. cost or probability) of its execution. As for non-deterministic automata, their behaviours can be expressed in terms of either (weighted) bisimilarity or (weighted) language equi...

A notion of generalized regular expressions for a large class of systems
modeled as coalgebras, and an analogue of Kleene's theorem and Kleene
algebra, were recently proposed by a subset of the authors of this
paper. Examples of the systems covered include infinite streams,
deterministic automata and Mealy machines. In this paper, we present a
nove...

This volume contains the proceedings of the 3rd Interaction and Concurrency Experience (ICE 2010) workshop, which was held in Amsterdam, Netherlands on 10th of June 2010 as a satellite event of DisCoTec'10. Each year, the workshop focuses on a specific topic: the topic of ICE 2010 was Guaranteed Interactions, by which we mean, for example, guarante...

In this paper, we present a systematic way of deriving (1) languages of
(generalised) regular expressions, and (2) sound and complete axiomatizations
thereof, for a wide variety of systems. This generalizes both the results of
Kleene (on regular languages and deterministic finite automata) and Milner (on
regular behaviours and finite labelled trans...

In this paper we present a compositional semantics for the channel-based coordination language Reo which enables the analysis of quality of service (QoS) properties of service compositions. For this purpose, we annotate Reo channels with stochastic delay rates and explicitly model data-arrival rates at the boundary of a connector, to capture its in...

We study the set T_A of infinite binary trees with nodes labelled in a semiring A from a coalgebraic perspective. We present coinductive definition and proof principles based on the fact that T_A carries a final coalgebra structure. By viewing trees as formal power series, we develop a calculus where definitions are presented as behavioural differe...

Coalgebra is an abstract framework for the uniform study
of different kinds of dynamical systems. An endofunctor $F$ determines both the type of systems ($F$-coalgebras) and a notion of behavioral equivalence ($\sim_F$) amongst them. Many types of transition systems and their equivalences can be captured by a functor $F$. For example, for determini...

Recent approaches to component-based software engineering employ coordinating connectors to compose components into software systems. For maximum flexibility and reuse such connectors can themselves be composed, resulting in an expressive calculus of connectors whose semantics encompasses complex combinations of synchronisation, mutual exclusion, n...

Coalgebra is an abstract framework for the uniform study of difierent kinds of dynamical systems. An endofunctor F determines both the types of systems (F-coalgebras) and a notion of behavioral equivalence (»F) amongst them. Many types of transition systems and their equivalences can be captured by a functor F. For example, for deterministic automa...

We present a systematic way to generate (1) languages of (generalised) regular expressions, and (2) sound and complete axiomatizations thereof, for a wide variety of quantitative systems. Our quantitative systems include weighted versions of automata and transition systems, in which transitions are assigned a value in a monoid that represents cost,...

Several dynamical systems, such as deterministic automata and labelled transition systems, can be described as coalgebras of so-called Kripke polynomial functors, built up from constants and identities, using product, coproduct and powerset. Locally finite Kripke polynomial coalgebras can be characterized up to bisimulation by a specification langu...

Recent approaches to component-based software engineering employ coordinating connectors to compose components into software systems. For maximum flexibility and reuse, such connectors can themselves be composed,
resulting in an expressive calculus of connectors whose semantics encompasses complex combinations of synchronisation, mutual
exclusion,...

For polynomial functors G, we show how to generalize the classical notion of regular expression to G-coalgebras. We introduce a language of expressions for describing elements of the final G-coalgebra and, analogously to Kleene’s theorem, we show the correspondence between expressions and finite G-coalgebras.

Invariants, bisimulations and assertions are the main ingredients of coalgebra theory applied to software systems. In this paper we reduce the first to a particular case of the second and show how both together pave the way to a theory of coalgebras which regards invariant predicates as types. An outcome of such a theory is a calculus of invariants...

We present a novel coalgebraic logic for deterministic Mealy machines that is sound, complete and expressive w.r.t. bisimulation. Every finite Mealy machine corresponds to a finite formula in the language. For the converse, we give a compositional synthesis algorithm which transforms every formula into a finite Mealy machine whose behaviour is exac...

We study the set T
A
of infinite binary trees with nodes labelled in a semiring A from a coalgebraic perspective. We present coinductive definition and proof principles based on the fact that T
A
carries a final coalgebra structure. By viewing trees as formal power series, we develop a calculus where definitions are presented as behavioural differe...

For polynomial set functors G, we introduce a language of expressions for describing elements of final G-coalgebra. We show that every state of a finite G-coalgebra corresponds to an expression in the language, in the sense that they both have the same semantics. Conversely, we give a compositional synthesis algorithm which transforms every express...

Haskell's type system with multi-parameter constructor classes and functional dependencies allows static (compile-time) computations to be expressed by logic programming on the level of types. This emergent capability has been exploited for instance to model arbi- trary-length tuples (heterogeneous lists), extensible records, func- tions with varia...

Haskell's type system with multi-parameter constructor classes and functional dependencies allows static (compile-time) computations to be expressed by logic programming on the level of types. This emergent capability has been exploited for instance to model arbitrary-length tuples (heterogeneous lists), extensible records, functions with variable...

We have experimented with modeling some of the key con- cepts of the VDM specification language inside the functional program- ming language Haskell. For instance, VDM's sets and maps are directly available as data types defined in standard libraries; we merely needed to define some additional functions to make the match complete. A bigger challeng...

## Projects

Projects (2)

Modular design and development of automata learning algorithms, with correctness-by-construction guarantees