Results 1 - 10
of
32
A Tutorial on (Co)Algebras and (Co)Induction
- EATCS Bulletin
, 1997
"... . Algebraic structures which are generated by a collection of constructors--- like natural numbers (generated by a zero and a successor) or finite lists and trees--- are of well-established importance in computer science. Formally, they are initial algebras. Induction is used both as a definition pr ..."
Abstract
-
Cited by 213 (34 self)
- Add to MetaCart
. Algebraic structures which are generated by a collection of constructors--- like natural numbers (generated by a zero and a successor) or finite lists and trees--- are of well-established importance in computer science. Formally, they are initial algebras. Induction is used both as a definition principle, and as a proof principle for such structures. But there are also important dual "coalgebraic" structures, which do not come equipped with constructor operations but with what are sometimes called "destructor" operations (also called observers, accessors, transition maps, or mutators). Spaces of infinite data (including, for example, infinite lists, and non-well-founded sets) are generally of this kind. In general, dynamical systems with a hidden, black-box state space, to which a user only has limited access via specified (observer or mutator) operations, are coalgebras of various kinds. Such coalgebraic systems are common in computer science. And "coinduction" is the appropriate te...
A Framework for Comparing Models of Computation
- IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
, 1998
"... Abstract—We give a denotational framework (a “meta model”) within which certain properties of models of computation can be compared. It describes concurrent processes in general terms as sets of possible behaviors. A process is determinate if, given the constraints imposed by the inputs, there are e ..."
Abstract
-
Cited by 208 (52 self)
- Add to MetaCart
Abstract—We give a denotational framework (a “meta model”) within which certain properties of models of computation can be compared. It describes concurrent processes in general terms as sets of possible behaviors. A process is determinate if, given the constraints imposed by the inputs, there are exactly one or exactly zero behaviors. Compositions of processes are processes with behaviors in the intersection of the behaviors of the component processes. The interaction between processes is through signals, which are collections of events. Each event is a value-tag pair, where the tags can come from a partially ordered or totally ordered set. Timed models are where the set of tags is totally ordered. Synchronous events share the same tag, and synchronous signals contain events with the same set of tags. Synchronous processes have only synchronous signals as behaviors. Strict causality (in timed tag systems) and continuity (in untimed tag systems) ensure determinacy under certain technical conditions. The framework is used to compare certain essential features of various models of computation, including Kahn process networks, dataflow, sequential processes, concurrent sequential processes with rendezvous, Petri nets, and discrete-event systems. I.
ConGolog, a concurrent programming language based on the situation calculus: language and implementation
, 1998
"... As an alternative to planning, an approach to high-level agent control based on concurrent program execution is considered. The language includes facilities for prioritizing the concurrent execution, interrupting the execution when certain conditions become true, and dealing with exogenous actions. ..."
Abstract
-
Cited by 186 (33 self)
- Add to MetaCart
As an alternative to planning, an approach to high-level agent control based on concurrent program execution is considered. The language includes facilities for prioritizing the concurrent execution, interrupting the execution when certain conditions become true, and dealing with exogenous actions. The language di ers from other procedural formalisms for concurrency in that the initial state can be incompletely speci ed and the primitive actions can be user-de ned by axioms in the situation calculus. In a companion paper, a formal de nition in the situation calculus of such a programming language is presented and illustrated with detailed examples. In this paper, the mathematical properties of the programming language are explored. 1
Bisimulation for Probabilistic Transition Systems: A Coalgebraic Approach
, 1998
"... . The notion of bisimulation as proposed by Larsen and Skou for discrete probabilistic transition systems is shown to coincide with a coalgebraic definition in the sense of Aczel and Mendler in terms of a set functor. This coalgebraic formulation makes it possible to generalize the concepts to a ..."
Abstract
-
Cited by 69 (15 self)
- Add to MetaCart
. The notion of bisimulation as proposed by Larsen and Skou for discrete probabilistic transition systems is shown to coincide with a coalgebraic definition in the sense of Aczel and Mendler in terms of a set functor. This coalgebraic formulation makes it possible to generalize the concepts to a continuous setting involving Borel probability measures. Under reasonable conditions, generalized probabilistic bisimilarity can be characterized categorically. Application of the final coalgebra paradigm then yields an internally fully abstract semantical domain with respect to probabilistic bisimulation. Keywords. Bisimulation, probabilistic transition system, coalgebra, ultrametric space, Borel measure, final coalgebra. 1 Introduction For discrete probabilistic transition systems the notion of probabilistic bisimilarity of Larsen and Skou [LS91] is regarded as the basic process equivalence. The definition was given for reactive systems. However, Van Glabbeek, Smolka and Steffen s...
Reasoning About Concurrent Execution, Prioritized Interrupts, and Exogenous Actions in the Situation Calculus
, 1997
"... As an alternative to planning, an approach to highlevel agent control based on concurrent program execution is considered. A formal definition in the situation calculus of such a programming language is presented and illustrated with a detailed example. The language includes facilities for prioritiz ..."
Abstract
-
Cited by 62 (13 self)
- Add to MetaCart
As an alternative to planning, an approach to highlevel agent control based on concurrent program execution is considered. A formal definition in the situation calculus of such a programming language is presented and illustrated with a detailed example. The language includes facilities for prioritizing the concurrent execution, interrupting the execution when certain conditions become true, and dealing with exogenous actions. The language differs from other procedural formalisms for concurrency in that the initial state can be incompletely specified and the primitive actions can be user-defined by axioms in the situation calculus.
Algebraic Process Verification
- Handbook of Process Algebra, chapter 17
"... This chapter addresses the question how to verify distributed and communicating systems in an e#ective way from an explicit process algebraic standpoint. This means that all calculations are based on the axioms and principles of the process algebras. ..."
Abstract
-
Cited by 55 (15 self)
- Add to MetaCart
This chapter addresses the question how to verify distributed and communicating systems in an e#ective way from an explicit process algebraic standpoint. This means that all calculations are based on the axioms and principles of the process algebras.
On the Foundations of Final Coalgebra Semantics: non-well-founded sets, partial orders, metric spaces
, 1998
"... ..."
Reasoning about Java classes
- OOPSLA’98, ACM SIGPLAN Notices
, 1998
"... We present the first results of a project called LOOP, on formal methods for the object-oriented language Java. It aims at verification of program properties, with support of modern tools. We use our own front-end tool (which is still partly under construction) for translating Java classes into logi ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
We present the first results of a project called LOOP, on formal methods for the object-oriented language Java. It aims at verification of program properties, with support of modern tools. We use our own front-end tool (which is still partly under construction) for translating Java classes into logic, and a back-end theorem prover (namely PVS, developed at SRI) for reasoning. In several examples we will demonstrate how nontrivial properties of Java programs and classes can be proved following this two-step approach.
From Set-theoretic Coinduction to Coalgebraic Coinduction: some results, some problems
- In Jacobs and Rutten [JR99
, 1999
"... We investigate the relation between the set-theoretical description of coinduction based on Tarski Fixpoint Theorem, and the categorical description of coinduction based on coalgebras. In particular, we examine set-theoretic generalizations of the coinduction proof principle, in the spirit of Mil ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
We investigate the relation between the set-theoretical description of coinduction based on Tarski Fixpoint Theorem, and the categorical description of coinduction based on coalgebras. In particular, we examine set-theoretic generalizations of the coinduction proof principle, in the spirit of Milner's bisimulation "up-to", and we discuss categorical counterparts for these. Moreover, we investigate the connection between these and the equivalences induced by T -coiterative functions. These are morphisms into final coalgebras, satisfying the T -coiteration scheme, which is a generalization of both the coiteration and the corecursion scheme. We generalize Rutten's transformation from coalgebraic bisimulations to set-theoretic bisimulations, in order to cover also the case of bisimulations "up-to". A list of examples of set-theoretic coinductive specifications which appear not to be easily expressible in coalgebraic terms are discussed. Introduction Coinductive definitions and ...
Mixing Up Nondeterminism and Probability: a preliminary report
, 1999
"... For a process language with both nondeterministic and probabilistic choice, and a form of failure a transition system is given from which, in a modular way, various operational models corresponding to various interpretations of nondeterminism and probability can be obtained. The effect of failure of ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
For a process language with both nondeterministic and probabilistic choice, and a form of failure a transition system is given from which, in a modular way, various operational models corresponding to various interpretations of nondeterminism and probability can be obtained. The effect of failure of one component for the system as a whole is treated differently in each interpretation. The same approach is followed for an extension of the language with a parallel operator. The adopted concurrency model is of a distributed nature and assumes that progress is guaranteed if nonfailing components exist. To this end the notion of a take-over of a failing component is incorporated in the transition system. It is shown that the modular way in which the transition system can yield different semantical models applies to this setting as well.

