Programming with VDM Domains

A system is presented which supports the programming with VDM domains in ordinary programming languages. The domain constructors of the formal software development method VDM can be seen as generic abstract data types. For these ADTs different implementations are collected in a database. With this database, programming language modules for the implementation and interface are automatically derived from the VDM domain equations. The data types of the specifications can then be used directly during program development. The system strongly supports reuse of software. The transformation of specifications into programs becomes easier, testing and debugging time is significantly shortened.