The formal development of a Windows interface

This paper describes an approach to the use of the formal method VDM in the design and implementation of Microsoft Windows interfaces. This approach evolved during the development of Dust-Expert, a Windowsbased system for providing design advice on the prevention and control of dust explosions, developed for the Health and Safety Executive (HSE) and now being marketed by the Institution of Chemical Engineers (IChemE). The approach we have adopted is deliberately conservative: we have aimed to see how we can take guidance in the design of the system from the standard Vienna Development Method rather than inventing new language constructs or new proof obligations. One advantage of this is that we can continue to use the tools that are available for supporting the standard language. The next section provides some background to the application and some rationale for the use of formal methods in its development. Section 3 describes the speci cation. Section 4 describes the implementation steps and Section 5 compares our approach with some other formal approaches to interface design. The nal section summarizes our experience and gives some metrics for the Dust-Expert project. We shall assume some familiarity with VDM, at the level that could be obtained from [Jon90].