ISTAR - KBTOOLS

(Istar is the new name for what used to be called KBTools.  KBTools was 
considered a rather boring name, so we have substituted one that is rather 
corny, and perhaps cheeky, if you are a Tolkien addict.)


WHAT IS IT?

A package for building knowledge based systems and then running them.  It 
is of the inference net kind, with both backward and forward chaining.  It 
is similar to the rule based kind but more flexible.

      KBSs make inferences from input information.  Usually running them
involves asking the user a sequence of questions until enough information 
is gathered to come up with an answer.  Microsoft Wizards are a simple 
version of this.

      This version is a 'draft', letting you get the feel of it.  Other
things will be added in future to make it more usable.


HOW TO USE IT

There are two levels at which to learn to use Istar: 'driving' the features 
of the software and using it to do something be useful to you.  These are 
explained in the files in Docs drawer:

      Driving Istar
      Using Istar

Read them when you are ready to start.  In addition the following files 
give more detailed information:

      KBs
      Panels
      History
      Inference
      Value Types
      Limitations and Bugs.

There is still much documentation to be written, and not all the facilities 
of Istar are explained in the above files.  But Istar should be reasonably 
robust, so you can experiment.


WHY ISTAR: WHAT'S SPECIAL ABOUT IT?

#  Graphical input.  Most KBS software require you to express your rules or 
inferences using text such as:

      IF ?requested_class = PENICILLINS
      AND Patients_age >= 0.8*Allowable_age
      THEN Patient's age is acceptable for the new drug.

which is sensitive to syntax errors.  But with Istar you express your 
inference graphically, as boxes and arrows.  To build your KB you draw 
boxes and link them with arrows.  Then, at your convenience, fill in the 
detail.  (Some KBS software such as NExpert can display a box and arrows 
diagram that has been entered textually, but with Istar the main extry 
medium is drawing.)

#  Smooth user interface.  Most software that allows you to draw box and 
arrows diagrams is clumsy.  For instance, to link two boxes:

      Click on Box1.
      Mouse up to Toolbar or Menu
      Select 'Link boxes'
      Click on Box2.
      (Draws straight line between them that crosses others)
      Mouse up to Toolbar or Menu
      Select 'Bend link'
      Click on position of bend
      etc.

In Istar you start drawing from edge of Box1, hitting space wherever you 
want bends and releasing over Box2.  No menues or toolbars in sight.  The 
difference is even more marked when you want to redirect a link from one 
box to another.

#  Easy exploration of KB.  Find by Name.  Also show a box with all its 
antecedents, all attached, etc.  So you can find out what input information 
is will have an effect on a given item.

#  For knowledge generation.  This means the user interface actions do not 
interrupt your flow of thinking as you express your knowledge.  Just as "an 
architect thinks with his pencil" so you can "think with the mouse".

#  Range of types.  Normally you are offered integer, float, string and 
perhaps dates.  With Istar you get other types too: probabilities, 
bayesians, proportions, ratios, odds, directions, and several others.  In 
Istar we attach the semantics to each type (e.g. in ratios and odds, the 
greatest common divisors are automatically cancelled out).  Others to be 
added soon, such as IFF bitmap, anim, sound sample.

#  Range of useful inference methods.  Not just add, subtract, multiply, 
divide, AND, OR, but also things like Chhoser, First-Known, First-OK, 
Number of Answered, Concatentation, Is-In, etc.

#  Kernel written in assembler, for speed and robustness.


WHAT IS INFERENCE?

Inference is working out the value of an attribute from the values of other 
attributes.

WHAT IS BACKWARD CHAINING?

Backward chaining is the searching backwards (from right to left on most 
box and arrows diagrams of inference nets) to find the next relevant 
question to ask.

WHAT IS FORWARD CHAINING?

Forward chaining is the propagation (from left to right) of new 
information.  Like recalculation in a spreadsheet.

WHAT'S PLANNED?

The current version of Istar is only a 'draft'.  It is being presented to 
let you get the feel of it.  But in future you will have scripts, demons, 
ARexx, PostScript output, dumping of the KB to PROLOG, etc.


Copyright (c) Andrew Basden, 1996
