Results 11  20
of
72
Towards a Duality Result in the Modal Logic of Coalgebras
 In Coalgebraic Methods in Computer Science, volume 33 of ENTCS
, 2000
"... This paper forms a step in the development of the recently emerged connection between coalgebra and modal logic. It introduces (backandforth) transformations between coalgebras of simple polynomial functors and certain Boolean algebras with operators (BAOs). Categorically, these transformations ta ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
This paper forms a step in the development of the recently emerged connection between coalgebra and modal logic. It introduces (backandforth) transformations between coalgebras of simple polynomial functors and certain Boolean algebras with operators (BAOs). Categorically, these transformations take the form of an adjunction. The BAO associated with a coalgebra can be used for specification, e.g. of classes in objectoriented languages.
Hidden Coinduction: Behavioral Correctness Proofs for Objects
 Mathematical Structures in Computer Science
, 1999
"... This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavio ..."
Abstract

Cited by 22 (9 self)
 Add to MetaCart
This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavioral correctness of concurrent systems; several mechanical proofs are given using OBJ3. We also show how modularization, bisimulation, transition systems, concurrency and combinations of the functional, constraint, logic and object paradigms fit into hidden algebra. 1. Introduction
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 objectoriented language Java. It aims at verification of program properties, with support of modern tools. We use our own frontend tool (which is still partly under construction) for translating Java classes into logi ..."
Abstract

Cited by 20 (0 self)
 Add to MetaCart
We present the first results of a project called LOOP, on formal methods for the objectoriented language Java. It aims at verification of program properties, with support of modern tools. We use our own frontend tool (which is still partly under construction) for translating Java classes into logic, and a backend 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 twostep approach.
A Complete Calculus for Equational Deduction in Coalgebraic Specification
 Recent Trends in Algebraic Development Techniques, WADT 97, volume 1376 of LNCS
, 1997
"... The use of coalgebras for the specification of dynamical systems with a hidden state space is receiving more and more attention in the years, as a valid alternative to algebraic methods based on observational equivalences. However, to our knowledge, the coalgebraic framework is still lacking a compl ..."
Abstract

Cited by 20 (0 self)
 Add to MetaCart
(Show Context)
The use of coalgebras for the specification of dynamical systems with a hidden state space is receiving more and more attention in the years, as a valid alternative to algebraic methods based on observational equivalences. However, to our knowledge, the coalgebraic framework is still lacking a complete equational deduction calculus which enjoys properties similar to those stated in Birkhoff's completeness theorem for the algebraic case. In this paper we present a sound and complete equational calculus for coalgebras of a restricted class of polynomial functors. This restriction allows us to borrow some "algebraic" notions for the formalization of the calculus. Additionally, we discuss the notion of colours as a suitable dualization of variables in the algebraic case. Then the completeness result is extended to the "nonground" or "coloured" case, which is shown to be expressive enough to deal with equations of hidden sort. Finally we discuss some weaknesses of the proposed results wit...
Exercises in Coalgebraic Specification
, 1999
"... An introduction to coalgebraic specification is presented via examples. A coalgebraic specification describes a collection of coalgebras satisfying certain assertions. It is thus an axiomatic description of a particular class of mathematical structures. Such specifications are especially suitable fo ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
An introduction to coalgebraic specification is presented via examples. A coalgebraic specification describes a collection of coalgebras satisfying certain assertions. It is thus an axiomatic description of a particular class of mathematical structures. Such specifications are especially suitable for statebased dynamical systems in general, and for classes in objectoriented programming languages in particular. This paper will gradually introduce the notions of bisimilarity, invariance, component classes, temporal logic and refinement in a coalgebraic setting. Besides the running example of the coalgebraic specification of (possibly infinite) binary trees, a specification of Peterson's mutual exclusion algorithm is elaborated in detail.
Invariants, Bisimulations and the Correctness of Coalgebraic Refinements
 Techn. Rep. CSIR9704, Comput. Sci. Inst., Univ. of Nijmegen
, 1997
"... . Coalgebraic specifications are used to formally describe the behaviour of classes in objectoriented languages. In this paper, a general notion of refinement between two such coalgebraic specifications is defined, capturing the idea that one "concrete" class specification realises the be ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
(Show Context)
. Coalgebraic specifications are used to formally describe the behaviour of classes in objectoriented languages. In this paper, a general notion of refinement between two such coalgebraic specifications is defined, capturing the idea that one "concrete" class specification realises the behaviour of the other, "abstract" class specification. Two (complete) prooftechniques are given to establish such refinements: one involving an invariant (a predicate that is closed under transitions) on the concrete class, and one involving a bisimulation (a relation that is closed under transitions) between the concrete and the abstract class. The latter can only be used if the abstract class is what we call totally specified. Parts of the underlying theory of invariants and bisimulations in a coalgebraic setting are included, involving least and greatest invariants and connections between invariants and bisimulations. Also, the proofprinciples are illustrated in examples (which are fully formalise...
Components as processes: An exercise in coalgebraic modeling
 FMOODS’2000  Formal Methods for Open ObjectOriented Distributed Systems
, 2000
"... Abstract Software components, arising, typically, in systems ’ analysis and design, are characterized by a public interface and a private encapsulated state. They persist (and evolve) in time, according to some behavioural patterns. This paper is an exercise in modeling such components as coalgebras ..."
Abstract

Cited by 15 (6 self)
 Add to MetaCart
(Show Context)
Abstract Software components, arising, typically, in systems ’ analysis and design, are characterized by a public interface and a private encapsulated state. They persist (and evolve) in time, according to some behavioural patterns. This paper is an exercise in modeling such components as coalgebras for some kinds of endofunctors on ¢¡¤ £ , capturing both (interface) types and behavioural aspects. The construction of component categories, cofibred over the interface space, emerges by generalizing the usual notion of a coalgebra morphism. A collection of composition operators as well as a generic notion of bisimilarity, are discussed.
Hidden Algebra for Software Engineering
 PROCEEDINGS COMBINATORICS, COMPUTATION AND LOGIC
, 1999
"... This paper is an introduction to recent research on hidden algebra and its application to software engineering; it is intended to be informal and friendly, but still precise. We first review classical algebraic specification for traditional "Platonic" abstract data types like integers, ve ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
(Show Context)
This paper is an introduction to recent research on hidden algebra and its application to software engineering; it is intended to be informal and friendly, but still precise. We first review classical algebraic specification for traditional "Platonic" abstract data types like integers, vectors, matrices, and lists. Software engineering also needs changeable "abstract machines," recently called "objects," that can communicate concurrently with other objects through visible "attributes" and statechanging "methods." Hidden algebra is a new development in algebraic semantics designed to handle such systems. Equational theories are used in both cases, but the notion of satisfaction for hidden algebra is behavioral, in the sense that equations need only appear to be true under all possible experiments; this extra flexibility is needed to accommodate the clever implementations that software engineers often use to conserve space and/or time. The most important results in hidden algebra are ...
Coalgebraic Reasoning about Classes in ObjectOriented Languages
 In Coalgebraic Methods in Computer Science, number 11. Electronic Notes in Computer Science
, 1998
"... This note briefly discusses how some of the ideas developed in the theory of coalgebras are used in a frontend tool called LOOP, developed jointly in Dresden and Nijmegen, for reasoning (with a backend theorem prover) about classes in objectoriented languages. It will describe reasoning both about ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
(Show Context)
This note briefly discusses how some of the ideas developed in the theory of coalgebras are used in a frontend tool called LOOP, developed jointly in Dresden and Nijmegen, for reasoning (with a backend theorem prover) about classes in objectoriented languages. It will describe reasoning both about objectoriented specifications and about JAVA implementations, via examples. 1 Introduction One of the key aspects of objectorientation is that objects, as instances of a class, have a private state, which can only be accessed and modified via the operations (usually called attributes and methods) of the class of the object. It is precisely this aspect which forms the starting point of the coalgebraic analysis of classes and objects in an objectoriented setting, see [10,5]: a class is seen as a coalgebra, and an object of a class as an element of the state space of the coalgebra. More precisely, a coalgebra is an operation of the form c: X ! T (X), where X is the carrier set (or state sp...
Towards Weak Bisimulation For Coalgebras
, 2002
"... This report contains a novel approach to observation equivalence for coalgebras. ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
This report contains a novel approach to observation equivalence for coalgebras.