By the same authors

Retrenching the Purse: Finite Sequence Numbers, and the Tower Pattern

Research output: Contribution to conferencePaper


  • Richard Banach
  • Michael Poppleton
  • Czeslaw Jeske
  • Susan Stepney
  • John Fitzgerald
  • Ian J. Hayes
  • Andrzej Tarlecki


Publication details

DatePublished - 2005
Original languageUndefined/Unknown


The Mondex Electronic Purse system is an outstanding example of formal refinement techniques applied to a genuine industrial scale application, and notably, was the first verification to achieve ITSEC level E6 certification. A formal abstract model including security properties, and a formal concrete model of the system design were developed, and a formal refinement was hand-proved between them in Z. Despite this success, certain requirements issues were set beyond the scope of the formal development, or handled in an unnatural manner.

Retrenchment is reviewed in a form suitable for integration with Z refinement, and is used to address one such issue in detail: the finiteness of the transaction sequence number in the purse funds transfer protocol. A retrenchment is constructed from the lowest level model of the purse system to a model in which sequence numbers are finite, using a suitable elaboration of the Z promotion technique. We overview the lifting of that retrenchment to the abstraction level of the higher models of the purse system. The concessions of the various retrenchments generated, formally capture the dissonance between the unbounded sequence number idealisation and the bounded reality. Reasoning about when the concession can become valid influences the actual choice of sequence number bound. The retrenchment-enhanced formal development is proposed as an example of a widely applicable methodological pattern for formal developments of this kind: the Tower Pattern.

Discover related content

Find related publications, people, projects, datasets and more using interactive charts.

View graph of relations