Implementation

3. Implementing an application

3.1.Environment of Use

The use of the platform is facilitated by its integration within a graphical environment allowing to visualise and handle directly the diagrams of classes. However, the case base reasoning is intrinsically a complex process, and it was necessary to introduce many hot spots for its modeling.

The CBR*Tools framework can directly be used like every other set of classes in Java by using an editor or a traditional programming environment. However, its use is proposed here within a software suite allowing us to visualise and handle directly the entirety of the UML models presented.

The interface of the CBR*Tools in Rational Rose

Figure 1: The interface of the CBR*Tools in Rational Rose

During the conception of the CBR*Tools, the software suite Rational Rose was used. This tool offers a graphical interface (Figure 1) allowing the user to navigate in the different conceptual elements (classes, packets, scenarios, etc.), to display these element in the form of UML diagrams, and to consult the documentation associated with each element (class, attribute, method).

The use of a such a tool does not stop with the initial conception of CBR*Tools, but it is also used to provide a design environment, which facilitates the use of CBR*Tools. In effect, this tool is complementary to the approach placed on the conception of an object-oriented platform:

  • It facilitates the comprehension of the platform. This tool enables the user to visually handle the various concepts of CBR*Tools as well as their interactions. This handling leads not only to a better comprehension of CBR*Tools, but also to a better design by highlighting the difficult points as early as possible in the development cycle.
  • It facilitates the extension of the platform. The specialisation of a class of CBR*Tools is then done by simple graphic handling: definition of a new class, declaration of the inheritance, and declaration of the methods to be specialised by a simple mechanism of copy/paste.
  • It allows the user to generate a good-quality documentation. Documentation is significant for a platform, and this tool enables the user to export the entire set of the diagrams, which can then be included in the user's documentation.
  • It facilitates the layout. From the diagrams, the class-structures are automatically generated in the selected language (Java) and have to be completed manually. This automatic generation thus, avoids a tiresome work which is a source of errors, and allows the user to concentrate on the implementation of the algorithms.
  • It facilitates the iterative development. This tool is also equipped with a module of re-engineering (reverse engineering) particularly useful in an iterative process of design and use as in the case of a Object-Oriented framework. In effect, the mechanism of generation and that of re-engineering represent the only means of ensuring coherence between the diagrams and the effective realisation.