Results 1 - 10
of
28
A Hidden Agenda
- Theoretical Computer Science
, 2000
"... This paper publicly reveals, motivates, and surveys the results of an ambitious hidden agenda for applying algebra to software engineering. The paper reviews selected literature, introduces a new perspective on nondeterminism, and features powerful hidden coinduction techniques for proving behaviora ..."
Abstract
-
Cited by 104 (22 self)
- Add to MetaCart
This paper publicly reveals, motivates, and surveys the results of an ambitious hidden agenda for applying algebra to software engineering. The paper reviews selected literature, introduces a new perspective on nondeterminism, and features powerful hidden coinduction techniques for proving behavioral properties of concurrent systems, especially renements; some proofs are given using OBJ3. We also discuss where modularization, bisimulation, transition systems and combinations of the object, logic, constraint and functional paradigms t into our hidden agenda. 1 Introduction Algebra can be useful in many dierent ways in software engineering, including specication, validation, language design, and underlying theory. Specication and validation can help in the practical production of reliable programs, advances in language design can help improve the state of the art, and theory can help with building new tools to increase automation, as well as with showing correctness of the whole e...
On Observational Equivalence and Algebraic Specification
, 1987
"... The properties of a simple and natural notion of observational equivalence of algebras and the corresponding specification-building operation are studied. We begin with a defmition of observational equivalence which is adequate to handle reachable algebras only, and show how to extend it to cope wit ..."
Abstract
-
Cited by 66 (17 self)
- Add to MetaCart
The properties of a simple and natural notion of observational equivalence of algebras and the corresponding specification-building operation are studied. We begin with a defmition of observational equivalence which is adequate to handle reachable algebras only, and show how to extend it to cope with unreachable algebras and also how it may be generalised to make sense under an arbitrary institution. Behavioural equivalence is treated as an important special case of observational equivalence, and its central role in program development is shown by means of an example.
Essential Concepts of Algebraic Specification and Program Development
, 1996
"... The main ideas underlying work on the model-theoretic foundations of algebraic specification and formal program development are presented in an informal way. An attempt is made to offer an overall view, rather than new results, and to focus on the basic motivation behind the technicalities presente ..."
Abstract
-
Cited by 54 (15 self)
- Add to MetaCart
The main ideas underlying work on the model-theoretic foundations of algebraic specification and formal program development are presented in an informal way. An attempt is made to offer an overall view, rather than new results, and to focus on the basic motivation behind the technicalities presented elsewhere.
Toward formal development of ML programs: foundations and methodology
, 1989
"... A formal methodology is presented for the systematic evolution of modular Standard ML programs from specifications by means of verified refinement steps, in the framework of the Extended ML specification language. Program development proceeds via a sequence of design (modular decomposition), codi ..."
Abstract
-
Cited by 50 (20 self)
- Add to MetaCart
A formal methodology is presented for the systematic evolution of modular Standard ML programs from specifications by means of verified refinement steps, in the framework of the Extended ML specification language. Program development proceeds via a sequence of design (modular decomposition), coding and refinement steps. For each of these three kinds of steps, conditions are given which ensure the correctness of the result. These conditions seem to be as weak as possible under the constraint of being expressible as "local" interface matching requirements. Interfaces are only required to match up to behavioural equivalence, which is seen as vital to the use of data abstraction in program development. Copyright c fl 1989 by D. Sannella and A. Tarlecki. All rights reserved. An extended abstract of this paper will appear in Proc. Colloq. on Current Issues in Programming Languages, Joint Conf. on Theory and Practice of Software Development (TAPSOFT), Barcelona, Springer LNCS (1989)....
What is an Object, After All?
, 1991
"... The envisaged notion of object is presented as corresponding to the basic, universal building block of (information) systems. A simple mathematical model for fully concurrent objects (actors) is adopted that extends a suitable model for sequential processes. An object is defined as a process possibl ..."
Abstract
-
Cited by 32 (4 self)
- Add to MetaCart
The envisaged notion of object is presented as corresponding to the basic, universal building block of (information) systems. A simple mathematical model for fully concurrent objects (actors) is adopted that extends a suitable model for sequential processes. An object is defined as a process possibly endowed with initiative and tracedependent attributes. Transactional requirements are analysed within this framework as liveness requirements. Object aggregation is explained using the general notion of object morphism. The basic inheritance, overriding and reification mechanisms are also presented, as well as a suitable notion of object-type. The computational model is shown through examples to provide a sound basis for (information) systems design, including abstract conceptual modeling and layered implementation of both passive (record-like) and active (procedure-like) objects. The model establishes a suitable semantic domain for the envisaged broad spectrum specification/design languag...
Modular Correctness Proofs of Behavioural Implementations
, 1995
"... . We introduce a concept of behavioural implementation for algebraic specifications which is based on an indistinguishability relation (called behavioural equality). The central objective of this work is the investigation of proof rules that first allow us to establish the correctness of behavioural ..."
Abstract
-
Cited by 30 (13 self)
- Add to MetaCart
. We introduce a concept of behavioural implementation for algebraic specifications which is based on an indistinguishability relation (called behavioural equality). The central objective of this work is the investigation of proof rules that first allow us to establish the correctness of behavioural implementations in a modular (and stepwise) way and, moreover, are practicable enough to induce proof obligations that can be discharged with existing theorem provers. Under certain conditions our proof technique can also be applied for proving the correctness of implementations based on an abstraction equivalence between algebras in the sense of Sannella and Tarlecki. The whole approach is presented in the framework of total algebras and first-order logic with equality. 1 Introduction Algebraic specification techniques allow one to formalize correctness notions for program development steps. Thereby an important role is played by observability concepts since it is often essential to abst...
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 28 (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...
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
Extended ML: an institution-independent framework for formal program development
- PROC. WORKSHOP ON CATEGORY THEORY AND COMPUTER PROGRAMMING
, 1986
"... The Extended ML specification language provides a framework for the formal stepwise development of modular programs in the Standard ML programming language from specifications. The object of this paper is to equip Extended ML with a semantics which is completely independent of the logical system use ..."
Abstract
-
Cited by 19 (10 self)
- Add to MetaCart
The Extended ML specification language provides a framework for the formal stepwise development of modular programs in the Standard ML programming language from specifications. The object of this paper is to equip Extended ML with a semantics which is completely independent of the logical system used to write specifications, building on Goguen and Burstall's work on the notion of an institution as a formalisation of the concept of a logical system. One advantage of this is that it permits freedom in the choice of the logic used in writing specifications; an intriguing side-effect is that it enables Extended ML to be used to develop programs in languages other than Standard ML since we view programs as simply Extended ML specifications which happen to include only "executable" axioms. The semantics of Extended ML is defined in terms of the primitive specification-building operations of the ASL kernel specification language which itself has an institution-independent semantics. It is no...

