skip to main content
article
Free Access

On the inevitable intertwining of specification and implementation

Published:01 July 1982Publication History
Skip Abstract Section

Abstract

Contrary to recent claims that specification should be completed before implementation begins, this paper presents two arguments that the two processes must be intertwined. First, limitations of available implementation technology may force a specification change. For example, deciding to implement a stack as an array (rather than as a linked list) may impose a fixed limit on the depth of the stack. Second, implementation choices may suggest augmentations to the original specification. For example, deciding to use an existing pattern-match routine to implement the search command in an editor may lead to incorporating some of the routine's features into the specification, such as the ability to include wild cards in the search key. This paper elaborates these points and illustrates how they arise in the specification of a controller for a package router.

References

  1. 1 Balzer, R. M. Dataless programming. Full Joint Computer Conference, 1967, pp. 535-545.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Balzer, R. M., N. M. Goldman, and D. S. Wile. On the transformational implementation approach to programming. Proceedings of the Second International Conference on Software Engineering, October 1976, pp. 337-344.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Balzer, R. M., and N. M. Goldman. Principles of good software specification and their implications for specification languages. Proceedings of the Specifications of Reliable Software Conference, Boston, Massachusetts, April, 1979, pp. 58-67. (Also presented at the National Computer Conference, 1981.)]]Google ScholarGoogle Scholar
  4. 4 Balzer, R. M. Transformational implementation: An example. IEEE Trans. Software Engineering 7, 1 (Jan. 1981), 3-14. Also published as USC/Information Sciences Institute RR-79-79, May 1981.]]Google ScholarGoogle Scholar
  5. 5 Bauer, F. L. Programming as an evolutionary process. Proceedings of the Second International Conference on Software Engineering, Oct. 1976, pp. 223-234.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Burstall, R. M., and J. Darlington. Some transformations for developing recursive programs. Proceedings of the International Conference on Reliable Software, Los Angeles, Calif., April 1975, pp. 465-472.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Dijkstra, E. W. Notes on structured programming. In Structured Programming, Academic Press, New York, 1972.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Hommel, G. (Ed.) Vergleich verschiedener Spezifikationsverfahren am Beispiel einer Paketverteilanlage. Kernforschungszentrum Karlsruhe GmbH, August, 1980. PDV- Report, KfK-PDV 186, Part 1.]]Google ScholarGoogle Scholar
  9. 9 Knuth, D. E. Structured programming with goto statements. Computing Surveys 6, 4 (Dec. 1974).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Parnas, D. L. On the criteria to be used in decomposing systems into modules. Comm. ACM 15, 12 (Dec. 1972), 1053-1058.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Wirth, N. Program development by step-wise refinement. Comm. ACM 14, 4 (Aril 1971).]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On the inevitable intertwining of specification and implementation

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Communications of the ACM
      Communications of the ACM  Volume 25, Issue 7
      July 1982
      81 pages
      ISSN:0001-0782
      EISSN:1557-7317
      DOI:10.1145/358557
      Issue’s Table of Contents

      Copyright © 1982 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 July 1982

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Author Tags

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader