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.
Preview
Unable to display preview. Download preview PDF.
References
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.
B.W. Boehm, Software Engineering Economics, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1981.
A. Borgida, S. Greenspan and J. Mylopoulos, “Knowledge Representation as the Basis for Requirements Specifications” IEEE Computer, pp. 82–91, April, 1985.
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.
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).
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.
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.
R. Kowalski, Logic for Problem Solving, North-Holland, New York, 1979.
Z. Manna and R.J. Waldinger, “A Deductive Approach to Program Synthesis,” ACM TOPLAS, vol. 2, no. 1, pp 90–121, 1980.
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.
H. Partsch and R. Steinbrüggen, “Program Transformation Systems,” Computing Surveys, vol 15, no 3, pp 199–236, 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).
S. Russell, “PSEUDS: A Programming System using Deductive Synthesis,” Technical Report, Computer Science Dept., Stanford University, 1983.
W.L. Scherlis and D.S. Scott, “First Steps Towards Inferential Programming,” Proc. IFIP-83, North-Holland, New York, 1983.
J. Schwartz, “On Programming: An Interim Report of the SETL Project,” Technical Report, Courant Institute, New York University, New York, 1975.
D.R. Smith, “Top-Down Synthesis of Divide-and-Conquer Algorithms,” to appear in Artificial Intelligence Journal.
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.
R. Waters, “The Programmer's Apprentice, A session with KBEmacs,” IEEE Trans. Softw. Eng., vol. SE-11, pp. 1278–1295, Nov. 1985.
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).
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.
Author information
Authors and Affiliations
Editor information
Rights 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