Several software packages (some of which are available from here) have been developped by the Sherpa project as an outcome of research results. These software have been used in numerous applications. This page covers:


Shirka is an object-based knowledge base management system. In Shirka, knowledge is described by objects. Two kinds of objects are distinguished: classes (generic descriptions) and instances (existing individuals, belonging to a class). A class is defined by a set of slots, each slot corresponding to one characteristic of the described object. Each slot is in turn defined by a set of facets allowing to constrain the slot value or to introduce inference mechanisms for determining missing values.

The classes are organized in specialization hierarchies distinguishing more and more specific kinds of objects. Via inheritance a class in the hierarchy transmits the knowledge and constraints defined for its slots to all its sub-classes. This knowledge may be further refined in the sub-classes, but not contradicted.

Using Shirka first requires the definition of classes and then the creation of instances for these classes which may be incomplete in the sense that certain slot values might be missing. Two kinds of actions are then possible. On one hand missing slot values might be requested. Shirka then tries to infer these values using the knowledge introduced with the class definition. On the other hand, the class(es) an instance might or might not be attached to, can be identified via a classification mechanism.

In general, the knowledge relevant within an application cannot be completely formalized. Therefore Shirka allows to integrate also free text into a knowledge base. This text is structured in a hypertext network, interconnected with the formalized object definitions. For instance, all names used for class or slot definitions in the base are indexed.

Shirka is available at shirka.tar.gz (544 Ko) and its documentation (in french) can be found at manuel-shirka.tar.gz.

Relevant publications include: [Rechenmann 85] (in french) and [Rechenmann& 89b].


SaMaRis is a reasoning maintenance system which accepts various types of "truth-values" (boolean and fuzzy values, ATMS environments, temporal periods, etc.). It includes an application programming interface and a graphic interface enabling the interactive manipulation of the reasoning (represented as a graph).

SaMaRis is not available anymore.

Relevant publications (in french) are [ Euzenat 91a] and [ Euzenat& 91b].


In complex domains such as scientific computing, users need support in choosing, chaining and executing adequate programs for problem solving. Knowledge based problem solving environments are developed in order to solve automatically routine problems, decomposing them recursively in more and more elementary sub-problems, and finally executing the corresponding programs.

But, sometimes, the problem solving process cannot be completely automated: the user has to intervene to provide parameter values, or to make strategic decisions for example. Scarp, developed in cooperation with Cap Gemini Innovation and funded by the French Ministry of Research and Technology, is a generic problem solving environment, able to manage this kind of user intervention into an automatic problem solving process.

Furthermore, Scarp provides additional cooperation facilities for interactive problem solving. In fact, a knowledge base is never exhaustive and, in consequence, a user can have more advanced knowledge than the knowledge based system. Scarp therefore allows the user to supervise and to modify the whole problem solving process and all the decisions made during this process. This creates different versions of the problem solving process which are managed by the system and always accessible for the user.

Scarp is available at scarp_v2_23.tar.gz and its documentation (in french) is at: docs.tar.

Relevant publications includes: [ Willamowski 94b] (in french) and [ Willamowski& 94].


Troeps is an object-based knowledge representation system which can be considered as the successor of Shirka. It shares with it its main features but adds to them the possibility of having several taxonomies over the same set of objects, extendibility through abstract data types and constraint satisfaction.

In this current release, Troeps 1.2, does not implement constraint satisfaction. All other features are here and ready (more details in the French page)..

Troeps has been developped in Ilog Talk and is loadable as a C library.

Troeps is available through It occupies ?Mo (uncompressed, 20 to 40Mo for each port) and 14Mo compressed. Its documentation is in

Some demonstrations and on-line documentation are also accessible through

Relevant publications are: [Mariño 93] (in french) and [Mariño& 90] (not very close to the implemented software but the principles are presented there).

Co4 protocol

The Co4 protocol is implemented in C as a library. It also features a HTTP interface allowing a direct manipulation of protocol elements (e.g. submissions, votes). It can be connected to various kind of applications (it has already been lionked to Troeps) in order to directly submit knowledge in the repositories.
This implementation takes advantage of the KQML interaction language between distributed knowledge bases. It uses an extension of the KAPI 2.6e package developped by Lockheed-Martin. KAPI extensions concern offline message reception (mailboxes) which have been initialy developped in collaboration with Alejandro Quintero (universidad de los Andes, Bogota, CO).

Current release is 1.0,

The Co4 protocol has been developped in C and is delivered as a library.

The Co4 protocol available through It occupies 15Mo (uncompressed) and 2Mo compressed. Its documentation is in

The Co4 dedicated Web site is

Relevant publications are: [Euzenat 95a] and [Euzenat 97a].


Updated on 15/12/2021