model-based specification
{{Short description|Computer science concept}}
{{More citations needed|date=September 2009}}
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{{cite book |author = Cliff B. Jones |author-link = Cliff Jones (computer scientist) |title = Software Development: A Rigorous Approach
|publisher = Prentice Hall International
|year = 1980
|isbn = 0-13-821884-6
|url-access = registration
|url = https://archive.org/details/softwaredevelopm0000jone
| author = Cliff B. Jones
| title = Systematic Software Development using VDM
| year = 1986
| publisher = Prentice Hall International
| isbn = 0-13-880717-5
}} and Z{{cite conference
| author = Ian J. Hayes
| title = Using mathematics to specify software
| conference = ASWEC-86
| book-title = Proceedings of the 1st Australian Software Engineering Conference
|date=May 1986
| pages = 67–71
| url = http://www.itee.uq.edu.au/~ianh/Papers/aswec.pdf
|author = J. Michael Spivey
|author-link = John Michael Spivey
|title = The Z Notation: A reference manual
|edition = 2nd
|year = 1992
|isbn = 0-13-978529-9
|publisher = Prentice Hall International Series in Computer Science
|url = http://spivey.oriel.ox.ac.uk/mike/zrm/
|access-date = 2010-10-24
|archive-url = https://web.archive.org/web/20081009041218/http://spivey.oriel.ox.ac.uk/mike/zrm/
|archive-date = 2008-10-09
|url-status = dead
}} (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.