Results 1  10
of
90
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 wellestablished importance in computer science. Formally, they are initial algebras. Induction is used both as a definition pr ..."
Abstract

Cited by 244 (35 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 wellestablished 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 nonwellfounded sets) are generally of this kind. In general, dynamical systems with a hidden, blackbox 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...
Circular Coinductive Rewriting
 In Proceedings of Automated Software Engineering 2000
, 2000
"... Circular coinductive rewriting is a new method for proving behavioral properties, that combines behavioral rewriting with circular coinduction. This method is implemented in our new BOBJ behavioral specification and computation system, which is used in examples throughout this paper. These examples ..."
Abstract

Cited by 50 (11 self)
 Add to MetaCart
Circular coinductive rewriting is a new method for proving behavioral properties, that combines behavioral rewriting with circular coinduction. This method is implemented in our new BOBJ behavioral specification and computation system, which is used in examples throughout this paper. These examples demonstrate the surprising power of circular coinductive rewriting. The paper also sketches the underlying hidden algebraic theory and briefly describes BOBJ and some of its algorithms.
An ImplementationOriented Semantics for Module Composition
, 1997
"... This paper describes an approach to module composition by executing "module expressions" to build systems out of component modules; the paper also gives a novel semantics intended to aid implementers. The semantics is based on set theoretic notions of tuple set, partial signature, and inst ..."
Abstract

Cited by 34 (14 self)
 Add to MetaCart
This paper describes an approach to module composition by executing "module expressions" to build systems out of component modules; the paper also gives a novel semantics intended to aid implementers. The semantics is based on set theoretic notions of tuple set, partial signature, and institution, thus avoiding more difficult mathematics theory. Language features include information hiding, both vertical and horizontal composition, and views for binding modules to interfaces. Vertical composition refers to the hierarchical structuring of a system into layers, while horizontal composition refers to the structure of a given layer. Modules may involve information hiding, and views may involve behavioral satisfaction of a theory by a module. Several "Laws of Software Composition" are given, which show how the various module composition operations relate. Taken together, this gives foundations for an algebraic approach to software engineering. 1.1 Introduction The approach to module compos...
Hidden Congruent Deduction
 Automated Deduction in Classical and NonClassical Logics
, 1998
"... This paper presents some techniques of this kind in the area called hidden algebra, clustered around the central notion of coinduction. We believe hidden algebra is the natural next step in the evolution of algebraic semantics and its first order proof technology. Hidden algebra originated in [7], a ..."
Abstract

Cited by 29 (18 self)
 Add to MetaCart
This paper presents some techniques of this kind in the area called hidden algebra, clustered around the central notion of coinduction. We believe hidden algebra is the natural next step in the evolution of algebraic semantics and its first order proof technology. Hidden algebra originated in [7], and was developed further in [8, 10, 3, 12, 5] among other places; the most comprehensive survey currently available is [12]
Proof of Correctness of Object Representations
"... This paper presents an algebraic account of implementation that is applicable to the object paradigm. The key to its applicability is the notion of state: objects have local states that are observable only through their outputs. That is, objects may be viewed as abstract machines with hidden local s ..."
Abstract

Cited by 28 (14 self)
 Add to MetaCart
This paper presents an algebraic account of implementation that is applicable to the object paradigm. The key to its applicability is the notion of state: objects have local states that are observable only through their outputs. That is, objects may be viewed as abstract machines with hidden local state (as in [9]). Consequently, a correct implementation need only have the required visible behaviour. We use hidden order sorted algebra to formalise the object paradigm [4, 5, 8]. Advantages of an algebraic approach include a high level of intellectual rigour, a large body of supporting mathematics, and simple, efficient proofs using only equational logic. A wide variety of extensions to equational logic have been developed to treat various programming features, while preserving its essential simplicity. For example, order sorted equational logic uses a notion of subsort to treat computations that may raise exceptions or fail to terminate. Hidden sorted logic extends standard equational logic to capture an important distinction between immutable data types, such as booleans and integers, and mutable objects, such as program variables and database entities. The terms abstract data types and abstract object classes refer to these two kinds of entity. The former represent `visible' data values; the latter represent data stored in a hidden state. In hidden sorted equational logic, an equation of hidden sort need not be satisfied in the usual sense, but only up to observability, in that only its visible consequences need hold. Thus, hidden sorted logic allows greater freedom in implementations. The simplicity of the underlying logic is important, because we want a tractable
Extra Theory Morphisms for Institutions: logical semantics for multiparadigm languages
, 1996
"... We extend the ordinary concept of theory morphism in institutions to extra theory morphisms. Extra theory morphism map theories belonging to different institutions across institution morphisms. We investigate the basic mathematical properties of extra theory morphisms supporting the semantics of log ..."
Abstract

Cited by 28 (7 self)
 Add to MetaCart
We extend the ordinary concept of theory morphism in institutions to extra theory morphisms. Extra theory morphism map theories belonging to different institutions across institution morphisms. We investigate the basic mathematical properties of extra theory morphisms supporting the semantics of logical multiparadigm languages, especially structuring specifications (module systems) a la OBJClear. They include model reducts, free constructions (liberality), colimits, model amalgamation (exactness), and inclusion systems. We outline a general logical semantics for languages whose semantics satisfy certain "logical" principles by extending the institutional semantics developed within the ClearOBJ tradition. Finally, in the Appendix, we briefly illustrate it with the concrete example of CafeOBJ. Keywords Algebraic specification, Institutions, Theory morphism. AMS Classifications 68Q65, 18C10, 03G30, 08A70 2 1 Introduction Computing Motivation This work belongs to the research are...
Categorybased Semantics for Equational and Constraint Logic Programming
, 1994
"... This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equation ..."
Abstract

Cited by 25 (10 self)
 Add to MetaCart
This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equational deduction to an arbitrary category satisfying certain natural conditions; completeness is proved under a hypothesis of quantifier projectivity, using a semantic treatment that regards quantifiers as models rather than variables, and regards valuations as model morphisms rather than functions. This is used as a basis for a model theoretic categorybased approach to a paramodulationbased operational semantics for equational logic programming languages. Categorybased equational logic in conjunction with the theory of institutions is used to give mathematical foundations for modularisation in equational logic programming. We study the soundness and completeness problem for module imports i...
Coalgebra semantics for hidden algebra: parameterized objects and inheritance
 the 12th Workshop on Algebraic Development Techniques
, 1998
"... Abstract. The theory of hidden algebras combines standard algebraic techniques with coalgebraic techniques to provide a semantic foundation for the object paradigm. This paper focuses on the coalgebraic aspect of hidden algebra, concerned with signatures of destructors at the syntactic level and wi ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
Abstract. The theory of hidden algebras combines standard algebraic techniques with coalgebraic techniques to provide a semantic foundation for the object paradigm. This paper focuses on the coalgebraic aspect of hidden algebra, concerned with signatures of destructors at the syntactic level and with finality and coffee constructions at the semantic level. Our main result shows the existence of cofree constructions induced by maps between coalgebraic hidden specifications. Their use in giving a semantics to parameterised objects and inheritance is then illustrated. The cofreeness result for hidden algebra is generalised to abstract coalgebra and a universal construction for building object systems over existing subsystems is obtained. Finally, existence of final/cofree constructions for arbitrary hidden specifications is discussed. 1
Hiding and Behaviour: an Institutional Approach
, 1994
"... Theories with hidden sorts provide a setting to study the idea of behaviour and behavioural equivalence of elements. But there are variants on the notion of theory: many sorted algebras, order sorted algebras and so on; we would like to use the theory of institutions to develop ideas of some general ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
Theories with hidden sorts provide a setting to study the idea of behaviour and behavioural equivalence of elements. But there are variants on the notion of theory: many sorted algebras, order sorted algebras and so on; we would like to use the theory of institutions to develop ideas of some generality. We formulate the notion of behavioural equivalence in a more abstract and categorical way, and we give a general explication of "hiding" in an institution. We use this show that both hidden many sorted algebras and hidden order sorted algebras yield institutions.
In Black and White: An Integrated Approach to ClassLevel Testing of ObjectOriented Programs
 ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
, 1998
"... Because of the growing importance of objectoriented programming, a number of testing strategies have been proposed. They are based either on pure blackbox or whitebox techniques. We propose in this paper a methodology to integrate the black and whitebox techniques. The blackbox technique is us ..."
Abstract

Cited by 20 (8 self)
 Add to MetaCart
Because of the growing importance of objectoriented programming, a number of testing strategies have been proposed. They are based either on pure blackbox or whitebox techniques. We propose in this paper a methodology to integrate the black and whitebox techniques. The blackbox technique is used to select test cases. The whitebox technique is mainly applied to decide whether two objects resulting from the program execution of a test case are observationally equivalent. It is also used to select test cases in some situations.
We define the concept of a fundamental pair as a pair of equivalent terms that are formed by replacing all the variables on both sides of an axiom by normal forms. We prove that an implementation is consistent with respect to all equivalent terms if and only if it is consistent with respect to all fundamental pairs. In other words, the testing coverage of fundamental pairs is as good as that of all possible term rewritings, and hence we need only concentrate on the testing of fundamental pairs. Our strategy is based on mathematical theorems. According to the strategy, we propose an algorithm for selecting a finite set of fundamental pairs as test cases.
Given a pair of equivalent terms as a test case, we should then determine whether the objects that result from executing the implemented program are observationally equivalent. We prove, however, that the observational equivalence of objects cannot be determined using a finite set of observable contexts (namely, operation sequences ending with an observer function) derived from any blackbox technique. Hence we supplement our approach with a "relevant observable context" technique, which is a whitebox technique, to determine the observational equivalence. The relevant observable contexts are constructed from a Data Member Relevance Graph, which is an abstraction of the given implementation for a given specification. A semiautomatic tool has been developed to support this technique.