home *** CD-ROM | disk | FTP | other *** search
- VARIOUS PANELS OF ISTAR
-
- 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.
-
-
- THE SCREENS
-
- Istar uses two screens, separate from Workbench. The Control Screen comes
- up first, with a grey background. It is used for the panels. The main
- Easel comes up when you have a knowledge base ready. Its size can changed
- with the Prefs button on Initial Control Panel.
-
- 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.
-
-
- THE INITIAL CONTROL PANEL
-
- This resides top left corner of the control screen. One column of buttons
- that valid 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.
-
- 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.
-
-
- PREFERENCES
-
- 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):
-
- # Size and name of new KB (50,000 LWs and 30%)
- # Size and depth of its main Easel (30 by 24 inches)
-
- 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:
-
- # Main Easel
- # Question panels
- # Documents (not yet used)
-
- Note that changes to the main easel font are only effective next easel you
- bring up.
-
-
- THE KNOWLEDGE BASE PANEL
-
- The KB panel concerns a whole knowledge base. It comprises two columns of
- buttons at its left and two lists at its right, with a few other buttons.
- The name of the KB is shown in the window title of the panel.
-
- First column are to do with current KB:
-
- # Save
- # Save As
- # KB Dump - to export ASCII translations of the KB
- # Easel - to resize the main Easel etc.
- # KB Area - to see details and rename: KBA Panel
- # Clone KB (not yet working)
- # Rid - to get rid of the KB
-
- Second column are to do with the knowledge in the current KB:
-
- # See Easel - when multi KBs, to bring Easel to front
- # Reset Goals (to prepare the goal list for ...)
- # Infer Goals (to start a run)
- # Goal List (brings up the Goal List panel)
- # Att Types (to create new attribute types)
- # Topics (to manage topics)
- # Find (to search for item etc. by name or sub-string)
-
- Third column is the Item Types list. This is perhaps the most frequently
- used, as you change item type. Below it are buttons to create a new item
- type, edit an existing type, clone an existing type (not yet implemented)
- 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!).
-
- Fourth column 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.
-
-
- THE KBA PANEL
-
- Hit the 'KB Area' button on KB panel, and up comes the 'Knowledge Base
- Area' (KBA) panel, which tells you various things about the KB itself. The
- most useful things are:
-
- # Name: You can change the name of your KB, up to 40 chars.
-
- # DSA % Expansion: Make this higher for dynamic KBs; it is the
- amount (as a %) of free space ('virgin glass' if we use the metaphor
- of recycling glass bottles) created in the KB when it is next loaded.
- Standard value is 30%, which gives plenty for the average knowledge
- engineering session. DSA means 'Data Structure Area' - where almost
- everything goes.
-
- # Min DSA: 30% of zero is zero, which is a problem when your KB is
- young. So we also stipulate a minimum size for the DSA. Standard
- value is 50,000 longwords (200,000 bytes).
-
- Altering the last two resizes the KBA when you hit 'OK' (though it doesn't
- work yet in Version 1.03) but you should seldom need to do so. Of minor
- interest are the following:
-
- # KBA at: The address in memory of the start of the KBA. Decimal.
-
- # Actual size: Actual size in memory (bytes).
-
- # Blocks: How many separate blocks in the KB. An Istar free
- attribute typically comprises around 10 blocks.
-
- # Bottles and Glass: This shows how much 'free space' or 'glass'
- there is to be recycled. Bottles shows how many separate pieces,
- Glass the total amount (in bytes). Usually only of minor interest,
- except when the KB gets fragmented.
-
- Other, less useful things are:
-
- # Version: Ignore this. At present always 0. It is the version of
- software, NOT of the knowledge you have put there.
-
- # Max Ring Length: Occasionally this is used to check against
- infinite loops, but not always. Usually ignore it at 9999.
-
- # Tasks: How many Amiga tasks are currently sharing this. Always 1
- at present (the current task).
-
-
- THE ATTRIBUTE DETAILS PANEL
-
- Bring up the Attribute Details panel for a given attribute (step 8 in
- <Driving Istar>). Lots of information, some of which you can change.
-
- Exit Buttons:
- When you hit OK (or OK-Act) the changes made will be stored with the
- Attribute.
- If you hit Cancel, they will not be made - with the exception of those
- lists underneath the exit buttons.
- Show: Helps you find the attribure box on the Easel. Hitting this button
- will bring back the Easel but with only this attribute and those connected
- to it showing.
-
- Top row: Name and Meaning, as discussed above. Also a wee OK button for
- convenience.
-
- Next row: To do with Attribute Value
- 1. Attribute Type. Hit the wee button to change it.
- 2. Value. Gadget type depends on type, e.g. sliders for proportions.
- There might be more than one gadget; e.g. Ratio is two integers, Bayesian
- is four sliders.
-
- Next row: More about values
- 1. Show Value: CheckBox you can tick if you want value to be shown on
- main easel. At present only works for booleans, bayesians, probabilities,
- proportions.
- 2. Inf: CheckBox Ticked if value is infinite (eg. from divide by 0)
- 3. Unk: Ticked if unknown. Attributes can have a value of 'unknown'
- (which is different from 'not answered' below). This would be for instance
- when you ask the new Employee their age and they say 'I don't know'.
- 4. MBK: Means 'Must be Known'. Tick this and 'Unk' is not allowed. (In
- this version has no effect.)
-
-
- DERIVATION
-
- The attribute's value must be derived (obtained) from somewhere or somehow.
- Istar offers three methods:
-
- Left hand side Three Radio Buttons: Derivation: Shows how Value of
- attribute is derived when the KB is run (as in step 10 in <Driving>):
- 1. Constant. You then alter the Value gadget(s) in row 2.
- 2. Infer. Then the Inference Method comes into play. See above for how
- to change it. See below for Antecedents.
- 3. User Supplied. This means that to obtain the value we ask the user a
- question when the KB is run. (If Infer is selected but there are no
- attributes then it is treated as User Supplied.)
-
-
- INFERRED ATTRIBUTES
-
- The inference method is shown in the gadget to the right of the Infer Radio
- Button, and changed by hitting the wee button attached. The inference
- method list thus presented depends on the Attribute Type. For instance
- Integer attributes can have all the normal arithmetic plus more. See below
- for list of inference methods.
-
- Bottom Left of panel: Antecedents.
- Here is a list of the antecedents, in their order. So if we have
- subtraction inference method then the value of this attribute will be the
- value of the first, minus the values of all the others. Sometimes the
- order matters, sometimes not.
- 'To 1': You can change the order by selecting an antecedent and hitting
- 'To 1', which moves it to first in list. Note that this change is NOT
- undone if you then hit Cancel.
- 'See': Hitting 'See' button will bring up the attribute panel of the
- selected antecedent.
-
- Bottom Right of panel: Consequents
- As with antecedents. But changing the order with the 'To 1' button is
- unlikely to make much difference in practice except perhaps some change of
- speed.
-
- USER SUPPLIED ATTRIBUTES
-
- Long String Gadget 'Q': To right of 'User Supplied' button. If you fill
- this in then this is the text that will appear in the User Question panel.
- Usually it is in the form of a question, and can be up to 256 characters
- long.
-
- Next Row: To do with explanation facility. When the user is asked for a
- value, they might want an explanation of why the question is being asked,
- or more detail about the question. This text in this string gadget and it
- will be presented to the user when they hit the 'Help' button on the User
- Question Panel.
-
- OVERRIDING
-
- Next Row: Overriding.
- Knowledge Based Systems are often used in decision support. This often
- requires the facility to override an attribute's value temporarily to try
- something out. e.g. "What if we increase the size of this building by 20
- %?" To allow this, each Attribute in Istar in fact has two values, not one
- - a main value and an override. The effect of overriding is that
- inferencing does not proceed through this attribute and it is treated as
- Constant or User Supplied rather than inferred. This could be achieved
- merely by changing the Derivation to Constant and altering the value. But
- the original value is then lost. But with the Istar override facility, the
- original value is retained and can be switched back in when the what-iffing
- is finished.
-
- 1. Left Check Box allows Attribute to be overridden.
- 2. String Gadget to its right is for text to put to user when it is
- overridden; see below.
- 3. Check Box to right shows whether or not it has been overridden. If so,
- then the Value shown is the override value.
-
- STATUS OF ATTRIBUTE
-
- Next Row: Status.
-
- 1. Answered. If ticked then this attribute has been answered. The
- Answered flag is used when running the KB to determine whether or not to
- seek to derive its value. If answered, do not, if not answered, do.
-
- Normally if User Supplied then the user has answered a User Question
- about it. If Inferred, it usually means that all its antecedents have been
- answered. e.g. If X = A + B + C, X is answered only when all of A, B, C
- have been answered. But for some inference methods the attribute can be
- answered before all its antecedents have been. e.g. X = A * B * C if A is
- 0 then we know the value of X immediately.
-
- 2. Visited (DoneWith). This is used during forward chaining (q.v.). It
- means that the value of the attribute has been propagated and so do not
- bother doing so again. Not usually very instructive information.
-
- 3. Error. Not yet fully used. But designed to indicate e.g. trying to
- multiply two strings or other nonsensical things. This information is
- usually only of value when debugging the KB.
-
- OTHER INFO ON ATTRIBUTE
-
- Next row: Other information.
-
- 1. Item to which this attribute belongs.
- 2. 'See' takes you to the Item Details Panel.
- 3. DSAP: Unique internal identifier for the Attribute. ('Data Structure
- Area Pointer').
-
- 4. Topics. Bring up the Topics panel (q.v.).
-
- ANTECEDENTS AND CONSEQUENTS
-
- Bottom of panel, left for antecedents, right for consequents
-
- 1. Related attribute list. Select one and the wee buttons come into play:
- 2. 'A' Action button: Click this to raise the attribute details panel for
- the selected attribute.
- 3. 'R': Click this to raise relationship instance panel for the link.
- 4. 'X': Click this to gain explanation of what happens in the link.
- 5. 'To 1': Click this to make that attribute first in list.
-
-
- THE ITEM DETAILS PANEL
-
- 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 taking up most of the left hand side.
- With this you can select an attribute and bring up its panel with 'See' and
- you can make it the first attribute in the item with 'To 1', though this
- has very little effect in the current version.
-
- You can attach an item to topics as above.
-
- The two buttons concerned with importing and displaying text are not
- effective in this version.
-
-
- THE RELATIONSHIP INSTANCE DETAILS PANEL
-
- The relationship details panel comes up if you click on a link on the main
- easel or if you click the wee 'R' button at the bottom of the attribute
- detaild 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.
-
- The Explain button brings up an explanation of what would happen when
- inference is performed with this relationship.
-
-
- TO CREATE 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. The basic
- operation is as follows:
-
- # Click 'New' button under Item Type list on the KB panel.
-
- # Enter the name for it.
-
- # Ignore all the checkboxes for now.
-
- # What colours do you want? First Pen gives colour of label, if any.
- Second Pen gives colour of outline box. Pattern gives pattern for outline
- box. Similar to Relationship Type Panel. (This is not available in
- versions earlier than 1.03.)
-
- # Click the 'OK' button.
-
- (The new type is automatically selected for drawing.)
-
-
- ITEMS FOR SEMANTIC NET
-
- In a semantic net (or a mental map) the important thing about items is the
- relationships they have with other items. So it is a good idea to define
- relationship types that will be drawn from the items of this type. So we
- add a couple of extra steps to the above, to define the relationship types
- you want (not available until version 1.03).
-
- # Click 'New' button under Item Type list on the KB panel.
- # Enter the name for it.
- # Ignore all the checkboxes for now.
-
- # There are two type gadgets mid-panel, showing 'None' and labelled 'Left'
- and 'Right'. Click the 'Right' one. Up comes a list of relationship
- types. [Bug in version 1.03: If there is more than one KB active, the
- list will not appear; get rid of all but this KB.] Select one, such as
- 'Precedence' and click the 'OK' button.
-
- # What colours do you want? First Pen gives colour of label, if any.
- Second Pen gives colour of outline box. Pattern gives pattern for outline
- box. Similar to Relationship Type Panel.
-
- # Click the 'OK' button on the Item Types Panel.
-
- # On the Easel, draw two items of this new type. Now draw a link from the
- right hand edge of the left one to the other. It should draw a Precedence
- relationship; you can check this by bringing up the Relationship Instance
- Details panel for the relationship (see above).
-
- 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.
-
-
- ITEMS AS DATABASE RECORDS
-
- The other main use of items is as a database record, a collection of
- attributes. So for this, we take a few extra steps to add attributes.
- (You can create item types with both relationship types and attributes; no
- problem.)
-
- # Click 'New' button under Item Type list on the KB panel.
- # Enter the name for it.
- # Ignore all the checkboxes for now.
-
- # At bottom right is a type gadget which shows attribute type. Click the
- wee button to its left to bring up list of attribute types. Select the
- type required.
-
- # (If not available, click Cancel on the list, keep the Item Type panel
- but send it to back, then create the attribute type you require as
- described below.)
-
- # In string gadget to its left, give it a name.
-
- # IMPORTANT: Now click the rectangular gadget above the attribute type
- gadget to add it to the list of gadgets.
-
- # Repeat the above to add other attributes.
-
- # What colours do you want? First Pen gives colour of label, if any.
- Second Pen gives colour of outline box. Pattern gives pattern for outline
- box. Similar to Relationship Type Panel. (This is not available in
- versions earlier than 1.03.)
-
- # Click the 'OK' button.
-
-
- ITEMS AS FREE ATTRIBUTES
-
- You should seldom have to create your own free attribute types, since these
- are automatically created when you create an attribute type. But if you
- wish to do so, you must create an item with a single attribute and with
- 'Has Own Box' not ticked, so that no box is shown for the item itself.
- (Note that at present it is not possible to suppress the item's box, so you
- cannot strictly create new free attribute types.)
-
-
- TO CREATE A NEW ATTRIBUTE TYPE
-
- # In KB panel click the 'Att Types' button. This brings up a panel for
- attribute types. The left hand list is of currently available attribute
- types. The right hand side is for giving ordinals and enumerated types
- (and other types in future) names for their values.
-
- # Decide on name for attribute type and enter that in the 'N' gadget on
- left hand side.
-
- # If you wish, you can give it a meaning in the 'M' gadget. Maybe to
- explain more about it.
-
- # Now click the wee button at the left of the 'V' type gadget at the
- bottom, to obtain a list of fundamental value types. Select the one you
- want.
-
- # Lastly, click the left 'Add' action button to add it to the list of
- attribute types available.
-
- # If the value type chosen is Enumerated or Ordinal then you will want to
- add names for its values. These have values from 1 upwards.
-
- # In the 'N' string give the name for the first value, such as 'Sunday'.
- Then click the right 'Add' button to add it to the list.
-
- # Then give the name for the second value and click 'Add'. And the third,
- and so on. Until finished.
-
- # When finished, click the 'Done' button, and the attribute type is
- available for use e.g. in creating an item type.
-
-
- CREATING A NEW RELATIONSHIP TYPE
-
- Click the 'New' button beneath the Relationship Types list on the KB panel.
- Up comes a panel that allows you to define the name for the relationship
- type, various parameters of it and visual appearance of the lines that
- express its instances on the main easel.
-
- # Enter a name.
-
- # Is it DAG or not? If DAG (Directed Acyclic Graph) then you cannot form
- cycles with instances of this type of relationship. That is, you cannot
- build a KB with links e.g. from A to B, B to C, C to D, and D back to A
- (though you can have A to B, B to C, C to D and A to D). Many types of
- relationship are DAGs, e.g. most dependencies.
-
- # If it is DAG, does this type of relationship perform inference? Usually
- not.
-
- # The next four check boxes should normally be left ticked for maximum
- flexibility.
-
- # Pens and pattern. The two pens can define the colours in which
- instances of this type of relationship will be drawn for positive and
- negative versions of the relationship. If either is zero then a default
- colour will be used that indicates whether the relationship is a DAG, is
- inference or not. The pattern is 16 pixels repeated along the line.
- Usually used to give visual indication of type of relationship.
-
- # When done, click the 'Create' button (or 'Cancel').
-
- EDITING A RELATIONSHIP TYPE
-
- To make changes to the name of a relationship type or in any of the above
- parameters, select the type in the Relationship Type list and click the
- 'Edit' button beneath it.
-
- 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.
-
-
- FINDING SOMETHING BY NAME
-
- On main control 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.)
-
-
- Copyright (c) Andrew Basden, 1996
-