Logo Colibri

Colibri

Colibri platform for the development of Case-Based Reasoning systems

jCOLIBRI COLIBRI Studio ReColibry

About Colibri

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 COLIBRI Studio development environment. Both tools make up the COLIBRI platform following a two layer architecture.

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.

Features

  • Persistence Layer. jCOLIBRI defines a clear interface between the media containing the cases (data base, textual files, ontologies, ARFF files, …) and the in-memory organization of the cases.
  • In-memory organization of the cases. Cases can be organized using different indexing structures: linear lists, trees, maps, etc.
  • Retrieval methods. The most important retrieval method is the Nearest Neighbour scoring. It uses global similarity functions to compare compound attributes and local similarity functions in order to compare simple attributes.
    Although this method is very popular, there are other methods that are also included in the framework. Regarding Knowledge Intensive CBR we enable the retrieval from ontologies. Data Intensive retrieval is implemented by means of clustering algorithms and a connector for the Weka arff format.
  • Reuse and revision methods. These two stages are coupled to the specific domain of the application, so jCOLIBRI only includes simple methods to copy the solution from the case to the query, to copy only some attributes, or to compute direct proportions between the description and solution attributes. There are also specialized methods to adapt cases using ontologies.
  • Maintenance. The maintenance components allow developers to reduce the size of the case base. Provided components are: BBNR (Blame-based noise reduction), CRR (Conservative Redundancy Removal), RENN (Repeated Edited Nearest Neighbour), RC (Relative Cover), and ICF (Iterative Case Filtering).
  • Evaluation methods measure the performance of a CBR application. jCOLIBRI includes the following strategies: Hold Out, Leave One Out and N-Fold.
  • Visualization. This component lays out the distance between cases. This tool serves to debug the fitness of the similarity measure.
  • Examples. The examples included in jcolibri2 are useful in testing the framework and are part of its documentation.

Summarizing, jCOLIBRI offers 5 different retrieval strategies with 7 selection methods and provides more than 30 similarity metrics. It provides around 20 adaptation and maintenance components plus several extra tools like evaluation of systems or visualization of the case base.

Users & Apps

COLIBRI has more than 30.000 downloads You can check the download statistics at SourceForce (up to September 2018). This is a non-exhaustive list of systems and users of COLIBRI:

The Kazemi Back System
Universidad Complutense & Institute of Physiotherapy and Sports, Guadalajara, Spain
“The Kazemi Back System (KBS) is a therapy machine that allows the patient to correctly perform manipulation exercises to heal or relieve pain. In this paper we describe and evaluate a CBR approach to suggest an stream of configuration values for the KBS machine based on previous sessions from the same patient or other similar patients (…) that has been implemented using the jCOLIBRI software.”
https://doi.org/10.1007/978-3-319-61030-6_20

Glaucus: CBR system for fishing industry
Sintef Fisheries and Aquaculture, Norwary & Norwegian Universtiy of Science and Technology.
“Glaucus is a case-based reasoning (CBR) system which aims to help fish farmers with their decision making during sorting operations at their aquaculture sites. System also provides data required for proper fish disease diagnosis and treatment. Glaucus is built in Java and uses the jColibri development framework for CBR. It retrieves cases based on similarity function from myCBR and jColibri in addition to custom made ones.”
http://ai.business/2016/05/06/artificial-intelligence-in-agriculture-part-2-how-farming-is-going-automated-with-ai-technologies/
https://brage.bibsys.no/xmlui/bitstream/handle/11250/252764/489216_FULLTEXT01.pdf?sequence=1&isAllowed=y

Using ‘Case based reasoning’ for the solution of water stress problems.
Aquastress (6th European Frame Project)
“…An application of Case Based Reasoning (CBR) for the solution of water stress problems. The (software) application is developed in the framework of Aquastress project that is focused on developing interdisciplinary methodologies and tools, enabling actors to mitigate water stress problems. In Europe, various regions may encounter similar kinds of water stress due to among others comparable physiographic conditions, land use functions and/or socio-economic conditions.”
“The Aquastress CBR software application is developed in cooperation with Good Heavens company and it uses a JColibri CBR Framework provided by Group of AI applications, University of Madrid.”
http://i3s.aquastress.net/
http://i3s.aquastress.net/tools/CBR/Aquastress%20I3S-Case%20Based%20Reasoning%20Users%20Guide.pdf

Ambient-Intelligent Interactive Monitoring System for Energy Use Optimisation in Manufacturing SMEs
AmI-MoSES Project (7th European Frame Project)
“The AmI-MoSES project is about realising an innovative, beyond the state-of-the-art solution for Energy Efficiency optimisation in manufacturing companies. The solution is based on (…) Knowledge Management technologies to realise a decision support system as add-on to the currently used Energy Management Systems.”
“The Knowledge Management Service was realized using free software JColibri. The CBR core service itself is used in the Service platform directly as a part of the problem solving ASCS and indirectly in the EE services for Online Diagnostics, Continuous Improvements and Ramp-up support.”
http://www.ami-moses.eu/

http://www.ami-moses.eu/fileadmin/templates/amimoses/files/ AmI-MoSES_D7.6_EP_Platform_Public_v1.0.pdf

Open Negotiation Environment
One Project (6th European Frame Project)
“The main objective of the ONE project is to enrich Digital Business Ecosystems with an open, decentralised negotiation environment and enabling tools that will allow organisations to create contract agreements for supplying complex, integrated services as a virtual organisation/coalition. (…) Within the ONE framework, one of the core components is the Recommender System (RS). The RS plays a key role in supporting users during negotiation processes with recommendations on how best to conduct a given negotiation. (…) A recommendation function based on the Case-Based Reasoning methodology consists of three different parts: (i) Third-Party Framework. This is the external Case-Based Reasoning system, such as jCOLIBRI. It has its own CBR Models and API. (…)”
http://files.opaals.eu/ONE/Deliverables/D4.3_SoftwareComponents_RecommenderSystem.pdf

Distributed Episodic exploratory Plannig (DEEP)
US Air Force Research Laboratory
“The Distributed Episodic Exploratory Planning (DEEP) project is a mixed-initiative decision support system that utilizes past experiences to suggest courses of action for new situations.”
“DEEP uses jCOLIBRI, an object-oriented framework in Java for building case-based reasoning (CBR) systems.”
http://www.dtic.mil/cgi-bin/GetTRDoc?Location=U2&doc=GetTRDoc.pdf&AD=ADA490293

BULCHINO: an Intelligent Web-based Catalogue for electronic presentation of culture-historical heritage of Bulgaria.
E-Commerce Laboratory (ECL), University of Plovdiv, Bulgaria.

  • CBR-Based Search in BULCHINO Catalogue
    “(…) the Framework jCOLIBRI is adapted and utilized for the configuration of a CBR-based application in the particular domain BULCHINO Catalogue. (…) Since BULCHINO Catalogue is integrated in J2EE environment and has distributed architecture, we think that the framework could be easily adapted for the development of PersonExample Module”

    http://www.iit.bas.bg/staff_en/N_Govedarova/CBR-based_Search_in_BULCHINO_Catalogue.pdf
  • An Ontology Based CBR Architecture for Knowledge Management in BULCHINO Catalogue
    “jCOLIBRI enhances the other CBR shells: CAT-CBR, CBR*Tools, IUCBRF, Orenge in several aspects: availability (open source framework), implementation (the Java implementation is one of our main requirements with respect to the easy integration in the BULCHINO system which is implemented in J2EE environment), GUI (the provided graphical tools facilitate the system design). Another decision criterion for our choice is connected with the fact that jCOLIBRI affords the opportunity to incorporate ontology in the CBR application to use it for case representation and content-based reasoning methods to assess the similarity between them.”

    http://www.iit.bas.bg/staff_en/N_Govedarova/Ontology%20Based%20CBR%20Architecture.pdf

ExpDB – an innovative knowledge management tool
Ropardo S.R.L. (IT solutions)
“ExpDB (a.k.a. Experience DB) is a software system which consists in a database of experiences, different situations in general, that are thought at a higher abstract level, the purpose being to manage diverse knowledge, in a controlled and organized manner.”
“ExpDB uses Case-Based Reasoning (CBR) engine. (…) ExpDB uses as CBR core the jColibri engine.”

Expdb -an innovative knowledge management tool

Case-based Reasoning software framework extension
Ropardo S.R.L. (IT solutions)
“It focuses on the implementation of foundational concepts of CBR within an open source framework -jColibri2– and the innovative work made by Ropardo S.R.L. in international research activity in order to extend the framework.”
http://www.cphpvb.net/wp-content/uploads/2011/0/Proceedings_ICDD2011.pdf

Integrating Context into a Criminal Case-Based Reasoning Model
Federal University of Campina Grande, Brasil
“This paper presents the integration of context with the Case-Based Reasoning (CBR) model oriented toward penal justice. (…) was developed in Java language that interacts with the framework Jcolibri.”
http://ieeexplore.ieee.org/xpls/abs_all.jsp?tp=&arnumber=5430043&tag=1

A Breast Cancer Classifier based on a Combination of Case-Based Reasoning and Ontology Approach
Ain Shams University, Abbassia, Egypt
“We present a benign/malignant breast cancer classification model based on a combination of ontology and case-based reasoning to effectively classify breast cancer tumors as either malignant or benign. This classification system makes use of clinical data. Two CBR object-oriented frameworks based on ontology are used jCOLIBRI and myCBR.”
http://proceedings2010.imcsit.org/pliks/192.pdf

Expert Knowledge Management Based on Ontology in a Digital Library
Seville University, Seville, Spain
“(…) Case-Based Reasoning prototype system based in an ontology for retrieval information of the Digital Library University of Seville (…) A decisive role in it plays the jColibri-based and Protégé components that are the principal elements in the proposed architecture.”
http://institucional.us.es/ustic150/wp-content/uploads/2011/08/Paper_238-definitivo.pdf

MIKONOS: A Middleware-oriented Integrated Architecture for Clinical Knowledge based on Computational Intelligence Techniques
Instituto Tecnológico de Orizaba, Mexico – Universidad Carlos III, Madrid, Spain
“(…) this work presents the use of semantic Web and Case-Based Reasoning techniques used for medical diagnosis and for developing a medical knowledge memory. These processes have been implemented using the JColibri 2.1 framework useful to build CBR systems. (…) We validated our proposal developing a Web-based system to improve the quality of the services that offer the regional hospital of Rio Blanco (HRRB) located in Veracruz, Mexico.”
http://www.itapizaco.edu.mx/~citti2010/paper/48_CITII2010.pdf

Architectures Integrating Case-Based Reasoning and Bayesian Networks for Clinical Decision Support
The Norwegian University of Science and Technology (NTNU), Trondheim, Norway
“Our integrated system is implemented with the software components Smile, jColibri, and MyCBR. The CBR development environment jColibri (from the University of Madrid) integrates the Bayesian network software Smile (from the University of Pittsburgh)”
http://www.idi.ntnu.no/~agnar/publications/iip2010-tore.pdf

Context-Aware Service Discovery Using Case-Based Reasoning Methods
German Research Center for Artificial Intelligence DFKI GmbH, Germany
“The presented prototype was implemented for Ricoh & Sun Developer Challenge. Thus the client software was restricted to Ricoh’s Multi Functional Product as an embedded system. The similarity functions were designed and tested using myCBR, and the service recommender application is based on the jCOLIBRI CBR framework.”

http://www.springerlink.com/content/43j4468737043x25/

Agents, Case-Based Reasoning and their relation to the Mexican Software Process Model (MoProSoft)
UNAM Mexico, UAM-A Mexico
“The MoProSoft Integral Tool, or HIM for its name in Spanish, is a Web-designed system to support monitoring the MoProSoft, a software process model defined as part of a strategy to encourage the software industry in Mexico. (…) The task was performed by using JColibri framework. The use and application of JColibri lies outside this work’s scope, however, it is important to say that, as a result, a Java code template was obtained and it could be adapted to HIM-assistant through the seekingAgent. The generated Java code included a temporal user graphic interface for the application, which was used to perform several tests to the cases library and to observe how the system works as well as the reliability of the answers.”
http://www.computer.org/portal/web/csdl/doi/10.1109/COMPSAC.2007.54

A Case Based Reasoning Framework for Service Selection and Adaptation in Mobile Networks
University of Athens – University of the Aegean, Greece
“Service selection and adaptation is of paramount importance in contemporary mobile networks. (…) A Case Based Reasoning System (CBRS) is used to select the most appropriate service. (…) We used the JColibri in order to build the CBR component of our framework. (…) The provided similarity functions, along with the capability to construct new similarity functions such as K-Nearest Neighbour, were used to implement and test the functionality of our framework.”
http://cgi.di.uoa.gr/~bbaous/docs/Baousis_PERADA.pdf

Autosys: Performance driven automatic system configuration tool
Georgia Tech University, USA
“(…) we have developed a tool to use empirical data and case base reasoning approaches to find the system configuration to meet certain SLA and for a given configuration to find the availability of the bottlenecks and location of the bottlenecks. (…) We create standalone version of AutoSys with the basic CBR cycle by using the jCOLIBRI framework”
http://www.cc.gatech.edu/grads/i/ijayasin/resources/autosys.pdf

CBR Based Problem Diagnostics Application as a Decision Support System in the Cultural Heritage Objects Restoration
ATB – Institute for applied Systems Technology Bremen GmbH, Germany
“A CBR-based problem diagnostics application, proposed here, is intended to support Construction Industry workers on the restoration site in problem solving in the specific area of the built stock restoration in a fashion resembling the experienced workers’ approach. (…) The CBR framework used is jColibri.”
http://www.wseas.us/e-library/conferences/2011/Corfu/SYSTEMS/SYSTEMS-19.pdf

Case-Based Reasoning (CBR) to Estimate the Q-factor in Optical Networks: an Initial Approach
University of Valladolid (UVa), Valladolid, Spain
“We have developed a CBR method to estimate the Q-factor in optical links with cascades of amplifiers. (…) It has been implemented in Java with the help of the jCOLIBRI 2.1 case-based reasoning framework”
http://www.ict-chron.eu/RecursosCompartidos/DocumentosAdjuntos/47116045.pdf

Extending the JColibri Open Source Architecture for Managing High-Dimensional Data and Large Case Bases
Universitá del Piemonte Orientale, Alessandria, Italy
“The JColibri platform [26], realized and maintained by the University of Madrid, is one of the most well known among such tools. In this work, we describe a couple of extensions we have provided to the core JColibri open source software. In particular, our extensions are meant to optimize case retrieval performances, in data-rich applications.”
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5364971&tag=1

Game AI for a Turn-based Strategy Game with Plan Adaptation and Ontology-based Retrieval
Unversidad Complutense, Spain – Lehigh University, USA
“The proposed architecture combines several components: a case-based hierarchical planner (Repair-SHOP), a bridge to connect and reason with Ontologies formalized in Description Logics (DLs) based languages (OntoBridge), a DLs reasoner (Pellet) and a framework to develop Case-Based Reasoning (CBR) systems (jCOLIBRI ).”
http://www.lehigh-research.org/abstracts/2007/game-ai-for-a-turn-based-strategy-game-with-plan-adaptation-and-ontology-based-retrieval/

Case-based reasoning as support technique in the diagnosis of Acute Bacterial Meningitis
Universidad Catolica del Uruguay
“This work presents a research about the applicability of Case Based Reasoning to Clinical Decision Support Systems (CDSS), particularly applied to the diagnosis of the disease known as Acute Bacterial Meningitis. (…) The ABMCBDS was developed using the JColibri 2.1 framework (Recio García, Diaz Agudo, & González Calero, 2008) following previously mentioned four R cyclic process consisting, i.e., (i) Recovery of the most similar cases, (ii) Reutilization of such cases, (iii) a Revision of the proposed solution and, (iv) the Retention of the new solution.”
http://www.sciencedirect.com/science/article/pii/S0957417411002612
http://www.springerlink.com/content/w7612267346466g5/

People in Colibri

Juan A. Recio García
Juan A. Recio García
Belén Díaz Agudo
Belén Díaz Agudo
Pedro Antonio González Calero
Pedro Antonio González Calero
Guillermo Jiménez Díaz
Guillermo Jiménez Díaz
Jose Luis Jorro-Aragoneses
Jose Luis Jorro-Aragoneses
Marta Caro-Martínez
Marta Caro-Martínez

Colibri Publications