Results 1  10
of
33
On Observational Equivalence and Algebraic Specification
, 1987
"... The properties of a simple and natural notion of observational equivalence of algebras and the corresponding specificationbuilding 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 72 (15 self)
 Add to MetaCart
The properties of a simple and natural notion of observational equivalence of algebras and the corresponding specificationbuilding 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.
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 54 (23 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)....
The KIVApproach to Software Verification
 KORSO: METHODS, LANGUAGES, AND TOOLS FOR THE CONSTRUCTION OF CORRECT SOFTWARE – FINAL REPORT, LNCS 1009
, 1995
"... This paper presents a particular approach to the design and verification of large sequential systems. It is based on structured algebraic specifications and stepwise refinement by program modules. The approach is implemented in Kiv (Karlsruhe Interactive Verifier), and supports the entire desig ..."
Abstract

Cited by 34 (6 self)
 Add to MetaCart
This paper presents a particular approach to the design and verification of large sequential systems. It is based on structured algebraic specifications and stepwise refinement by program modules. The approach is implemented in Kiv (Karlsruhe Interactive Verifier), and supports the entire design process starting from formal specifications and ending with verified code. Its main characteristics are a strict decompositional design discipline for modular systems, a powerful proof component, and an evolutionary verification model supporting incremental error correction and verification. We present the design methodology for modular systems, a feasible verification method for single modules, and an evolutionary verification technique based on reuse of proofs. We report on the current performance of the system, compare it to others in the field, and discuss future perspectives.
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
(Show Context)
. 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...
On Behavioural Abstraction and Behavioural Satisfaction in HigherOrder Logic
, 1996
"... The behavioural semantics of specifications with higherorder logical formulae as axioms is analyzed. A characterization of behavioural abstraction via behavioural satisfaction of formulae in which the equality symbol is interpreted as indistinguishability, which is due to Reichel and was recently g ..."
Abstract

Cited by 27 (6 self)
 Add to MetaCart
(Show Context)
The behavioural semantics of specifications with higherorder logical formulae as axioms is analyzed. A characterization of behavioural abstraction via behavioural satisfaction of formulae in which the equality symbol is interpreted as indistinguishability, which is due to Reichel and was recently generalized to the case of firstorder logic by Bidoit et al, is further generalized to this case. The fact that higherorder logic is powerful enough to express the indistinguishability relation is used to characterize behavioural satisfaction in terms of ordinary satisfaction, and to develop new methods for reasoning about specifications under behavioural semantics. 1 Introduction An important ingredient in the use of algebraic specifications to describe data abstractions is the concept of behavioural equivalence between algebras, which seems to appropriately capture the "black box" character of data abstractions, see e.g. [GGM76], [GM82], [ST87] and [ST95]. Roughly speaking (since there ...
Proving the correctness of algebraically specified software modularity and observability issues
 In Proc. of AMAST2, Second Conference of Algebraic Methodology and Software Technology
, 1991
"... We investigate how far modularity and observability issues can contribute to a better understanding of software correctness. We detail the impact of modularity on the semantics of algebraic specifications and we show that, with the stratified loose semantics, software correctness can be established ..."
Abstract

Cited by 24 (7 self)
 Add to MetaCart
(Show Context)
We investigate how far modularity and observability issues can contribute to a better understanding of software correctness. We detail the impact of modularity on the semantics of algebraic specifications and we show that, with the stratified loose semantics, software correctness can be established on a module per module basis. We discuss observability issues and we introduce an observational semantics where sort observation is refined by specifying that some operations do not allow observations. Then the stratified loose approach and our observational semantics are integrated together. As a result, we obtain a framework (modular observational specifications) where the definition of software correctness is adequate, i.e. fits with actual software correctness. 1
The BehaviorRealization Adjunction and Generalized Homomorphic Relations
 COMP. SCI
, 1996
"... A model theory for proving correctness of abstract data types is developed within the framework of the behaviorrealization adjunction. To allow for incomplete specifications, proofofcorrectness ... ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
A model theory for proving correctness of abstract data types is developed within the framework of the behaviorrealization adjunction. To allow for incomplete specifications, proofofcorrectness ...
Global Development via Local Observational Construction Steps
, 2002
"... The way that refinement of individual "local" components of a specification relates to development of a "global" system from a specification of requirements is explored. Observational interpretation of specifications and refinements add expressive power and flexibility while brin ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
The way that refinement of individual "local" components of a specification relates to development of a "global" system from a specification of requirements is explored. Observational interpretation of specifications and refinements add expressive power and flexibility while bringing in some subtle problems. The results are instantiated in the context of Casl architectural specifications.
A Survey of Formal Software Development Methods
 SOFTWARE ENGINEERING
, 1988
"... This paper is a survey of the current state of the art of research on methods for formal software development. The scope of this paper is necessarily restricted so as to avoid discussion of a great many approaches at a very superficial level. First, although some of the ideas discussed below could b ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
This paper is a survey of the current state of the art of research on methods for formal software development. The scope of this paper is necessarily restricted so as to avoid discussion of a great many approaches at a very superficial level. First, although some of the ideas discussed below could be (and have been) applied to hardware development as well as to software development, this topic will not be treated here. Second, the special problems involved in the development of concurrent systems will not be discussed here although again many of the approaches mentioned below could be applied in this context. Third, no attempt is made to treat programming methodologies such as Jackson's method and program development systems such as the MIT Programmer's Apprentice which are not formally based. Finally, this survey does not claim to be fully exhaustive although an attempt has been made to cover most of the main approaches. Many of the technical details of the different approaches discussed have been glossed over or simplified for the purposes of this presentation; full details may be found in the cited references.