Parameterisation is an important mechanism for structuring programs and specifications into modular units. The interplay between parameterisation (of programs and of specifications) and specification (of parameterised and of non-parameterised programs) is analysed, exposing important semantic and methodological differences between specifications of parameterised programs and parameterised specifications. The extension of parameterisation mechanisms to the higher-order case is considered, both for parameterised programs and parameterised specifications, and the methodological consequences of such an extension are explored. A specification formalism with parameterisation of an arbitrary order is presented. Its denotational-style semantics is accompanied by an inference system for proving that an object satisfies a specification. The formalism includes the basic specification-building operations of the ASL specification language and is institution independent. 1
|
1463
|
The definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
592
|
Systematic Software Development Using VDM
– Jones
- 1990
|
|
530
|
A framework for defining logics
– Harper, Honsell, et al.
- 1993
|
|
399
|
Institutions: Abstract model theory for specification and programming
– Goguen, Burstall
- 1992
|
|
372
|
The Calculus of Constructions
– Coquand, Huet
- 1988
|
|
342
|
Lattice Theory
– Birkhoff
- 1940
|
|
339
|
Testing equivalences for processes
– Nicola, Hennessy
- 1984
|
|
211
|
Programming in Martin-Löf’s Type Theory: An Introduction
– Nordstrom, Petersson, et al.
- 1990
|
|
167
|
Modules for Standard ML
– MacQueen
|
|
139
|
The semantics of CLEAR, a specification language
– Burstall, Goguen
- 1980
|
|
126
|
Putting theories together to make specifications
– Burstall, Goguen
- 1977
|
|
121
|
Principles of parameterized programming
– Goguen
- 1989
|
|
113
|
and Burstall. Introducing institutions
– Goguen
- 1984
|
|
92
|
A.: Specifications in an Arbitrary Institution
– Sannella
- 1988
|
|
73
|
Universal realization, persistent interconnection and implementation of abstract modules
– Goguen, Meseguer
- 1982
|
|
68
|
On observational equivalence and algebraic specification
– Sannella, Tarlecki
- 1987
|
|
65
|
Toward formal development of ML programs: Foundations and methodology
– Sannella, Tarlecki
- 1989
|
|
59
|
A kernel language for algebraic specifications and implementation
– Sannella, Wirsing
- 1983
|
|
54
|
Data abstraction and the correctness of modular programming
– Schoett
- 1987
|
|
53
|
Unified algebras and institutions
– Mosses
- 1989
|
|
52
|
Larch in five easy pieces
– Guttag, Horning, et al.
- 1985
|
|
51
|
Completeness of many-sorted equational logic
– Goguen, Meseguer
- 1985
|
|
47
|
Structured algebraic specifications: A kernel language
– Wirsing
- 1986
|
|
41
|
Fundamentals of Algebraic Specification I: Equations and Initial Semantics
– Ehrig, Mahr
- 1985
|
|
40
|
Algebraic implementation of abstract data types
– Ehrig, Kreowski, et al.
- 1982
|
|
40
|
CAT, a system for the structured elaboration of correct programs from structured specifications
– Goguen, Burstall
- 1980
|
|
40
|
Behavioural equivalence --- a unifying concept for initial and final specification methods
– Reichel
- 1981
|
|
36
|
Initial behaviour semantics for algebraic specification
– Nivela, Orejas
- 1988
|
|
34
|
Formal program development in Extended ML for the working programmer
– Sannella
- 1989
|
|
34
|
Axioms for Abstract Model Theory
– Barwise
- 1974
|
|
33
|
Formal Specification as a Design Tool
– Guttag, Horning
- 1980
|
|
29
|
Modularizing the formal description of a database system
– Fitzgerald, Jones
- 1990
|
|
26
|
Extended ML: Past, Present and Future
– Sannella, Tarlecki
- 1991
|
|
20
|
The stratified loose approach: a generalization of initial and loose semantics
– Bidoit
- 1988
|
|
20
|
Structured Specifications: Syntax, Semantics and Proof Calculus
– Wirsing
- 1991
|
|
17
|
Parameterized specifications: parameter passing and implementation with respect to observability
– Ganzinger
- 1983
|
|
17
|
Foundations of Algebraic Specifications and Formal Program Development. Cambridge Univ
– Sannella, Tarlecki
|
|
14
|
Structuring specifications in-the-large and in-the-small: higher-order functions, dependent types and inheritance
– Krieg-Bruckner, Sannella
- 1991
|
|
13
|
Program specification and development
– Sannella, Tarlecki
- 1985
|
|
12
|
Empty types in polymorphic lambda calculus
– Meyer, Mitchell, et al.
- 1990
|
|
12
|
Structure and Representation
– Harper, Sannella, et al.
- 1989
|
|
11
|
Verification in ASL and Related Specification Languages
– Farr'es-Casals
- 1992
|
|
11
|
Unified algebras and modules
– Mosses
- 1989
|
|
10
|
Implementation of Parameterised Specifications
– Sannella, Wirsing
- 1982
|
|
9
|
A first introduction to PLUSS
– Gaudel
- 1984
|
|
9
|
Structured theories
– Sannella, Burstall
- 1983
|
|
8
|
On the theory of specification, implementation, and parametrization of abstract data types
– Ehrich
- 1982
|
|
8
|
A theory of software reusability
– Gaudel, Moineau
- 1988
|
|
7
|
Characterizing composability of abstract implementations
– Orejas
- 1983
|
|
6
|
Naive denotational semantics
– Blikle, Tarlecki
- 1983
|