Figure 2: Browse of the score for the 'All of me' ballad represented in N~oos. Features are represented as thin boxes, dots indicate not expanded terms, and gray boxes express references to existing terms. precedent determined by the select subtask. When the solution generated by the reuse task is not correct, an opportunity for learning arises. The revision phase involves detecting the errors of the current solution and modifying the solution using repair techniques. This phase, that is not present in all CBR methods, takes the result from applying the solution in the real world (or by asking a teacher). Finally, the new solved problem is incorporated into the system by the retain task in order to help the resolution of future problems. This task involves selecting which information of the case retain and how to integrate the new case in the memory structure. In Section 2.2 we will see these tasks in the light of the SaxEx system. 1.3 Noos N~oos is a reflective object-centered representation language designed to support knowledge modeling of problem solving and learning. The N~oos language has been implemented using Common Lisp and currently is running on several platforms. The main development platform is the Macintosh (using MCL), providing a window-based graphical interface. Modeling a problem in N~oos requires the specification of three different types of knowledge: domain knowledge, problem solving knowledge, and metalevel knowledge. Domain knowledge specifies a set of concepts, a set of relations among concepts, and problem data that are relevant for an application. Concepts and relations define the domain ontology of an application. For instance, the domain ontology of SaxEx is composed by concepts such as notes, chords, impli cation/realization structures, and expressive parameters. Problem data, described using the domain ontology, define specific situations (specific problems) that have to be solved. For instance, specific inexpressive musical phrases to be transformed into expressive ones. N~oos is based on feature terms [12]. Feature terms are record-like data structures embodying a collection of features. Figure 2 shows the representation of a score in N~oos that is described in Section 2.1. N~oos has been used to implement several applications such as CHRoMA[5], a system for recommending a plan for the purification of proteins from tissues and cultures, SPIN, a sponge identification system for a class of marine sponge species, and SHAM, a knowledge-based system for harmonizing catalan folk songs. Problem solving knowledge specifies the set of tasks to be solved in an application. For instance, the main task of SaxEx is to infer a seqyuence of expressive transformations for a given musical phrase. M~ethods model the ways to solve tasks. Methods can be elementary or can be decomposed into subtasks. These new (sub)tasks may be achieved by other methods. A method defines an execution order of subtasks and an specific combination of the results of the subtasks in order to solve the task it performs. For a given task there may be multiple alternative methods that may be capable of solving the task in different situations. This recursive decomposition of task into subtasks by means of a method is called the task/method decomposition. Metalevel (or reflective) knowledge is knowledge about domain knowledge and problem solving knowledge. Intuitively, metalevel knowledge can be used
Top of page Top of page