Knowledge-based software development from requirements to code

  • Stephen J. Westfold
  • Lawrence Z. Markosian
  • William A. Brew
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 275)


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 RefineTM 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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bauer et al, 1981]
    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.CrossRefGoogle Scholar
  2. [Boehm, 1981]
    B.W. Boehm, Software Engineering Economics, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1981.Google Scholar
  3. [Borgida et al, 1985]
    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. [Cohen, 1981]
    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. [Goldberg and Kotik, 1983]
    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. [Green and Westfold, 1982]
    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. [Green et al, 1983]
    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. [Kowalski, 1979]
    R. Kowalski, Logic for Problem Solving, North-Holland, New York, 1979.Google Scholar
  9. [Manna and Waldinger, 1980]
    Z. Manna and R.J. Waldinger, “A Deductive Approach to Program Synthesis,” ACM TOPLAS, vol. 2, no. 1, pp 90–121, 1980.CrossRefGoogle Scholar
  10. [Möller, 1984]
    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. [Partsch and R. Steinbrüggen, 1983]
    H. Partsch and R. Steinbrüggen, “Program Transformation Systems,” Computing Surveys, vol 15, no 3, pp 199–236, 1983.CrossRefGoogle Scholar
  12. [Phillips, 1983]
    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. [Russell, 1983]
    S. Russell, “PSEUDS: A Programming System using Deductive Synthesis,” Technical Report, Computer Science Dept., Stanford University, 1983.Google Scholar
  14. [Scherlis and Scott, 1983]
    W.L. Scherlis and D.S. Scott, “First Steps Towards Inferential Programming,” Proc. IFIP-83, North-Holland, New York, 1983.Google Scholar
  15. [Schwartz, 1975]
    J. Schwartz, “On Programming: An Interim Report of the SETL Project,” Technical Report, Courant Institute, New York University, New York, 1975.Google Scholar
  16. [Smith, 1986]
    D.R. Smith, “Top-Down Synthesis of Divide-and-Conquer Algorithms,” to appear in Artificial Intelligence Journal.Google Scholar
  17. [Smith et al, 1985]
    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. [Waters, 1985]
    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. [Westfold, 1984]
    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. [Zave and Schell, 1985]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Stephen J. Westfold
    • 1
  • Lawrence Z. Markosian
    • 1
  • William A. Brew
    • 1
  1. 1.Reasoning Systems Inc.Palo Alto

Personalised recommendations