Istar Knowledge Server Logo

ISTAR KNOWLEDGE SERVER

Istar now has the capacity to act as a knowledge server. That is, a distant client can link to it via the internet and run a knowledge base. This chapter explains the structure and workings of the server module of Istar. If you want to find out how to get an Istar knowledge server up and running, or how to prepare a KB for use on a knowledge server, then go to the page on Knowledge Server Management. For more general information about Istar, go to the main Istar Docs Home Page.

If you want to try it, in the role of a user of an existing KB, then go to the Server User Page where you will find a link to connect to the knowledge server.

How it Works

Istar, when server mode is switched on, activates its server module. This is a special interface module that listens on a TCP/IP port for messages from browsers across the Internet. First the browser will connect to the Istar knowledge server and, in normal working, will receive a Welcome Page, which lists the knowledge bases (KBs) you may select to run.

      YOU AND YOUR BROWSER                     ISTAR
           (CLIENT)                      (KNOWLEDGE SERVER)

      Connecting Hyperlink ------------> (start message)
      Welcome Page         <------------ List the KBs available

When you click one of these, a starting message is sent, which indicates which KB you wish to run. Istar loads this KB and then presents in introduction page.

      Select KB            ------------> (start KB message)
      KB Intro Page        <------------ Load KB and register client

When you click the 'start inference' link, Istar starts an inference session for you, in which it repeatedly searches its KB (inference net) for an input node (question) that is not yet answered. (It does this by graph searching known as backward chaining, from one of the goal nodes on its goal list.) It will find the first of these and present it to you as the first question:

      'Begin'              ------------> (start inference message)
      1st Question Page    <------------ Seek first Question

Together, you and the Istar inference engine operate in cycles in which:

      Answer Qn            ------------> (Qn Answer message)
                                         Receive and parse answer
                                         Propagate it through infce net
      Next Question Page   <------------ Seek next question
      Answer Qn            ------------> (Qn Answer message)
                                         Receive and parse answer
                                         Propagate it through infce net
      Next Question Page   <------------ Seek next question
      Answer Qn            ------------> (Qn Answer message)
                                         Receive and parse answer
                                         Propagate it through infce net
      Next Question Page   <------------ Seek next question
      .. and so on

When all questions have been answered, Istar presents you with a 'What Now' page, at which you can look at results of two kinds, resume, restart or stop.

      Answer Qn            ------------> (Qn Answer message)
                                         Receive and parse answer
                                         Propagate it through infce net
                                         Seek next question
      What-Now Page        <------------ Finds none: End of Session
      Ask for Results }
      Restart         }    ------------> (request)
      Stop            }                  Act on request
      etc.            }

The seeking of questions to ask is via a Goal List, which is a list of one or more nodes of the KB whose value must be calculated. The whole session finished when all goals in the list are found to have been answered.

The results offered in the present version is either a list of final values for goals, or a document made up from these. At present most KBs offered do not produce a document; only the contract one does. Either result may, of course, be saved, and then loaded into your word processor for further modification.

Installation of the Knowledge Server

For details of installation, please go to the Server Management Page.

Internal Workings

(Section to be written.)

Data Structures

Two structures work together in an inference server: Each structure points to the other (by svClient.aSI and esSessionInfo.aQnChannel) so that each has exactly one of the other to link to, and each can be found unambiguously from the other.
Copyright (c) Andrew Basden 1999.

Last updated: 11 September 1999 integrated with other docs and pages.