Results 11  20
of
69
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 20 (0 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.
A Case Study in Class Library Verification: Java's Vector Class
, 1999
"... One of the reasons for the popularity of objectoriented programming is the possibility it offers for reuse of code. Usually, the distribution of an objectoriented programming language comes together with a collection of readytouse classes, in a class library. Typically, these classes contain gen ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
One of the reasons for the popularity of objectoriented programming is the possibility it offers for reuse of code. Usually, the distribution of an objectoriented programming language comes together with a collection of readytouse classes, in a class library. Typically, these classes contain general purpose code, which can be used in many applications. Before using such classes, a programmer usually wants to know how they behave and when their methods throw exceptions. One way to do this, is to study the actual code, but since this is timeconsuming and requires understanding all particular ins and outs of the implementation, this is often not the most efficient way. Another approach is to study the documentation provided. As long as the documentation is clear and concise, this works well, but otherwise one still is forced to look at the actual code.
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 18 (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 17 (0 self)
 Add to MetaCart
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 16 (2 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.
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 14 (6 self)
 Add to MetaCart
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.
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 12 (4 self)
 Add to MetaCart
. 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...
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 10 (0 self)
 Add to MetaCart
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...
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 10 (0 self)
 Add to MetaCart
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 ...
Towards Weak Bisimulation For Coalgebras
, 2002
"... This report contains a novel approach to observation equivalence for coalgebras. ..."
Abstract

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