Specifications arise from a need and are used to fulfill that need. A fair discussion of the principles of specification evolves around three fundamental questions: Why specification? What to specify? and How to specify? The answers to these questions lead to a resolution of the set of attributes of specification languages. The quality of a specification document written using a specification language with the right set of attributes should also be assessed. Since a specification can be regarded as a predicate whose truth value depends on a set of acceptable behaviors, a specification is neither inherently wrong nor perfectly correct; a specification is either relevant and consistent or irrelevant with respect to the stated purpose. In addition, a specification must be understandable, verifiable, and maintainable in order to be useful. This chapter explores ways of recognizing these traits in a specification through answers to two questions: What principles govern specifications? and What are the attributes of a specification language?
KeywordsApplication Domain Specification Language Parse Tree Language Construct Behavioral Specification
Unable to display preview. Download preview PDF.
- R.J. Abbot and D.K. Moorehead, “Software Requirements and Specifications: A Survey of Needs and Languages,” The Journal of Systems and Software, 1981, pp. 297–316.Google Scholar
- R. Balzer and N. Goldman, “Principles of Good Software Specification and Their Implications for Specification Languages,” National Computer Conference, Chicago, IL, 1981, pp. 393–400.Google Scholar
- F.L. Bauer, “Programming as an Evolutionary Process,” Proceedings of the Second International Conference on Software Engineering, San Francisco, CA, 1976, pp. 223–234.Google Scholar
- F.L. Bauer, M. Bauer, P. Partsch, and P. Pepper, “Report on a Wide-spectrum Language for Program Specification and Development,” Technical Report TUM-18104, Technical University, Munich, Germany, May 1981.Google Scholar
- D. Craigen, The Verdi Reference Manual, Technical Report TR-90-S429–09, Odyssey Research Associates, Ottawa, Canada, February 1990.Google Scholar
- A. Klausner and T.E. Konchan, “Rapid Prototyping and Requirements Specification Using PDS,” in N. Gehani and A.D. McGettrick (Eds.), Software Specification Techniques, Addison-Wesley Publishing Company, Reading, MA, 1980.Google Scholar