Engineering and theoretical underpinnings of retrenchment

R. Banach, M. Poppleton, C. Jeske, S. Stepney

    Research output: Contribution to journalArticlepeer-review


    Refinement is reviewed, highlighting in particular the distinction between its use as a specification constructor at a high level, and its use as an implementation mechanism at a low level. Some of its shortcomings as a specification constructor at high levels of abstraction are pointed out, and these are used to motivate the adoption of retrenchment for certain high level development steps. Basic properties of retrenchment are described, including a justification of the operation proof obligation, simple examples, its use in requirements engineering and model evolution, and simulation properties. The interaction of retrenchment with refinement notions of correctness is overviewed, as is a range of other technical issues. Two case study scenarios are presented. One is a simple digital redesign control theory problem, and the other is an overview of the application of retrenchment to the Mondex Purse development. © 2007 Elsevier B.V. All rights reserved.
    Original languageEnglish
    Pages (from-to)301-329
    Number of pages28
    JournalScience of Computer Programming
    Issue number2-3
    Publication statusPublished - 1 Jul 2007


    • Digital redesign
    • Model evolution
    • Mondex purse
    • Refinement
    • Requirements engineering
    • Retrenchment
    • Simulation


    Dive into the research topics of 'Engineering and theoretical underpinnings of retrenchment'. Together they form a unique fingerprint.

    Cite this