Functional system specification
Stef M. M. Joosten · Software Engineering Journal · 1988
This paper deals with executable descriptions of systems. The prime motivation of the paper is to show that functional programming languages are useful in software engineering practice. All kinds of systems, either with or without a state, can be modelled in a simple way. In this paper an attempt is made to devise executable models that are amenable to mathematical proofs. Apart from testing, proving is a viable technique for establishing correctness of algorithms. There exists a clear link to systems theory. Some restrictions have to be imposed on systems theory to obtain executability, but these restrictions are fewer than assumed normally when systems are described in imperative programming languages. As a consequence, an executable specification language is obtained. The well known ‘functional specs’ can be written in a purely functional programming language. This renders the phrase ‘functional specification’ doubly appropriate.