Results 1  10
of
148
SPECWARE: Formal Support for Composing Software
 In Mathematics of Program Construction
, 1995
"... Specware supports the systematic construction of formal specifications and their stepwise refinement into programs. The fundamental operations in Specware are that of composing specifications (via colimits), the corresponding refinement by composing refinements (via sheaves), and the generation of p ..."
Abstract

Cited by 83 (0 self)
 Add to MetaCart
Specware supports the systematic construction of formal specifications and their stepwise refinement into programs. The fundamental operations in Specware are that of composing specifications (via colimits), the corresponding refinement by composing refinements (via sheaves), and the generation of programs by composing code modules (via colimits). The concept of diagram refinement is introduced as a practical realization of composing refinements via sheaves. Sequential and parallel composition of refinements satisfy a distributive law which is a generalization of similar compatibility laws in the literature. Specware is based on a rich categorical framework with a small set of orthogonal concepts. We believe that this formal basis will enable the scaling to systemlevel software construction.
Moving Between Logical Systems
 Recent Trends in Data Type Specification
, 1998
"... : This paper presents a number of concepts of a mapping between logical systems modelled as institutions, discusses their mutual merits and demerits, and sketches their role in the process of system specification and development. Some simple properties of the resulting categories of institutions are ..."
Abstract

Cited by 58 (4 self)
 Add to MetaCart
(Show Context)
: This paper presents a number of concepts of a mapping between logical systems modelled as institutions, discusses their mutual merits and demerits, and sketches their role in the process of system specification and development. Some simple properties of the resulting categories of institutions are given. 1 Introduction We have to live with a multitude of logical systems used in various approaches to software specification and development. The proliferation of logical systems in the area is not just researchers' fancy, but results from the very practical needs to capture various aspects of software systems and to cater for various programming paradigms. Each of them leads to a different notion of a semantic model capturing the semantic essence of the adopted view of software systems. For instance, standard (manysorted) algebras [BL70], [GTW78] provide a satisfactory framework for modelling data types where all operations always yield welldefined results. However, if general recursi...
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 51 (21 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)....
Constructing Specification Morphisms
 Journal of Symbolic Computation
, 1993
"... This paper is part of a broader research program to explore a mechanizable model of software development based on algebraic specifications and specification morphisms. An algebraic specification (or simply a specification) defines a language and constrains its possible meanings via axioms and infere ..."
Abstract

Cited by 45 (7 self)
 Add to MetaCart
This paper is part of a broader research program to explore a mechanizable model of software development based on algebraic specifications and specification morphisms. An algebraic specification (or simply a specification) defines a language and constrains its possible meanings via axioms and inference rules. Specifications can be used to express many kinds of softwarerelated artifacts, including domain models (Srinivas(1991)), formal requirements (Astesiano and Wirsing (1987), Ehrig and Mahr (1990), Partsch (1990), Sannella and Tarlecki (1985)), programming languages (Broy et al. (1987), Goguen and Winkler (1988), Hoare (1989)), abstract data types (Goguen et al. (1978), Guttag and Horning (1978)), and abstract algorithms (Smith and Lowry (1990)). There has been much work on operations for constructing larger specifications from smaller specifications (Astesiano and Wirsing (1987), Burstall and Goguen (1977), Sannella and Tarlecki (1988)). A specification morphism translates the language of one specification into the language of another specification in a way that preserves theorems. Specification morphisms underlie several aspects of software development, including specification refine
Logical Systems for Structured Specifications
, 2000
"... We study proof systems for reasoning about logical consequences and refinement of structured specifications, based on similar systems proposed earlier in the literature [ST 88, Wir 91]. Following Goguen and Burstall, the notion of an underlying logical system over which we build specifications is fo ..."
Abstract

Cited by 45 (1 self)
 Add to MetaCart
We study proof systems for reasoning about logical consequences and refinement of structured specifications, based on similar systems proposed earlier in the literature [ST 88, Wir 91]. Following Goguen and Burstall, the notion of an underlying logical system over which we build specifications is formalized as an institution and extended to a more general notion, called (D, T )institution. We show that under simple assumptions (essentially: amalgamation and interpolation) the proposed proof systems are sound and complete. The completeness proofs are inspired by proofs due to M. V. Cengarle (see [Cen 94]) for specifications in firstorder logic and the logical systems for reasoning about them. We then propose a methodology for reusing proof systems built over institutions rich enough to satisfy the properties required for the completeness results for specifications built over poorer institutions where these properties need not hold.
CoFI: The Common Framework Initiative for Algebraic Specification and Development
 Proc. 7th Intl. Joint Conf. on Theory and Practice of Software Development, Lille. Springer LNCS 1214
, 1997
"... An open collaborative effort has been initiated: to design a common framework for algebraic specification and development of software. ..."
Abstract

Cited by 44 (3 self)
 Add to MetaCart
(Show Context)
An open collaborative effort has been initiated: to design a common framework for algebraic specification and development of software.
Towards an Evolutionary Formal Software Development
 Proceedings Workshop on Algebraic Development Techniques, WADT99. Springer, LNCS 1827
, 1999
"... Although formal methods have been successfully applied in various industrial applications, their use in software development is still restricted to individual case studies. To overcome this situation we aim at a methodology for an evolutionary formal software development which allows for a stepwise ..."
Abstract

Cited by 41 (9 self)
 Add to MetaCart
Although formal methods have been successfully applied in various industrial applications, their use in software development is still restricted to individual case studies. To overcome this situation we aim at a methodology for an evolutionary formal software development which allows for a stepwise and incremental development process along the line of rapid prototyping. The approach is based on work on a formal management of change for formal developments which is able to maintain proofs when changing specifications.
Toward a Classification Approach to Design
 Proc. of AMAST'96
, 1996
"... This paper addresses the problem of how to construct refinements of specifications formally and incrementally. The key idea is to use a taxonomy of abstract design concepts, each represented by a design theory. An abstract design concept is applied by constructing a specification morphism from its d ..."
Abstract

Cited by 37 (9 self)
 Add to MetaCart
(Show Context)
This paper addresses the problem of how to construct refinements of specifications formally and incrementally. The key idea is to use a taxonomy of abstract design concepts, each represented by a design theory. An abstract design concept is applied by constructing a specification morphism from its design theory to a requirement specification. Procedures for propagating constraints, computing colimits, and constructing specification morphisms provide computational support for this approach. Although we conjecture that classification generally applies to the incremental application of knowledge represented in a taxonomy of design theories, this paper mainly focuses on algorithm design theories and presents several examples of design by classification.
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 37 (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...