The CAT-CBR platform helps the engineer in the process of developing a CBR system. The CAT-CBR platform uses the a library of components specified in UPML and configure them in order to achieve the user requirements.
The process of developing a CBR system is done in three steps: Configure, Enable, and Enact.
The goal of the Configure step is to decide which techniques will be used in the CBR system. This process is done independently of the domain. In the configure step we mainly used general information about the desired CBR system; this information is about general objectives (i.e. classify), or performance characteristiques (i.e. noise tolerance). During this process the unique information needed about the domain, where the CBR system will be applied, is which models will be available for the system (i.e. decision tree) and general knowledge about it (i.e. cases has missing values). In the configure process we do not use concrete knowledge of the models. As result of the configure step we get a configured CBR system; this configured CBR system is a task-method decomposition of components from the \catcbr- Library. This configured system specifies also which models will be used by each method of the system.
The goal of the Enable step is to link the configured system with the concrete domain. In this step the user has two options, first, he can assign the concrete models that the configuration needs to be carried out; second, he can use methods to acquire these models that the configuration needs and they are not currently available. In this second option the user will configure some Enablers that acquire these models from the domain models that are currently available.
Finally in the Enacting step, the configuration and models as well as the subapplications to acquire knowledge will be translated into an executable code. As our platform is developed over Noos framework the resultant code will be Lisp functions. Once the configuration is operationalize, generating the concrete functions that link the different methods, subtasks and models, the application can be run to solve new problems and can tested with other applications in order to evaluate which application works better in our concrete domain.