Using Transformations in Specification-Based Prototyping

Valdis Berzins, L. Luqi, Amiram Yehudai

Research output: Contribution to journalArticlepeer-review

22 Scopus citations


We explore the use of software transformations for software evolution. Meaning-preserving program transformations have been widely used for program development from a fixed initial specification. We consider a wider class of transformations to support development in which the specification evolves, rather than being fixed in advance. We present a new and general classification of transformations based on their effect on system interfaces, externally observable behavior, and abstraction level of a system description. This classification is used to rearrange chronological derivation sequences containing meaning-changing transformations into lattices containing only meaning-preserving transformations. This paper describes a process model for software evolution, utilizing prototyping techniques, and shows how this class of transformations can be used to support such a process. A set of examples illustrates our ideas. Software tool support and directions for future research are discussed.

Original languageEnglish
Pages (from-to)436-452
Number of pages17
JournalIEEE Transactions on Software Engineering
Issue number5
StatePublished - 1 May 1993


FundersFunder number
National Science FoundationCCR-9058453, ARO-145-91


    • Executable specification
    • program transformations
    • software evolution
    • software prototyping


    Dive into the research topics of 'Using Transformations in Specification-Based Prototyping'. Together they form a unique fingerprint.

    Cite this