Specifications are not (necessarily) executable

Specifications can be written in languages which have formal semantics. Their very formality, and the similarities with some aspects of implementation languages, invites the idea that specifications might be executed. This paper presents a number of arguments against that idea. The aim is to warn of the dangers of limiting specification languages to the point where all of their constructs can be executed. While conceding the difficulties of relating specifications to an understanding of the ‘requirements’ for a system, it is argued that other solutions should be sought than ‘executable specification languages’.

[1]  Peter Henderson,et al.  Purely Functional Operating Systems , 1982 .

[2]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[3]  Cliff B. Jones,et al.  Program specification and verification in VDM , 1987 .

[4]  Dines Bjørner,et al.  Formal specification and software development , 1982 .

[5]  Peter Henderson Functional geometry , 1982, LFP '82.

[6]  Lynn S. Marshall,et al.  A Formal Specification of Line Representations on Graphics Devices , 1985, TAPSOFT, Vol.2.

[7]  Friedrich L. Bauer,et al.  The Munich Project CIP: Volume I: The Wide Spectrum Language CIP-L , 1985 .

[8]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[9]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[10]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[11]  Ian J. Hayes,et al.  Specification case studies , 1987 .

[12]  Cliff B. Jones,et al.  Case studies in systematic software development , 1990 .

[13]  David Turner Functional programs as executable specifications , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[14]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .