Results 11  20
of
39
Proving the Correctness of Behavioural Implementations
 Proc. AMAST '95, Springer LNCS 936
, 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 11 (4 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 way and moreover are practicable enough to induce proof obligations that can be discharged with existing theorem provers. Our proof technique can also be applied for proving abstractor implementations in the sense of Sannella and Tarlecki. 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 abstract from internal implementation details and to rely only on the observable behaviour of programs. Many approaches in the literature have considered behavioural concepts (cf. e.g. [GM 82], [R 87], [ST 88], ...
Structuring Specifications intheLarge and intheSmall: HigherOrder Functions, Dependent Types and Inheritance in SPECTRAL
 PROC. COLLOQ. ON COMBINING PARADIGMS FOR SOFTWARE DEVELOPMENT, JOINT CONF. ON THEORY AND PRACTICE OF SOFTWARE DEVELOPMENT (TAPSOFT
"... ..."
MetaSynthesis  Deriving Programs that Develop Programs
"... The origins of this work go back to research on building systems for the automatic synthesis of programs from specifications, extending the capabilities of existing ones, making several systems cooperate, and integrating them into a larger programming environment. The experiences were rather frustr ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
The origins of this work go back to research on building systems for the automatic synthesis of programs from specifications, extending the capabilities of existing ones, making several systems cooperate, and integrating them into a larger programming environment. The experiences were rather frustrating. Program synthesis systems tend to be ad hoc implementations rather than being built systematically and well structured. It is not surprising that they have the same problems as other software products: there are all kinds of unexpected bugs, maintanance and modifications become increasingly difficult, and cooperation with other synthesizers is nearly impossible despite of the fact that ideas behind the synthesis strategies show many similarities if explained verbally. Apart from human shortcomings the main reason for this problem lies in a lack of formality in the steps from describing an idea on paper to its realization on a computer. Such formality, however, is difficult to achieve, extremely time consuming, and slows down the initial progress of a synthesis system. This is a price which many scientists are not willing to pay. On the other hand, the insufficiencies of current “ad hoc ” systems are hardly acceptable — and there are no exceptions — and there is a need for tools supporting the systematic and
A Behavioural Algebraic Framework for Modular System Design with Reuse
"... . A formal framework for the design of modular software systems is presented which incorporates the idea of reusing software components in new applications. The approach is based on structured algebraic specifications with behavioural semantics. In a first step, syntax and semantics of structured be ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
. A formal framework for the design of modular software systems is presented which incorporates the idea of reusing software components in new applications. The approach is based on structured algebraic specifications with behavioural semantics. In a first step, syntax and semantics of structured behavioural specifications are introduced. Then, in order to provide a clean interconnection mechanism for specifications, behavioural specifications with import interfaces are considered and their composition with respect to the behavioural requirements of the import interface is defined. In the next step, a simple implementation notion for behavioural specifications with import interface is presented which is compatible with the composition of specifications. Hence it is guaranteed that separately developed implementations of parts of an abstract system specification can be automatically composed to a globally correct system implementation. This is a particular important requirement for the ...
The GDM approach to specifications and their realizations.  Part I: Specification systems.
, 1995
"... This document reports the general theory of specification systems from the point of view of GDM. GDM is the acronym for "Gda'nsk Development Method". It is the name of a project run in the Institute of Computer Science of the Polish Academy of Sciences and in the University of Gda&apo ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
This document reports the general theory of specification systems from the point of view of GDM. GDM is the acronym for "Gda'nsk Development Method". It is the name of a project run in the Institute of Computer Science of the Polish Academy of Sciences and in the University of Gda'nsk, with the support of the Polish Committee for Scientific Research and of the EEC programme CRIT. The aim of the project is to set up a framework for a uniform treatment of specification styles encountered in various branches of modern computer science. In the literature to date, a number of formalisms have been proposed with the common aim to describe a planned behaviour of a program, of a data base, or of a piece of hardware. Prominent examples are:
A Theory of Program Refinement
, 1998
"... We give a canonical program refinement calculus based on the lambda calculus and classical firstorder predicate logic, and study its proof theory and semantics. The intention is to construct a metalanguage for refinement in which basic principles of program development can be studied. The idea is t ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
We give a canonical program refinement calculus based on the lambda calculus and classical firstorder predicate logic, and study its proof theory and semantics. The intention is to construct a metalanguage for refinement in which basic principles of program development can be studied. The idea is that it should be possible to induce a refinement calculus in a generic manner from a programming language and a program logic. For concreteness, we adopt the simplytyped lambda calculus augmented with primitive recursion as a paradigmatic typed functional programming language, and use classical firstorder logic as a simple program logic. A key feature is the construction of the refinement calculus in a modular fashion, as the combination of two orthogonal extensions to the underlying programming language (in this case, the simplytyped lambda calculus). The crucial observation is that a refinement calculus is given by extending a programming language to allow indeterminate expressions (or ‘stubs’) involving the construction ‘some program x such that P ’. Factoring this into ‘some x...’
The Institution of Multialgebras  a general framework for algebraic software development
, 2002
"... this technicality ..."
Towards an Adequate Notion of Observation
 ESOP '92, 4th European Symposium on Programming
, 1992
"... One can attempt to solve the problem of establishing the correctness of some software w.r.t. a formal specification at the semantical level. For this purpose, the semantics of an algebraic specification should be the class of all algebras which correspond to the correct realizations of the specifica ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
One can attempt to solve the problem of establishing the correctness of some software w.r.t. a formal specification at the semantical level. For this purpose, the semantics of an algebraic specification should be the class of all algebras which correspond to the correct realizations of the specification. We approach this goal by defining an observational satisfaction relation which is less restrictive than the usual satisfaction relation. The idea is that the validity of an equational axiom should depend on an observational equality, instead of the usual equality. We show that it is not reasonable to expect an observational equality to be a congruence, hence we define an observational algebra as an algebra equipped with an observational equality which is an equivalence relation but not necessarily a congruence. Since terms may represent computations, our notion of observation depends on a set of observable terms. From a careful case study it follows that this requires to take into acco...