William J. Clancey
A broad range of heuristic programs-embracing forms of diagnosis, catalog selection, and skeletal planning-accomplish a kind of well-structured problem solving called classification. These programs have characteristic inference structure that systematically relates data to pre-enumerated set of solutions by abstraction, heuristic association, and refinement. This level of description specifies the knowledge needed to solve a problem, independent of its representation in a particular computer language. The classification problem-solving model provides a useful framework for recognizing and representing similar problems, for designing representation tools, and for understanding why non-classification problems require different problem-solving methods.