skip to main content
10.1145/1006259.1006267acmconferencesArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article
Free Access

Rapid prototyping by means of abstract module specifications written as trace axioms

Published:19 April 1982Publication History

ABSTRACT

In this paper we discuss the use of a form of abstract specifications for software modules called trace axioms or trace assertions. Specifications written in this form precisely describe the external behavior of the module and can be automatically tested for consistancy and completeness. Errors revealed by the testing process can be rapidly corrected by a man-machine interactive process. These specifications could then be interpreted or compiled to form a rapid prototype of the final system.

References

  1. Bartussek, W. and Parnas, D. "Using Traces to Write Abstract Specifications for Software Modules". Univ. of N. C. Report No. Tr77-012 Dec. 1977.Google ScholarGoogle Scholar
  2. Dijkstra, E. W. "Guarded Commands, Nondeterminancy and the Formal Derivation of Programs". CACM 18, 8, Aug. 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dijkstra, E. W. "A Discipline of Programming" Prentice Hall 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dixon, J. K., Mclean, J., and Parnas, D. L. "Automatically Testing the Consistency of Abstract Specifications for Software Modules Written as Trace Axioms" (to be published) 1982.Google ScholarGoogle Scholar
  5. Dixon, J. K. "Proving the Completeness of Trace Axioms" (working paper)Google ScholarGoogle Scholar
  6. Floyd, R. W. "Assigning Meaning to Programs". In "Mathematical Aspects of Computer Science" (J. T. Schwartz, ed.) Proc. Symp. of Applied Mathematics. Vol. 19, American Math. Soc. Providence 1967, 19--32.Google ScholarGoogle Scholar
  7. Guttag, J. "The Specification and Application to Programming of Abstract Data Types". Ph.D. Thesis, CSRG TR 59, Univ. of Toronto. Sept. 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Guttag, J. "Abstract Data Types and the development of Data Structures". SIGPLAN/SIGMOD Conf. on Data: Abstraction, Definition, and Structure" (to be published in CACM) Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Guttag, J. Private Communication, 1976.Google ScholarGoogle Scholar
  10. Hoare, C. A. R. "An Axiomatic Basis for Computer Programing". CACM 12, 10 Oct. 1969, 576--583. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Knuth, D. E. and Bendix, P. B. "Simple Word Problems in Universal Algebras." Computatioanl Problems in Abstract Algebra, J. Leach (ed). Pergamon Press, New York, 1970, pp. 263--297.Google ScholarGoogle Scholar
  12. Liskov, B. and Berzins, V. "An Appraisal of Program Specifications" Research Directions in Software Technology (P. Wegner, ed.) MIT Press Cambridge Mass. 1979. pp. 276--301.Google ScholarGoogle Scholar
  13. McLean, J. "A Formal Foundation for Trace Specification." (to be published)Google ScholarGoogle Scholar
  14. Musser, D. R. "A Data Type Verification System Based on Rewrite Rules" USC Infor. Sci. Inst., June 1978.Google ScholarGoogle Scholar
  15. Neumann, P. G. et. al. "A Provably Secure Operating System: The system its Applications, and Proofs. Final report, Stanford Research Inst. 11 Feb. 1977, Menlo Park, Cal.Google ScholarGoogle Scholar
  16. Parnas, D. L. "A Technique for Software Module Specification with Examples" CACM May, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Parnas, D. L., Shore, J. E., and D. Weiss. "Abstract Types Defined as Classes of Variables" Proc. Conf. on Data: Abstraction, Definition, and Structure, pp. 22--24, Salt Lake City, Utah, Mar. 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Parnas, D. L., and Wuerges, H. "Responses to Undersired Events in Software Systems". Proc. 2nd Intern. Conf. on Software Engineering. Oct. 1976, San Francisco, Cal. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Parnas, D. L., Handzel, G. and Wuerges, W. "Design and Specification of the Minimal Subset of an Operating System Family" Presented at 2nd Inter. Conf. on Software Engineering, Oct. 1976. Pub in special issue of IEEE Trans. on Software Engineering, Dec. 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Parnas, D. L. "Information Distribution Aspects of Design Methodology" Proc. IFIP Congress 1971.Google ScholarGoogle Scholar
  21. Parnas, D. L. "On the Criteria to be used in Decomposing Systems into Modules" CACM Dec. 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Parnas, D. L. The Use of Precise Specifications in the Development of Software" Proc. IFIP Congress 1977, North Holland Pub Co.Google ScholarGoogle Scholar
  23. Parnas, D. L. "More on Specification Techniques for Software Modules" Tech report, Technische Hochschule Darmstadt, Darmstadt, West Germany, Feb. 1975.Google ScholarGoogle Scholar
  24. Parnas, D. L. and Price, W. R. "The Design of the Virtual Memory Aspects of a virtual Machine" Proc. of ACM SIGARCH-SIGOPS Workshop on Virtual Computer Systems Mar. 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Parnas, D. L. and Price, W. R. "Using Memory Access Control as the Only Protective Mechanism" Proc. Inter. Workshop on Protection in Operating Systems. Aug. 1974, IRIA.Google ScholarGoogle Scholar
  26. Price, W. R. "Implications of a Virtual Memory Mechanism for Implementing Protection in a family of Operating Systems" Tech. Report (Ph.D. Thesis) Carnegie-Mellon Univ., June 1973 AD766292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Roubine, O. and Robinson, L. "Special Reference Manual" 2nd Ed. Tech Report CSG-45, Stanford Research Inst. Menlo Park, Cal.Google ScholarGoogle Scholar
  28. Zilles, S. N. "Data Algebra: A Specification Technique for Data Structures" MIT, Cambridge, Mass. Ph.D. Thesis, 1978.Google ScholarGoogle Scholar

Index Terms

  1. Rapid prototyping by means of abstract module specifications written as trace axioms
    Index terms have been assigned to the content through auto-classification.

    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
    • Published in

      cover image ACM Conferences
      Proceedings of the workshop on Rapid prototyping
      April 1982
      190 pages
      ISBN:089791094X
      DOI:10.1145/1006259
      • cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 7, Issue 5
        Special issue on rapid prototyping
        December 1982
        184 pages
        ISSN:0163-5948
        DOI:10.1145/1006258
        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: 19 April 1982

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader