Troeps knowledge servers: technical aspects

The similarity between Web pages and objects is quite obvious and the mapping from one to another is straightforward. The WWW mode of browsing is thus a natural interface to object systems.

Knowledge bases can be used as Web servers whose skeleton is the structure of formal knowledge (mainly in the object-based formalism) and whose flesh consists of pieces of texts and images tied to the objects. Turning a knowledge base system into a Web server is easily achieved by connecting it to a port and transforming each object reference into an URL. If the knowledge base is already documented by Web pages, the latter remain linked to or integrated into the pages corresponding to these objects.

Tree display and manipulation

The missing items of classical knowledge base browsers are the graph display of hierarchical data (e.g. class trees or graphs). An extension of Thomas Koch's TreeTool written in Java is used in order to display our own class hierarchies. More development on colour and behaviour of the nodes is required.

On the fly page generation

Troeps knowledge servers use the CGI (Common Gateway interface) technology in order to get queries from httpd. For the technics, the whole system is made of two processes:
Troeps knowledge server architecture

The reason for this architecture is that Talk executables are too fat and require too much time to start and load knowledge bases. So they are started at boot-time, with loaded knowledge bases and requested by the CGI script launched at query time.

Another good advantage found afterward is that the Troeps servers does not have to be launched on the same location as the HTTP server. The CGI script just has to be recompiled in order to change the machine and port to which it will communicate (and this remaining hidden from the external users). This is a great advantage over the W3 API approach since it is not necessary to launch HTTP servers on many computers.

Getting sources

It is possible to get the source code at The code can be used to build your own server (if you can compile it with talk) or as an example to build a similar server.

Made by Jerome . Euzenat À inria . fr on 04/05/96
Maintained by Jérôme Euzenat; Back to Home page Modified on 17/12/2021