Skip to main content

Knowledge-based software development from requirements to code

  • Conference paper
  • First Online:
System Development and Ada

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 275))

  • 148 Accesses

Abstract

This paper advocates a new paradigm for software development in which validation, modification and enhancement are performed at the level of abstract specifications. An implementation is derived from a system's specification by a process of stepwise refinement that is largely automated. We describe the Refine TM system which supports this new paradigm including automatically compiling specifications into code. We present as an example the development of a communication system, showing in detail support for the process of producing abstract specifications from requirements.

REFINE is a trademark of Reasoning Systems Inc.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F.L. Bauer, et al, “Programming in a Wide-Spectrum Language: A Collection of Examples,” Science of Computer Programming, vol 1, no 1, pp 73–114, 1981.

    Article  Google Scholar 

  2. B.W. Boehm, Software Engineering Economics, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1981.

    Google Scholar 

  3. A. Borgida, S. Greenspan and J. Mylopoulos, “Knowledge Representation as the Basis for Requirements Specifications” IEEE Computer, pp. 82–91, April, 1985.

    Google Scholar 

  4. D. Cohen, “Symbolic Execution of the Gist Specification Language,” Proceedings of the Eighth International Joint Conference on Artificial Intelligence, Karlsruhe, West Germany, pp. 17–20, 1983.

    Google Scholar 

  5. A. Goldberg, and G. Kotik, “Knowledge-Based Programming: An Overview of Data Structure Selection and Control Structure Refinement,” Proceedins of the Symposium on Software Validation, Darmstadt, F.R.G., pp. 26–30, 1983, (Technical Report KES.U.83.7, Kestrel Institute, Palo Alto, CA, 1983).

    Google Scholar 

  6. C.C. Green, and S.J. Westfold, “Knowledge-Based Programming Self-Applied,” Machine Intelligence 10, Hayes, Jean E., Donald Michie and Y-H Pao, Eds., John Wiley & Sons, New York 1982.

    Google Scholar 

  7. C.C. Green, D. Luckham, R. Balzer, T. Cheatham and C. Rich, “Report on a Knowledge-Based Software Assistant,” RADC Report RADC-TR-195, Rome Air Development Center, Rome, New York, (also Kestrel Institute Report KES.U.83.2), August 1983.

    Google Scholar 

  8. R. Kowalski, Logic for Problem Solving, North-Holland, New York, 1979.

    Google Scholar 

  9. Z. Manna and R.J. Waldinger, “A Deductive Approach to Program Synthesis,” ACM TOPLAS, vol. 2, no. 1, pp 90–121, 1980.

    Article  Google Scholar 

  10. B. Möller, “A Survey of the Project CIP: Computer-Aided, Intuition-Guided Programming—Wide Spectrum Language and Program Transformations,” Technical Report TUM-I8406, Technische Universität München, 1984.

    Google Scholar 

  11. H. Partsch and R. Steinbrüggen, “Program Transformation Systems,” Computing Surveys, vol 15, no 3, pp 199–236, 1983.

    Article  Google Scholar 

  12. J. Phillips, “Self-Described Programming Environments,” Ph.D. Dissertation, Dept. of Computer Science, Stanford University, March, 1983 (also Technical Report KES.U.83.1, Kestrel Institute, Palo Alto, California).

    Google Scholar 

  13. S. Russell, “PSEUDS: A Programming System using Deductive Synthesis,” Technical Report, Computer Science Dept., Stanford University, 1983.

    Google Scholar 

  14. W.L. Scherlis and D.S. Scott, “First Steps Towards Inferential Programming,” Proc. IFIP-83, North-Holland, New York, 1983.

    Google Scholar 

  15. J. Schwartz, “On Programming: An Interim Report of the SETL Project,” Technical Report, Courant Institute, New York University, New York, 1975.

    Google Scholar 

  16. D.R. Smith, “Top-Down Synthesis of Divide-and-Conquer Algorithms,” to appear in Artificial Intelligence Journal.

    Google Scholar 

  17. D. R. Smith, G. B. Kotik and S. J. Westfold, “Research on Knowledge-Based Software Environments at Kestrel Institute,” IEEE Trans. Softw. Eng., vol. SE-11, pp. 1278–1295, Nov. 1985.

    Google Scholar 

  18. R. Waters, “The Programmer's Apprentice, A session with KBEmacs,” IEEE Trans. Softw. Eng., vol. SE-11, pp. 1278–1295, Nov. 1985.

    Google Scholar 

  19. S.J. Westfold, “Logic Specifications for Compiling,” Ph.D. Thesis, Department of Computer Science, Stanford University, June, 1984 (also Technical Report KES.U.83.8, Kestrel Institute, Palo Alto, California, 1984).

    Google Scholar 

  20. P. Zave and W. Schell, “The PAISLey Software Tools: An Environment for Executable Specifications,” Proc. Workshop on Software Engineering Environments for Programming-in-the-Large,” Harwichport, Massachusetts, pp. 54–63, 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

A. Nico Habermann Ugo Montanari

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Westfold, S.J., Markosian, L.Z., Brew, W.A. (1987). Knowledge-based software development from requirements to code. In: Habermann, A.N., Montanari, U. (eds) System Development and Ada. Lecture Notes in Computer Science, vol 275. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18341-8_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-18341-8_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18341-9

  • Online ISBN: 978-3-540-47885-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics