Specifying reusable components using Z: realistic sets and dictionaries

We use the Z specification language to specify the designs of two reusable components and their interfaces. The components are based on set:3 and dictionaries from Smalltalk, each of which can provide surprises to users. We prove a significant property of desired behavior of the specifications under the precondition expected by the implementations. Specification and proof played an important role in our understanding of the components.

[1]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  Ian J. Hayes,et al.  Specification case studies , 1987 .