Model-based specification is an approach to formal specification where the system specification is expressed as a system state model. This state model is constructed using well-understood mathematical entities such as sets and functions. System operations are specified by defining how they affect the state of the system model.
The most widely used notations for developing model-based specifications are VDM and Z (pronounced Zed, not Zee). These notations are based on typed set theory. Systems are therefore modelled using sets and relations between sets.
Another well-known approach to formal specification is algebraic specification.
- Cliff B. Jones (1980). Software Development: A Rigorous Approach. Prentice Hall International. ISBN 0-13-821884-6.
- Cliff B. Jones (1986). Systematic Software Development using VDM. Prentice Hall International. ISBN 0-13-880717-5.
- Ian J. Hayes (May 1986). "Using mathematics to specify software" (PDF). Proceedings of the 1st Australian Software Engineering Conference. ASWEC-86. pp. 67–71.
- J. Michael Spivey (1992). The Z Notation: A reference manual (2nd ed.). Prentice Hall International Series in Computer Science. ISBN 0-13-978529-9.