Page not yet finished, but most info present. Please note: The panel images are in Amiga .iff format. PC-users can view these with ?MSWord if you download them.
Here we describe some of the panels you will encounter in using Istar.
Those not described here should be fairly obvious once you know these.
NOTE: If you want, you can get an IFF file dump of each panel by activating its window, placing cursor over its background and pressing RAmiga-RShift-W. The result is stored in ram: disk as [hex.addr].iff.
The control screen usually resides along the bottom and can be moved manually using the two-pixel strips along its top. Then there is a thin backdrop window that shows the meanings of items. Important on this window is the gadget at the left hand end with two arrows. This moves the control screen up and down quickly.
This small panel resides top left corner of the control screen. It has one column of buttons that are relevant to the program itself, even when there is no KB - things like 'About' and 'Quit'. The 'Errors' button allows you to explore the various levels of any error that occurs, though it is perhaps of more use to technical users.
The 'Prefs' button takes you to the Preferences Panel.
But, to get going, use 'New' or 'Get KB', which will, respectively, create a new KB for you or load an existing one. When a KB is successfully loaded the main easel will appear and on the control screen a KB panel will appear. You can load or create any number of KBs (depending on memory), each with a drawing easel and each with its own KB panel.
(In version 1.01 you could only have a single KB at a time and there was no KB panel. Instead, the main control panel held three columns of buttons and there were separate panels to select item type, relationship type and to show the goal list.)
The 'Prefs' button brings up a Preferences panel.
This panel is being developed. You should normally only alter it right at the start of the program at present, as some of its facilities have little or no effect after a KB has arisen. Try things and see: if it works, fine, if not, remember to set it at start next time.
Its main purpose is to set a few parameters relating to new knowledge bases (standard values in brackets):
Dimensions are measured in 1/256 of inch (approx. tenth of a millimetre).
It also allows you to set the amount by which all main Easels scroll and to select fonts for:
Note that changes to the main easel font are only effective next easel you bring up.
First column are to do with current KB:
Second column are to do with the knowledge in the current KB:
Over the right hand half are two lists that are standard panel lists. Above, is the Item Types list. This is perhaps the most frequently used, as you change item type. Adjoining it are buttons to create a new item type, see and edit an existing type, and get rid of an item type (dangerous, since you lose all items of that type; try it on a dummy KB you have created for the purpose!).
Below right is the Relationship Types list, with buttons to create a new relationship type or edit an existing one. You will seldom use this list, except when you are making up specific relationships.
Program-wise, the KB Panel is controlled internally by a yyModuleKBData (where yy is the signature of the module that is the program, e.g. 'kt' for Istar or 'nn' for Annotator) structure which holds all information that pertains to the access to this particular knowledge base by this particular running of this program (or, strictly, module). Normally it would hold the addresses of gadgets for the KB Panel. In this way we obtain an easy way for any program to have any number of KBs active at any time, each having different current item types etc.
Second column of KB Panel, in the middle, there is a three-part gadget
which has the name of the current goal list in its middle. Left wee button
allows you to select a new goal list from among the lists currently in the
KB. Right wee 'S' button will bring up the goal lists's Item Details Panel
so you can peruse and, if needed, reorder, the goals in the list. Hitting
the ResetGoals and InferGoals buttons operate of the current goal list.
Creating a New Item Type
To create a new item type the main thing is to give it a name, and then
some other information depending on what you want it for. On the KB Panel, hit the 'New' button adjoining the item types
list. This creates a new item type with null name (a dash) and presents
you with the Item Type Panel for this, where you fill in
At any time you can create one by hitting the 'Att Types' button in the second column of the KB Panel. This brings up a panel of currently available domains. Hit the adjoining 'New' button, and up comes the New Domain Panel.
Or you can create one while in the process of adding an attribute to an item or an item type - which is convenient since it is often at that point that you realise the domain you need is not available. To start this, you hit the 'New' button adjoining a list of attributes, and this brings up the New Item Attribute Panel from which you can access the New Domain Panel.
Hit the 'KB Area' button on KB panel, and up comes the 'Knowledge Base Area' (KBA) panel, which tells you various details about the KB itself. The most useful things are:
This panel, as yet poorly designed, allows you to do three things at present:
(Because this is complex panel, you might find it useful to bring up its imagemap which explains each of its gadgets individually.)
The Attribute Details panel for an attribute gives lots of information about it. The main way to bring it up is to click with RMB on an attribute box, but it will also come up if you hit the 'See' button of any panel list that shows attributes. The panel is multi-threading so that you can have any number of them up at once and can continue to operate the main easel and other panels the while.
For details of this panel, see p.adp.html, which shows an example as an imagemap to all its parts. The information it contains includes:
(This is available only from Version 1.0872. Before that, some user texts are set up on the Attribute Details Panel).
The User Texts Panel allows you to set up texts that the user will experience when running the KB. There are a number of texts, with various purposes, and a means of moving and swapping texts around. The texts that can be set from the panel include:
The Attribute Action Panel is a small panel with various buttons allowing you to take action on the attribute. It is intended for use by the knowledge engineer. The panel is small so you can have several in view, for several attributes in which you have an interest. The buttons include (different panel for before version 1.1):
Prior to version 1.1, this panel had different buttons on the left hand side. Its 'Infer' button did NOT do a reset; you had to hit the 'Reset' button first in most cases.
The item details panel can be accessed by clicking the 'See' button on the attribute details panel attached to the item name. It will also appear if you click on an item box on the easel, such as a form.
Most of it is straightforward, such as label/name and meaning.
There is a list of attributes it contains at the bottom. With this you can select an attribute and bring up its panel with 'See', create new attributes by hitting 'New' (at which point the New Attribute Panel comes up, and you can delete attributes from an item. Note that you can add an attribute to an item without adding it to the item type. You can also rearrange the attributes in the item using the '1' and 'n' buttons, in which case you will find that on the easel they are also rearranged.
On the left and right half way down are two lists of other things the item relates to (all types of relationship). These are standard list boxes so that you can go to the thing, rearrange things, etc.
You can attach an item to topics as by hitting the 'topics' button.
There might be other things, such as form text.
This panel adds a new attribute to an item, item type, relationship, or relationship type. Follow the instruction 1,2,3. Select a domain (attribute type), give it a name, and a meaning. If the domain does not exist, hit the 'New Domain' button and up comes the New Domain Panel so you can create one.
The relationship details panel comes up if you click on a link on the main easel or if you click the wee 'R' button in a list box on a panel. It gives details about the relationship, including antecedent and consequent.
The main things of interest are the unary operator, and the weight. The use of these is explained in the Using Istar document. Note that if you change the type, unary operator or weight then the visual appearance of the easelpiece of the relationship can change. For inference relationships the colour can switch between the main and the negative pen colours, depending on whether the uop or weight invert the effects of the antecedent.
The Explain button brings up an explanation of what would happen when inference is performed with this relationship.
This panel is a convenience to the knowledge engineer. It allows you to set the weights of all the inference antecedents (or consequents) of an attribute. In the ICT project we found setting the bayesian weights a cumbersome operation, especially when we wanted to set the weight of one antecedent relevant to others. This panel allows you to do this; it is accessible by hitting the 'Wts' buttons on the Attribute Details Panel beside the lists of antecedents or consequents (available from version 1.1 onwards). (Actually, not always all the weights: only as many as will fit on the panel; in the rare cases you have more, you will have to set the further ones separately - or else move the further ones up the list, use this panel, and then move them back again.)
This panel had a bug in version 1.1.
The Item Type Panel shows details of an item type. Normally you will see it when you create a new item type but sometimes you may wish to alter details of an existing one. When creating a new item type:
(The new type is automatically selected for drawing.)
Now you're done, draw two items of this new type on the easel. Draw a link from the right hand edge of the left one to the other. It should draw a Precedence (or your chosen) relationship; you can check this by bringing up the Relationship Instance Details panel for the relationship.
Note that we did not set the 'Left' relationship type. We could do so. But when it is 'None' then the type drawn will be that shown selected in the Relationship Types List on the KB panel.
# Click the 'OK' button.
You can also create a free attribute item type via the Attribute Type Panel.
This panel is a standard panel list. It shows the currently available domains (attribute types) plus a few other buttons:
This panel shows the details of an attribute type (domain), including standard things like its name, meaning, value type, and visual appearance. In addition it has a list of Value Names, especially for use in enumerated and ordinal types, and a button that creates a free attribute item type for it.
This panel allows you to create a new domain (attribute type). You will probably use it most to create enumerated and ordinal types. It is fairly simple process, in which the steps are numbered for you, 1,2,3:
This panel allows you to define or change the details for the relationship type, including its name, its usage syntax and semantics, and the visual appearance of the lines that express its instances on the main easel.
Note that, though now selected in the Relationship Types list in the KB Panel, the next relationship you draw might not be of this type, since the selected item type might have a standard relationship type.
Note that if you alter the visual appearance, existing instances of this type will not be altered in visual appearance. But new instances will take on the new appearance. Also, when you bring up a Relationship Details panel and click 'OK' the visual appearance will change.
BEWARE: Do not change parameters of the standard relationship types (though you may change their visual appearance to suit your tastes). In particular, if you make 'Inference' to be not a DAG you will be allowed to create an infinite loop in the KB.
The Topics panel is brought up for an item, attribute or relationship and shows one or more banks of checkboxes, each with the name of a topic. You can link your thing to any of the topics shown by ticking the appropriate boxes. You can set up new topics by bringing up the Topics Panel, described next.
The above example shows two different uses of topics:
This panel, brought up when you hit the 'Topics' button on KB Panel, allows you to:
The Lists Panel is used to form lists of things, rather like performing a database 'select' or 'join' from the KB. The lists themselves can then be used to create other lists from. It requires a two-step operation which is shown on the panel as two long cycle buttons, the width of the panel, and various detail gadgets below them:
You might notice that these operations are similar to various relational database operations. The source is the equivalent of a relational table, but is more sophisticated, especially being able to source from the whole DAG fans of things in a given list. To achieve each of the RDB operations do the following:
SELECT: Switch second bar to select, and switch at least one of the 'Ignore this' conditions to 'Those that'. However, at present you cannot select on attribute value.
PROJECT: Cannot be done because it doesn't make sense. The output is a list of things, not a table of values, and you get all attributes and properties of whatever is in your output list. Moreover, the output list can be a mix of things (items, atts, rels).
JOIN: Switch source bar to 'From all things directly related to member of given list ..'. Choose a source list and a relationship to traverse. Second bar: 'Take all regardless' is a pure join; but you can also select as part of the operation by switching to the select or exclude options.
INTERSECTION: Switch source bar to 'From members of given list ..'. Choose a source list. Switch second bar to select as above.
MINUS: Switch source bar to 'From members of given list ..'. Choose a source list. Switch second bar to exclude as above.
UNION: Cannot be done at present.
TIMES: Not sure that can be done at present.
This panel allows you to find an attribute, item, etc. either by portion of name or if you have its DSAP. On KB Panel, click the 'Find' button. This brings up the Find panel (which in the current version is rather sparse and empty). It allows you to find attributes, attribute types, items, item types, relationships, relationship types by sub-strings their names contain.
# Enter the sub-string in the long string gadget at the top.
# Then click either Item, Att or Rel, depending on what you want to find. It then brings up a panel for the thing found, if any: an attribute action panel, an item details panel or a relationship instance panel.
# Note that it will search the types before the instances.
# If it's not the one you want, send that panel away (Cancel or Done) and click Continue. It will continue the search from where it left off.
# You can watch the number.
# If you want to find the total number of items, attributes or relationships, clear the string gadget and hit the appropriate button. The number then shows you the total number, including the number of types.
# (Note that in current version, Rel does not work.)
This panel allows you create documents from a goal list (if the goal list contains attributes of text fragments). Follow the steps, 1,2,3, and then export the document if you wish. ('txt' export not available at present.) You can export after step 2 if you wish.
This panel, presented during the inference process, asks for the value of one attribute. It has:
Here are two more examples, of different value types: boolean and enumerated type. Note the rather tiny check box on the boolean; must make it look better!
It can be cumbersome to the user to be asked six questions one by one, especially when they all concern one entity, such as name, address, age, gender of a patient. Such attributes can be linked to a Form, so that if any one of them is needed then a Form panel is presented which requests them all.
At present, the Form facility is simple, and has the following characteristics:
Here is a form with bayesians, showing its use for another purpose, that of setting priorities among options:
This panel comes up when you hit a Help button on either a question or form panel. There can be up to eight help texts, a main one and those numbered 1..7. If the latter are available then a number appears in their box. Hit any of the boxes to bring up the appropriate help text. (If a particular help text is not available, then the Meaning text or label will come up instead.) Hit 'Noted' when you have finished. The help texts are set up in the User Texts Panel.