This Article 
 Bibliographic References 
 Add to: 
Knowledge Representation and Reasoning in a Software Synthesis Architecture
June 1992 (vol. 18 no. 6)
pp. 523-533

The knowledge representation and reasoning strategies in an automatic program synthesis architecture called ELF are described. ELF synthesizes computer-aided design (CAD) tools that automatically route wires in VLSI circuits. The design space ELF confronts, requires it to understand various physical technologies, to select an appropriate procedure-level decomposition, to choose algorithms and data structures, to manage any interdependencies, and to generate efficient code. ELF manages the design space using a variety of knowledge sources, including domain-specific knowledge. The manner in which knowledge is used determines the representation method of choice. The effectiveness of these ideas is illustrated via a tour through the synthesis steps for a specific routing tool, and a brief discussion of the performance of the resulting synthetic router as measured against an industrial tool.

[1] A. V. Aho, J. E. Hopcroft, and J. D. Ullman,The Design and Analysis of Computer Algorithms. Menlo Park, CA: Addison-Wesley, 1974.
[2] J. Bachant,Rime: Preliminary Work Toward A Knowledge Acquisition Tool. Amsterdam, The Netherlands: Kluwer Academic, 1988.
[3] D. Barstow, "An experiment in knowledge-based automatic programming,"Artificial Intell., 12:73-119, 1979.
[4] D. Barstow, "The roles of knowledge and deduction in algorithm design," inAutomatic Program Construction Techniques, New York: MacMillan, pp. 201-222, 1984.
[5] C. J. Paul, A. Achary, B. Black, and J. K. Strosnider, "Reducing problem-solving variance to improve predictability,"Commun. ACM, vol. 34, no. 8, pp. 80-93, Aug. 1991.
[6] M. Broy and P. Pepper, "Program development as a formal activity,"IEEE Trans. Software Eng., vol. SE-7, pp. 14-22, Jan 1981.
[7] D. Hightower, "The Lee router revisited," inProc. IEEE ICCD-83, pp. 136-139, 1983.
[8] E. Kant, "On the efficient synthesis of efficient programs,"Artificial Intell., vol. 20, pp. 253-305, 1983.
[9] D. E. Knuth, "The art of computer programming," inComputer Science and Information Processing. vol. 3, Addison-Wesley, 1973.
[10] C. Lee, "An algorithm for path connections and its applications,"IRE Trans. Electron. Comput., vol. EC-10, pp. 346-365, Sept. 1961.
[11] S. Liu, "Automatic data structure choices in SETL," Courant Inst. of Math. Sci., Sept. 1979.
[12] M. Lowry and R. McCartney, Eds.,Automatic Software Design. AAAI Press, 1991.
[13] R. McCartney, "Synthesizing algorithms with performance constraints," Tech. Rep., Brown University, RI, Dec. 1987.
[14] J. Mostow, "Diogenes: Progress toward semi-automatic design of specialized heuristic search algorithms," Tech. Rep., Rutgers AI/Design Project 108-1, 1988.
[15] R. Nair, "A simple yet effective scheme for global routing,"IEEE Trans. Computer-Aided Design, vol. CAD-6, pp. 165-172, Mar. 1987.
[16] J. Neighbors, "The DRACO approach to constructing software from reusable components,"IEEE Trans. Software Eng., vol. SE-10, pp. 564-574, Sept. 1984.
[17] A. Newell and H. Simon,Human Problem Solving. Englewood Cliffs, N. J.: Prentice-Hall, 1972.
[18] R. Newton, "A D&T roundtable: CAD software development,"IEEE Design&Test, pp. 49-58, Aug. 1988.
[19] T. Ohtsuki, Ed., "Layout design and verification," inAdvances in CAD for VLSI, vol. 4, Elsevier Science, 1986, ch. 3.
[20] C. Rich and R.C. Waters,Readings in Artificial Intelligence and Software Engineering. Morgan Kaufmann, 1986.
[21] C. Rich and R. C. Waters, "Automatic programming: Myths and prospects,"IEEE Computer, vol. 21, pp. 40-51, Aug. 1988.
[22] E. Schonberg, J. Schwartz, and M. Sharir, "An automatic technique for the selection of data representations in SETL programs,"ACM Trans. Program. Lang. Syst., vol. 3, no. 2, pp. 126-143, Apr. 1981.
[23] D. Setliff and R. Rutenbar, "On the feasibility of synthesizing CAD software from specifications: Generating maze router tools in ELF,"IEEE Trans. Computer-Aided Design, vol. 10, pp. 783-801, June 1991.
[24] H. A. Simon, "Whether software engineering needs to be artificially intelligent,"IEEE Trans. Software Eng., vol. SE-12, pp. 726-732, July 1986.
[25] D. R. Smith, "KIDS: A semiautomatic program development system,"IEEE Trans. Software Eng., vol. 16, pp. 1024-1043, Sept. 1990.
[26] D. R. Smith and M. R. Lowry, "Algorithm theories and design tactics,"Science of Computer Programming, vol. 14, pp. 303-321, Oct. 1990.
[27] T. Smith and D. Setliff, "Towards an automatic synthesis system for real-time software," inProc. ACM Real Time System Symp., pp. 34-42, San Antonio, TX, Dec. 1991.
[28] J. Soukup, "Circuit layout,"Proc. IEEE, vol. 69, pp. 1281-1304, Oct. 1981.

Index Terms:
software synthesis architecture; knowledge representation; reasoning strategies; automatic program synthesis architecture; ELF; computer-aided design; VLSI circuits; procedure-level decomposition; data structures; design space; domain-specific knowledge; synthetic router; automatic programming; circuit layout CAD; inference mechanisms; knowledge representation
D.E. Setliff, R.A. Rutenbar, "Knowledge Representation and Reasoning in a Software Synthesis Architecture," IEEE Transactions on Software Engineering, vol. 18, no. 6, pp. 523-533, June 1992, doi:10.1109/32.142874
Usage of this product signifies your acceptance of the Terms of Use.