The approach taken to develop cooperative CBR is to extend Noos, a representation language for integrating learning and problem solving that has been used to develop several CBR systems. In this section we first present some basic notions of the language, and later the Plural extension that supports communication and cooperation among CBR agents using Noos.
Noos is a reflective object-centered representation language designed to support knowledge modeling of problem solving and learning[Arcos &Plaza1996][Arcos &Plaza1994]. Noos is based on the task/method decomposition principle and an analysis of knowledge requirements for methods - and it is related to knowledge modeling frameworks like KADS [Wielinga et al.1993] or components of expertise [Steels1990]. A method models a way to solve a task. A method can be elementary or can be decomposed into subtasks. These new (sub)tasks can be achieved by their corresponding methods in the same way. For a given task there may be multiple alternative methods (alternative ways to solve the task). For instance, a CBR method[Aamodt &Plaza1994] is decomposed into retrieve, select and reuse subtasks and there are several possible methods to access stored cases, select one of them according to some criteria, and finally reuse the solution. Retrieval methods allow Noos to inspect and analyze previous specific situations in the episodic memory. The reuse methods re-instantiate solutions to precedent problems in the current context or construct new solutions using the precedent solutions and the current problem. Decision-taking in Noos is modeled by a preference language that allows the specification of the conditions under which an alternative is better than the others. Reasoning about preferences permits an agent to select a method from a set of alternatives or to choose to cooperate with an agent from a set of associate agents (more on this later).
Noos is a representation language based on descriptions. A description is formed by a collection of features. The values of features are constants or other descriptions. This approach is close to the -term formalism [At-Kaci &Podelski1993]. Domain knowledge is represented in Noos by descriptions of the concepts in that domain. Descriptions have a correspondence to labeled graph representations as shown in Figure 1 that is a description of an experiment in the chromatography domain[Plaza, Arcos, &Mart´n1996].
Figure 1: A case description in CHROMA
Methods are also represented as descriptions. The features of a method description represent the subtasks into which that method is decomposed. Methods are defined by refinement from a set of built-in methods. The set of built-in methods in Noos are those of a general-purpose language plus some constructs enabling introspection. The uniform representation of methods as descriptions is what allows Plural Noos to transmit both entity descriptions and methods in the same way over the network.