Cached
Download Links
Abstract
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







