Specification Qualities

  • V. S. Alagar
  • K. Periyasamy
Part of the Graduate Texts in Computer Science book series (TCS)


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?


Application Domain Specification Language Parse Tree Language Construct Behavioral Specification 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    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
  2. [2]
    V.S. Alagar and D. Kourkopoulos, “(In)completeness in Specifications,” Information and Software Technology, Vol. 36, No. 6, 1994, pp. 331–342.CrossRefGoogle Scholar
  3. [3]
    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
  4. [4]
    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
  5. [5]
    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
  6. [6]
    D. Craigen, The Verdi Reference Manual, Technical Report TR-90-S429–09, Odyssey Research Associates, Ottawa, Canada, February 1990.Google Scholar
  7. [7]
    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

Copyright information

© Springer Science+Business Media New York 1998

Authors and Affiliations

  • V. S. Alagar
    • 1
  • K. Periyasamy
    • 2
  1. 1.Department of Computer ScienceConcordia UniversityMontrealCanada
  2. 2.Department of Computer ScienceUniversity of ManitobaWinnipegCanada

Personalised recommendations