Results 1 - 10
of
12
Abstract behavior types: A foundation model for components and their composition
- SCIENCE OF COMPUTER PROGRAMMING
, 2003
"... ..."
A Coinductive Calculus of Component Connectors
, 2002
"... Reo is a recently introduced channel-based coordination model, wherein complex coordinators, called connectors, are compositionally built out of simpler ones. Using a more liberal notion of a channel, Reo generalises existing dataflow networks. In this paper, we present a simple and transparent sema ..."
Abstract
-
Cited by 53 (23 self)
- Add to MetaCart
Reo is a recently introduced channel-based coordination model, wherein complex coordinators, called connectors, are compositionally built out of simpler ones. Using a more liberal notion of a channel, Reo generalises existing dataflow networks. In this paper, we present a simple and transparent semantical model for Reo, in which connectors are relations on timed data streams. Timed data streams constitute a characteristic of our model and consist of twin pairs of separate data and time streams. Furthermore, coinduction is our main reasoning principle and we use it to prove properties such as connector equivalence.
Behavioural Differential Equations: A Coinductive Calculus of Streams, Automata, and Power Series
, 2000
"... Streams, (automata and) languages, and formal power series are viewed coalgebraically. In summary, this amounts to supplying these sets with a deterministic automaton structure, which has the universal property of being final. Finality then forms the basis for both definitions and proofs by coinduct ..."
Abstract
-
Cited by 43 (14 self)
- Add to MetaCart
Streams, (automata and) languages, and formal power series are viewed coalgebraically. In summary, this amounts to supplying these sets with a deterministic automaton structure, which has the universal property of being final. Finality then forms the basis for both definitions and proofs by coinduction, the coalgebraic counterpart of induction. Coinductive definitions take the shape of what we have called behavioural differential equations, after Brzozowski's notion of input derivative. A calculus is developed for coinductive reasoning about all of the afore mentioned structures, closely resembling (and at times generalising) calculus from classical analysis. 2000 Mathematics Subject Classification: 68Q10, 68Q55, 68Q85 1998 ACM Computing Classification System: F.1, F.3 Keywords & Phrases: Coalgebra, automaton, finality, coinduction, stream, formal language, formal power series, differential equation, input derivative, behaviour, semiring, max-plus algebra 1 Contents 1 Introductio...
A coinductive calculus of streams
, 2005
"... We develop a coinductive calculus of streams based on the presence of a final coalgebra structure on the set of streams (infinite sequences of real numbers). The main ingredient is the notion of stream derivative, which can be used to formulate both coinductive proofs and definitions. In close analo ..."
Abstract
-
Cited by 23 (8 self)
- Add to MetaCart
We develop a coinductive calculus of streams based on the presence of a final coalgebra structure on the set of streams (infinite sequences of real numbers). The main ingredient is the notion of stream derivative, which can be used to formulate both coinductive proofs and definitions. In close analogy to classical analysis, the latter are presented as behavioural differential equations. A number of applications of the calculus are presented, including difference equations, analytical differential equations, continued fractions, and some problems from discrete mathematics and combinatorics.
Specifying software connectors
- 1st International Colloquium on Theorectical Aspects of Computing (ICTAC’04
, 2004
"... Abstract. Orchestrating software components, often independently supplied, has assumed a central role in software construction. Actually, as relevant as components themselves, are the ways in which they can be put together to interact and cooperate in order to achieve some common goal. Such is the r ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Abstract. Orchestrating software components, often independently supplied, has assumed a central role in software construction. Actually, as relevant as components themselves, are the ways in which they can be put together to interact and cooperate in order to achieve some common goal. Such is the role of so-called software connectors: external coordination devices which ensure both the flow of data and synchronization restrictions within a component’s network. This paper introduces a new model for software connectors, based on relations extended in time, which aims to provide support for light inter-component dependency and effective external control. 1
Induction, Coinduction, and Adjoints
, 2002
"... We investigate the reasons for which the existence of certain right adjoints implies the existence of some nal coalgebras, and vice-versa. In particular we prove and discuss the following theorem which has been partially available in the literature: let F a G be a pair of adjoint functors, and supp ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We investigate the reasons for which the existence of certain right adjoints implies the existence of some nal coalgebras, and vice-versa. In particular we prove and discuss the following theorem which has been partially available in the literature: let F a G be a pair of adjoint functors, and suppose that an initial algebra F (X) of the functor H(Y ) = X + F (Y ) exists; then a right adjoint G(X) to F (X) exists if and only if a nal coalgebra G(X) of the functor K(Y ) = X G(Y ) exists. Motivated by the problem of understanding the structures that arise from initial algebras, we show the following: if F is a left adjoint with a certain commutativity property, then an initial algebra of H(Y ) = X + F (Y ) generates a subcategory of functors with inductive types where the functorial composition is constrained to be a Cartesian product.
Coinductive Counting With Weighted Automata
, 2002
"... A general methodology is developed to compute the solution of a wide variety of basic counting problems in a uniform way: (1) the objects to be counted are enumerated by means of an infinite weighted automaton; (2) the automaton is reduced by means of the quantitative notion of stream bisimulation; ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
A general methodology is developed to compute the solution of a wide variety of basic counting problems in a uniform way: (1) the objects to be counted are enumerated by means of an infinite weighted automaton; (2) the automaton is reduced by means of the quantitative notion of stream bisimulation; (3) the reduced automaton is used to compute an expression (in terms of stream constants and operators) that represents the stream of all counts.
An application of stream calculus to signal flow graphs. Lecture
"... The present paper can be seen as an exercise in the author’s stream calculus [Rut01] and gives a new proof for an existing result about stream circuits. Such circuits are also known under the name of signal flow graphs, and are built from (scalar) multipliers, copiers (fan-out), adders (element-wise ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The present paper can be seen as an exercise in the author’s stream calculus [Rut01] and gives a new proof for an existing result about stream circuits. Such circuits are also known under the name of signal flow graphs, and are built from (scalar) multipliers, copiers (fan-out), adders (element-wise sum), and registers (here: one-element memory cells, aka delays). Because of the presence of memory, the input-output behaviour of these circuits is best described in terms of functions from streams to streams (of real numbers). The main statement of this paper (Theorem 6), gives a characterization of the input-output behaviour of finite stream circuits in terms of so-called rational streams. It is well-known in the world of signal processing, where it is formulated and proved in terms of the Z-transform (a discrete version of the Laplace transform) and transfer functions (see for instance [Lah98, p.694]). These transforms are used as representations of streams of (real or complex) numbers. As a consequence, one has to deal with two different worlds, and some care is required when moving from the one to the other. In contrast, we use stream calculus to formulate and obtain
Coinductive counting: bisimulation in enumerative combinatorics (extended abstract). Report SEN-R0129, CWI, 2001. Available at URL http://www.cwi.nl. Also in
- L. Moss (Ed.), The Proc. CMCS’02, ENTCS, Vol. 65, Elsevier Science B.V
, 2002
"... Coinductive counting: bisimulation in enumerative combinatorics (extended abstract) ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Coinductive counting: bisimulation in enumerative combinatorics (extended abstract)
Coordination for Component Composition
, 2006
"... Composition of systems out of autonomous subsystems pivots on coordination concerns that center on interaction. Interaction has been studied as an inseparable concern in concurrency theory. Curiously, however, interaction has not been seriously considered as a first-class concept in constructive mod ..."
Abstract
- Add to MetaCart
Composition of systems out of autonomous subsystems pivots on coordination concerns that center on interaction. Interaction has been studied as an inseparable concern in concurrency theory. Curiously, however, interaction has not been seriously considered as a first-class concept in constructive models of computation. The coordination language Reo provides a powerful and expressive model for flexible composition of behavior through interaction. Reo serves as a good example of a constructive model of computation that treats interaction as a (in fact, the only) first-class concept. It uniquely focuses on the compositional construction of connectors that enable and coordinate the interactions among the constituents in a concurrent system, without their knowledge. We show how Reo allows complex behavior in a system to emerge as a composition of primitive interactions.

