In the industrial context specifications are usually a means to an end, namely code, rather than an end in themselves. If is argued that this fact should be taken into account in the development process, and that rather than considering specification and implementation as separate, disjoint activities, they might be seen as part of a continuum. A method of writing specifications in a manner leading to a simpler implementation route is described. This is done by making explicit all pre- and post-conditions and state invariants. The most widely used constructs of model-based specification languages are implemented as a C++ library, which in turn is used to implement specifications. A case study is used to illustrate the method. The method is evaluated in terms of its effect on program correctness and programmer productivity for implementing specifications. It is suggested that the reusability of its code makes the library useful for general development.
['Cydney Minkowitz', 'D. Rann', 'J.H. Turner']
A C++ library for implementing specifications