Results 1 
5 of
5
Proving Correctness Of Refinement And Implementation
, 1996
"... The notions of state and observable behaviour are fundamental to many areas of computer science. Hidden sorted algebra, an extension of many sorted algebra, captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract m ..."
Abstract

Cited by 29 (4 self)
 Add to MetaCart
The notions of state and observable behaviour are fundamental to many areas of computer science. Hidden sorted algebra, an extension of many sorted algebra, captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract machines, and many results suggest that it is also suitable for the semantics of the object paradigm. Another extension of many sorted algebra, namely order sorted algebra, has proved useful in system specification and prototyping because of the way it handles subtypes and errors. The combination of these two algebraic approaches, hidden order sorted algebra, has also been proposed as a foundation for object paradigm, and has much promise as a foundation for Software Engineering. This paper extends recent work on hidden order sorted algebra by investigating the refinement and implementation of hidden order sorted specifications. We present definitions of refinement and implementation for suc...
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 27 (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
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 24 (8 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
Situated Adaptive Software: Beyond the Object Paradigm
 In Proceedings, International Symposium on New Models of Software Architecture
, 1995
"... : This paper reviews our progress towards a new software paradigm extending the object paradigm, based on hidden order sorted algebra. Our goal is to produce software that is much more adaptable to context, and is also highly reliable and predictable. We find the logic of algebra, which is equati ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
: This paper reviews our progress towards a new software paradigm extending the object paradigm, based on hidden order sorted algebra. Our goal is to produce software that is much more adaptable to context, and is also highly reliable and predictable. We find the logic of algebra, which is equational logic, especially convenient because of its simple and efficient mechanisation of reasoning. We show how equational specifications can describe objects, inheritance and modules, and support reasoning about them. Our treatment of modules emphasises the importance of reuse, and the role of the socalled Satisfaction Condition. We then show how to unify the object and logic paradigms by using logical variables that range over objects, and how to connect objects into concurrent systems, using a universal characterisation of parallel connection, and more generally, of parallel connection with synchronisation. We also discuss situated adaptive modules, which extend the power of paramet...
Behavioral Abstraction is Information Hiding
"... We show that for any behavioral Sigmaspecification B there is an ordinary algebraic specification ~ B over a larger signature, such that a model behaviorally satisfies B if and only if it satisfies ~ B, where is the information hiding operator exporting only the Sigmatheorems of ~ B. The idea is t ..."
Abstract
 Add to MetaCart
We show that for any behavioral Sigmaspecification B there is an ordinary algebraic specification ~ B over a larger signature, such that a model behaviorally satisfies B if and only if it satisfies ~ B, where is the information hiding operator exporting only the Sigmatheorems of ~ B. The idea is to add machinery for contexts and experiments (sorts, operations and equations), use it, and then hide it. We develop a procedure, called unhiding, that takes a finite B and produces a finite ~ B. The practical aspect of this procedure is that one can use any standard equational or inductive theorem prover to derive behavioral theorems, even if neither equational reasoning nor induction is sound for behavioral satisfaction.