Transformations of Designs

In this paper we present a theory of correctness-preserving transformations of designs. The paper gives an informal introduction to both the structuring concept of a “design” and to certain dynamic aspects of the software development process. There is a focus on combining designs, strategies for growing designs and re-adapting them to external-context modifications. Although the notion of a design is part of the language COLD, the presentation in this paper is given independent of that, in a general setting.

[1]  E. C. van Oijen Configuration management for COLD-K , 1989 .

[2]  Franklin Prosser,et al.  The art of digital design - an introduction to top-down design (2. ed.) , 1987 .

[3]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[4]  Manfred Broy,et al.  Program Development as a Formal Activity , 1981, IEEE Transactions on Software Engineering.

[5]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[6]  M. Wirsing Algebraic description of reusable software components , 1988, [Proceedings] COMPEURO 88 - System Design: Concepts, Methods and Tools.

[7]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[8]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[9]  Jan A. Bergstra,et al.  Module algebra , 1990, JACM.

[10]  de Ng Dick Bruijn Generalizing Automath by means of a lambda-typed lambda calculus , 1987 .

[11]  L.M.G. Fejs,et al.  A formalisation of design structures , 1988, [Proceedings] COMPEURO 88 - System Design: Concepts, Methods and Tools.

[12]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.