This section showed that the method ontology and the declarative definition of the inferences provide a clear and domain-independent definition of the problem-solving method. The method ontology was derived from the inference structure, which constitutes an imprecise specification of a PSM. The method ontology for P&R is formed by all definitions of classes and relations presented in the previous sections. This ontology is not intended to be a fixed ontology, but is still subjected to extensions and validations.
When the method ontology is instantiated with an application domain, all the constraints of definitions must be true before the execution of the inferences. This allow an automatic verification if the application domain satisfies all the assumptions about the knowledge roles of the method.
However, our work suffers from some limitations. The method ontology and the definition of the inferences is only one aspect of the specification of a PSM. In fact, Figure 4 simplifies the procedure for indexing and retrieving reusable problem-solving methods. Choosing a method from a library has a previous phase in which the PSM is selected by its functionality. The functionality is described by a functional specification, which describes the PSM in terms of its input-output behavior and defines what can be achieved by the PSM [Benjamins et al., 1996]. Thus, before selecting a shell, a knowledge engineer will verify which methods accomplish the desired functionality of the application task. Then, she will choose among the selected methods one in which the ontology of roles matches the new application domain. Another aspect to be explored by our approach is the representation of the control flow of the PSM, which defines the order in which the inferences are executed. The control flow constitutes another aspect of the specification of a PSM and it can also help the knowledge engineer in the selection process.