Issue No. 06 - June (1992 vol. 18)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.142869
<p>The authors' experience in the Programmer's Apprentice project in applying knowledge representation and automated reasoning to support software development is summarized. A system, called Cake, is described that comprises seven layers of knowledge representation and reasoning facilities: truth maintenance, Boolean constraint propagation, equality, types, algebra, frames, and Plan Calculus. Sessions with two experimental software development tools implemented using Cake, the Requirements Apprentice and the Debugging Assistant, are also included.</p>
knowledge representation; reasoning; software development; Programmer's Apprentice; Cake; truth maintenance; Boolean constraint propagation; equality; types; algebra; frames; Plan Calculus; software development tools; Requirements Apprentice; Debugging Assistant; inference mechanisms; knowledge representation; software engineering; software tools
C. Rich and Y. Feldman, "Seven Layers of Knowledge Representation and Reasoning in Support of Software Development," in IEEE Transactions on Software Engineering, vol. 18, no. , pp. 451-469, 1992.