Model Driven Development

Models of software systems allow users of the system to be involved throughout all development stages and designers to look at a range of aspects of the system they are developing. The designer can explore both the system's structure and aspects of its behaviour. Models produced using the best tools available enable both automatic generation of code and early evaluation of the system under development. These factors make model-driven development part of best practice technique by improving reliability and reducing time to market.

Formal modelling has been used in the development of databases for many years. Structural models have existed for some years using a variety of notations to represent aspects of system design. Object Oriented technology for programming has matured at the same time as modelling of systems has been formalised using industry standard notations. This is not coincidental.

Standardisation of the notation for modelling of software artefacts is crucial. Firstly, it means that the developers may be trained in modelling using techniques that are widely recognised. This means that the models are usable not only for their initial purpose of evaluation, but also become an essential tool for communicating how a design is intended to work to other developers and managers. The current standard for modelling software systems is the Unified Modelling Language.

Our paper on Software Modelling, which considers this topic in more detail, is available on request.