next up previous contents
Next: The Data Type Invariant Up: Comparison of Specification Languages Previous: Exercise 15.2

Building Up Specifications

As you would have gathered by reading this book, the platform that VDM supplies in the shape of its built-in types allows the developer to build up complex specifications quite concisely. As the joint case study shows in chapter 14, the algebraic approach is more verbose, and the developer seems to have to start virtually from first principles. This does have the advantage, however, that only those axioms which capture the characteristics of the model need to be written down. Also, importing from a library of existing specifications may overcome the apparent `low platform' problem with the algebraic approach. Unfortunately, it may also leave the developer open to choosing particular algebras for convenience (that is because they have already been defined) rather than for their natural fit. The disadvantage of choosing a model with more detail than necessary is certainly one which is apparent in a model-based approach.

A major advantage of the algebraic approach is the ease with which one can build up hierarchical objects, and the disciplined way that importing and exporting of type specifications is handled. The approach seems to encourage one to build bottom-up, performing validation on individual objects as they are specified. VDM is certainly lacking in this area. As previously mentioned, standard VDM now has the facility of modules, but it remains to be seen how effective their use will be. In fact the problem of building up larger specifications, when this involves combining sub-specifications with their own state, seems to be an inherent problem in the model-based approach.


next up previous contents
Next: The Data Type Invariant Up: Comparison of Specification Languages Previous: Exercise 15.2
Lee McCluskey
2002-12-18