COLIBRI is a platform for developing academic Case-Based Reasoning (CBR) software. Its main goal is to provide the infrastructure required to develop new CBR systems and its associated software components. COLIBRI is designed to offer a collaborative environment where users could share their efforts in implementing CBR applications. It s an open platform where users can contribute with different designs or components that will be reused by other users.
As a platform, COLIBRI offers a well defined architecture for designing CBR systems (refined among several years of experience), a reference implementation of that architecture: the jCOLIBRI framework, and several development tools that aid users in the implementation and sharing of new CBR systems and components. These tools have been integrated in the brand new COLIBRI Studio development environment.
The two layers architecture of COLIBRI
The main design principle of COLIBRI is its layered structure.
A good software framework should be designed first as a white-box tool that permits programmer users to have total control of the internal details of the software. jCOLIBRI is the white-box layer of the architecture: a framework for developing CBR applications in Java. This framework represents the bottom layer of our platform. It has no visual tool but includes most of the code required to implement a wide collection of CBR systems: Standard CBR systems, Textual CBR, Knowledge-Intensive, Data-Intensive, Recommender Systems, and Distributed CBR applications. It also includes evaluation, maintenance and case-base visualization tools. Many of the components available have been developed by third-party research groups and contributed to the framework to be shared with the community.
After jCOLIBRI was sufficiently mature we have continued with the next step in our platform: the top layer that includes the graphical development tools to aid users in the development of CBR systems. These tools are enclosed in the COLIBRI Studio IDE.