Results 1  10
of
17
Essential Concepts of Algebraic Specification and Program Development
, 1996
"... The main ideas underlying work on the modeltheoretic 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 55 (15 self)
 Add to MetaCart
The main ideas underlying work on the modeltheoretic 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.
The definition of Extended ML: a gentle introduction
 THEORETICAL COMPUTER SCIENCE
, 1995
"... Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software systems. Development commences with a specification of the behaviour required and proceeds via a sequence of partial solutions until a complete solution, an executable SML program, is obtained. All s ..."
Abstract

Cited by 34 (12 self)
 Add to MetaCart
Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software systems. Development commences with a specification of the behaviour required and proceeds via a sequence of partial solutions until a complete solution, an executable SML program, is obtained. All stages in this development process are expressed in the EML language, an extension of SML with axioms for describing properties of module components. This is an overview of the formal definition of the EML language. To complement the full technical details presented elsewhere, it provides an informal explanation of the main ideas, gives the rationale for certain design decisions, and outlines some of the technical issues involved. EML is unusual in being built around a "real" programming language having a formallydefined syntax and semantics. Interesting and complex problems arise both from the nature of this relationship and from interactions between the features of the language.
Behavioural Theories and The Proof of Behavioural Properties
, 1996
"... Behavioural theories are a generalization of firstorder theories where the equality predicate symbol is interpreted by a behavioural equality of objects (and not by their identity). In this paper we first consider arbitrary behavioural equalities determined by some (partial) congruence relation and ..."
Abstract

Cited by 33 (8 self)
 Add to MetaCart
Behavioural theories are a generalization of firstorder theories where the equality predicate symbol is interpreted by a behavioural equality of objects (and not by their identity). In this paper we first consider arbitrary behavioural equalities determined by some (partial) congruence relation and we show how to reduce the behavioural theory of any class of algebras to (a subset of) the standard theory of some corresponding class of algebras. This reduction is the basis of a method for proving behavioural theorems whenever an axiomatization of the behavioural equality is provided. Then we focus on the important special case of (partial) observational equalities where two elements are observationally equal if they cannot be distinguished by observable computations over some set of input values. We provide general conditions under which an obvious infinite axiomatization of the observational equality can be replaced by a finitary one and we provide methodological guidelines for finding such...
Behavioural Satisfaction and Equivalence in Concrete Model Categories
, 1996
"... . We use the wellknown framework of concrete categories to show how much of standard universal algebra may be done in an abstract and still rather intuitive way. This is used to recast the unifying view of behavioural semantics of specications based on behavioural satisfaction and, respectively ..."
Abstract

Cited by 30 (9 self)
 Add to MetaCart
. We use the wellknown framework of concrete categories to show how much of standard universal algebra may be done in an abstract and still rather intuitive way. This is used to recast the unifying view of behavioural semantics of specications based on behavioural satisfaction and, respectively, on behavioural equivalence of models abstracting away from many particular features of standard algebras. We also give an explicit representation of behavioural equivalence between models in terms of behavioural correspondences. 1 Introduction Behavioural semantics for specications plays a crucial role in the formalisation of the development process, where a specication need not be implemented exactly but only so that the required system behaviour is achieved  the idea goes back to [GGM76], [Hoa72]; see e.g. [ST95] for the context in which we view it now. There have been two basic approaches to behavioural semantics of speci cations. One introduces a new behavioural satisfaction o...
Proof Systems for Structured Specifications and Their Refinements
, 1999
"... Reasoning about specifications is one of the fundamental activities in the process of formal program development. This ranges from proving the consequences of a specification, during the prototyping or testing phase for a requirements speci cation, to proving the correctness of refinements (or imple ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
Reasoning about specifications is one of the fundamental activities in the process of formal program development. This ranges from proving the consequences of a specification, during the prototyping or testing phase for a requirements speci cation, to proving the correctness of refinements (or implementations) of specifications. The main proof techniques for algebraic specifications have their origin in equational Horn logic and term rewriting. These proof methods have been well studied in the case of nonstructured speci cations (see Chapters 9 and 10). For large systems of specifications built using the structuring operators of speci cation languages, relatively few proof techniques have been developed yet; for such proof systems, see [SB83, HST94, Wir91, Far92, Cen94, HWB97]. In this chapter we focus on proof systems designed particularly for modular specifications. The aim is to concentrate on the structuring concepts, while abstracting as much as possible from the par...
On the Duality between Observability and Reachability
 PROC. 4TH INT. CONF. FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES (FOSSACS'01
, 2001
"... Observability and reachability are important concepts in formal software development. While observability concepts allow to specify the required observable behavior of a program or system, reachability concepts are used to describe the underlying data in terms of datatype constructors. In this paper ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
Observability and reachability are important concepts in formal software development. While observability concepts allow to specify the required observable behavior of a program or system, reachability concepts are used to describe the underlying data in terms of datatype constructors. In this paper, we show that there is a duality between observability and reachability, both from a methodological and from a formal point of view. In particular, we establish a correspondence between observer operations and datatype constructors, observational algebras and constructorbased algebras, and observational and inductive properties of specifications. Our study is based on the observational logic institution [11] and on a novel treatment of reachability which introduces the constructorbased logic institution. Both institutions are tailored to capture the semantically correct realizations of a specification from the observational and reachability points of view. The duality between the observability and reachability concepts is then formalized in a categorytheoretic setting.
From Algebras and Coalgebras to Dialgebras
, 2001
"... This paper investigates the notion of dialgebra, which generalises the notions of algebra and coalgebra. We show that many (co)algebraic notions and results can be generalised to dialgebras, and investigate the essential dierences between (co)algebras and arbitrary dialgebras. ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
This paper investigates the notion of dialgebra, which generalises the notions of algebra and coalgebra. We show that many (co)algebraic notions and results can be generalised to dialgebras, and investigate the essential dierences between (co)algebras and arbitrary dialgebras.
Observational Logic, ConstructorBased Logic, and their Duality
, 2002
"... Observability and reachability are important concepts for formal software development. While observability concepts are used to specify the required observable behavior of a program or system, reachability concepts are used to describe the underlying data in terms of datatype constructors. In this p ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Observability and reachability are important concepts for formal software development. While observability concepts are used to specify the required observable behavior of a program or system, reachability concepts are used to describe the underlying data in terms of datatype constructors. In this paper we first reconsider the observational logic institution which provides a logical framework for dealing with observability. Then we develop in a completely analogous way the constructorbased logic institution which formalizes a novel treatment of reachability. Both institutions are tailored to capture the semantically correct realizations of a specification from either the observational or the reachability point of view. We show that there is a methodological and even formal duality between both frameworks. In particular, we establish a correspondence between observer operations and datatype constructors, observational and constructorbased algebras, fully abstract and reachable algebras, and observational and inductive consequences of specifications. The formal duality between the observability and reachability concepts is established in a categorytheoretic setting.
Specification Refinement with System F
 In Proc. CSL'99, volume 1683 of LNCS
, 1999
"... . Essential concepts of algebraic specification refinement are translated into a typetheoretic setting involving System F and Reynolds' relational parametricity assertion as expressed in Plotkin and Abadi's logic for parametric polymorphism. At first order, the typetheoretic setting provides a ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
. Essential concepts of algebraic specification refinement are translated into a typetheoretic setting involving System F and Reynolds' relational parametricity assertion as expressed in Plotkin and Abadi's logic for parametric polymorphism. At first order, the typetheoretic setting provides a canonical picture of algebraic specification refinement. At higher order, the typetheoretic setting allows future generalisation of the principles of algebraic specification refinement to higher order and polymorphism. We show the equivalence of the acquired typetheoretic notion of specification refinement with that from algebraic specification. To do this, a generic algebraicspecification strategy for behavioural refinement proofs is mirrored in the typetheoretic setting. 1 Introduction This paper aims to express in type theory certain essential concepts of algebraic specification refinement. The benefit to algebraic specification is that inherently firstorder concepts are tra...
Algebraic specification and program development by stepwise refinement (Extended Abstract)
 9th international workshop, LOPSTR ’99
, 1999
"... . Various formalizations of the concept of "refinement step" as used in the formal development of programs from algebraic specifications are presented and compared. 1 Introduction Algebraic specification aims to provide a formal basis to support the systematic development of correct programs fro ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
. Various formalizations of the concept of "refinement step" as used in the formal development of programs from algebraic specifications are presented and compared. 1 Introduction Algebraic specification aims to provide a formal basis to support the systematic development of correct programs from specifications by means of verified refinement steps. Obviously, a central piece of the puzzle is how best to formalize concepts like "specification", "program" and "refinement step". Answers are required that are simple, elegant and general and which enjoy useful properties, while at the same time taking proper account of the needs of practice. Here I will concentrate on the last of these concepts, but first I need to deal with the other two. For "program", I take the usual approach of algebraic specification whereby programs are modelled as manysorted algebras consisting of a collection of sets of data values together with functions over those sets. This level of abstraction is commens...