Results 1 -
3 of
3
Refinement of Parameterized Algebraic Specifications
- Proceedings of a Workshop on Algorithmic Languages and Calculii. Alsac FR. Chapman and
, 1997
"... A refinement relation for parameterized algebraic specifications is introduced in which the body specification is refined covariantly (i.e., specialized) while the parameter specification is refined contravariantly (i.e., generalized). This refinement is similar to the subtyping relation between fun ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
A refinement relation for parameterized algebraic specifications is introduced in which the body specification is refined covariantly (i.e., specialized) while the parameter specification is refined contravariantly (i.e., generalized). This refinement is similar to the subtyping relation between function types. Assuming a few relatively weak axioms about parameterized specifications, refinement is shown to satisfy the expected properties for software development in-the-large: independent refinement of body and parameter, and closure under sequential composition, instantiation and a suitable form of `horizontal' composition. Keywords Parameterized specifications, mixed-variance refinement, compositionality 1 INTRODUCTION The primary subject of this paper is a general notion of refinement for parameterized specifications. Many notions of refinement have been previously proposed in the literature (Ehrig & Kreowski 1982, Ganzinger 1983, Goguen & Meseguer 1982, Sannella & Tarlecki 1988, S...
Semantics of First Order Parametric Specifications
"... Parametricity is one of the most effective ways to achieve compositionality and reuse in software development. Parametric specifications have been thoroughly analyzed in the algebraic setting and are by now a standard part of most software development toolkits. However, an effort towards classifying ..."
Abstract
- Add to MetaCart
Parametricity is one of the most effective ways to achieve compositionality and reuse in software development. Parametric specifications have been thoroughly analyzed in the algebraic setting and are by now a standard part of most software development toolkits. However, an effort towards classifying, specifying and refining algorithmic theories, rather than mere datatypes, quickly leads beyond the realm of algebra, and often to full first order theories. We extend the standard semantics of parametric specifications to this more general setting. The familiar semantic characterization of parametricity in the algebraic case is expressed in terms of the free functor, i.e. using the initial models. In the general case, initial models may not exist, and the free functor is not available. Various syntactic, semantic, and abstract definitions of parametricity have been offered, but their exact relationships are often unclear. Using the methods of categorical model theory, we establish the eq...
unknown title
"... A formalisation of this programming methodology depends on some precise notion of the implementation of a specification by a lower-level specification. Previous notions have been given for the implementation of non-parameterised ([GTW 78], [Nou 79], [Hup 80], [EKP 80], [Ehr 82]) and parameterised ([ ..."
Abstract
- Add to MetaCart
A formalisation of this programming methodology depends on some precise notion of the implementation of a specification by a lower-level specification. Previous notions have been given for the implementation of non-parameterised ([GTW 78], [Nou 79], [Hup 80], [EKP 80], [Ehr 82]) and parameterised ([Gan 81], [Hup 81])*~ specifications, but none of these approaches deals fully with 'structured ' algebraic specifications (as in Clear [BG 77] or CIP-L [Bau 81]) which may be constructed in a hierarchical fashion and may be loose (with an assortment of non-isomorphic models). We present a definition of implementation which agrees with our intuitive notions built upon programming experience and which handles such loose hierarchical specifications, based on a new (and seemingly fundamental) concept of the simulation of a theory by an algebra. We show how this definition extends to give a definition of the implementation of parameterised specifications. An example of an implementation is given and several other examples are sketched. We work within the framework of the Clear specification language [BG 77] which allows large specifications to be built from small easy-to-understand bits. For most

