Reuse in the context of a transformation-based methodology

Abstract : The research group at ISI aims to improve the program development process by applying program transformation to develop implementations for specifications. Following this methodology, the development of a piece of software involves its specification in a formal specification language, and subsequent machine-assisted transformation of that specification into an implementation (conventional program). Subsequent maintenance and modification of software developed in this manner is achieved by modifying the specification, and reperforming the transformational development to derive a new implementation. Thus reuse occurs through reusing the original specification, and reusing the original transformational development of that specification. The approach is distinguished by the nature of our specification language, which has been designed to minimize the gap between informal conceptualization and formal specification. A beneficial result of this is that maintenance and modification at the specification level is relatively straightforward. Further, the techniques that are applied in transforming specifications into implementations are themselves applied repeatedly, and serve to capture our programming knowledge in a conveniently reusable manner. Consideration of an example drawn from the domain of process control illustrates these points. (Author)