home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / misc / Istar.lha / Docs / History < prev    next >
Encoding:
Text File  |  1997-02-10  |  9.5 KB  |  232 lines

  1. HISTORY OF ISTAR
  2.  
  3. Plans
  4.  
  5. I plan, next version, to have a Lists facility which will allow you to form 
  6. lists of items, atts, relationships according to various selection 
  7. criteria, including manual addition, and then to use any list as a goal 
  8. list, and to perform simple relational-database-like operations with lists, 
  9. such as selection, union, intersection, join.
  10.  
  11. VERSION 1.06, February 1997
  12.  
  13. #  Attribute Details Panel:  If you change the value of a Constant 
  14. attribute then it sets the value to answered and propagates it when you hit 
  15. OK.  It used not to do this, and that meant that sometimes the new value 
  16. would not take effect immediately.
  17.  
  18. #  Keys.  First, you can now show the consequent fan/net as well as the 
  19. antecedent one.  Press 'C' over a box for the consequent and 'A' for 
  20. antecedent.
  21.  
  22. #  Keys.  Second, it will now show all kinds of relationship in the 
  23. antecedent and consequent fans, not just inference.
  24.  
  25. #  Keys.  Third, I've changed the keys used.  For two reasons.  One is that 
  26. when used on a CD32 with SX32 keyboard there are no keys around the numeric 
  27. keypad and the other is that I could never remember which keys were used. 
  28. So I now use alphabetic keys that bear some resemblance to the action 
  29. needed:
  30.  
  31.       A = Antecedent fan
  32.       C = Consequent fan
  33.       R = Related one step in both directions
  34.       T = To This Type (as before)
  35.       M = minimize or maximize a box size
  36.  
  37. #  Minimize/Maximize box size.  A new facility.  Some boxes are of little 
  38. intrinsic meaning, merely being minor variants on the meaning of others. 
  39. Often you get a local bunch of antecedents that merely set the value for a 
  40. more important box.  So now you can minimize these less important boxes by 
  41. hitting the 'M' key when the mouse is over them.  This turns them into 
  42. little squares, quarter of an inch square and with not label - a bunch of 
  43. these starts to look like a bunch of blackcurrants.  Their meaning still 
  44. shows, however, and you can do all the normal things to them.  Then, if you 
  45. hit 'M' again over a minimized box it expands to its normal size.
  46.  
  47. #  In Attribute Details panel, if att is a Const in derivation and you 
  48. alter the value then it is set to answered.  And the result is propagated. 
  49. Because it is assumed that you are altering it for a purpose.
  50.  
  51. #  On using a large KB (ca. 800 boxes and 400 arrows) and a goal list about 
  52. 100 long it took around 3 seconds to reset all the goals on a basic Amiga 
  53. 1200.  (Because all the consequent fans of all reset attributes have to be 
  54. traversed.)  A noticeable delay, though not unreasonable for a KB of this 
  55. size and complexity.  I investigated the time taken (3.3 seconds on basic 
  56. Amiga 1200 and 1.4 seconds on Amiga 1200 with 50MHz 68030) and checked that 
  57. the algorithm was working OK and not doing more work than it need to (it 
  58. was OK).  There might be ways of speeding it up slightly.  But at present 
  59. it is not high priority; 1.4 seconds delay seems perfectly reasonably for a 
  60. KB this size when the subsequent question sequence is around 40 questions 
  61. long.
  62.  
  63. #  Bug in Chooser was fixed.  It now resets attribute to unanswered every 
  64. time.
  65.  
  66. #  Wee Bugfix.  When you added an attribute to an item that had an att with 
  67. shown value it didnae do it right - placing the 2nd on top of the first. 
  68. It now does it right.
  69.  
  70.  
  71. VERSION 1.05, January 1997
  72.  
  73. #  (It's rather nice:  The better Istar becomes, the smaller it becomes!)
  74.  
  75. #  Instituted an initial dynamic document facility.  You create Document 
  76. items and the document is created dynamically from 'Text Item' items whose 
  77. 'Include' attributes are true.  See Item Details Panel.  The facility is at 
  78. present very crude, just so you can start to try it out.  See the new 
  79. 'Dynamic Documents' file.
  80.  
  81. #  Found bug that stopped Istar being used on the 4000 and 3000 - and 
  82. corrected it.
  83.  
  84. #  You can now add new attributes to existing item instances (you could add 
  85. to item types before, but not instances).  e.g. if the standard 'Cat' item 
  86. type has attributes of Name, Has-Whiskers, Colour and Sound-Made, and you 
  87. make instance 'Susie', with attributes: Has-Whiskers = TRUE, Colour = Grey, 
  88. Sound-Made = Miaow, before, that was all you could record about Susie.  But 
  89. now you can add any new attributes you like without affecting the item 
  90. type.  So you can enter Number-Of-Legs = 3 (she got run over!).
  91.  
  92. #  You can also re-order attributes now in both item types and item 
  93. instances.
  94.  
  95. #  You can now read and write preferences files.
  96.  
  97. #  I went through all the modules with a fine tooth comb, making some 
  98. internal changes (specifically, replacing rbDataAddr() with ikDataAddr(), 
  99. etc.).  In particular, some of the old code made the wrong tests after a 
  100. routine returns a C pointer.  Took the opportunity to rationalize the error 
  101. handling and error messages.
  102.  
  103.  
  104. VERSION 1.041, November 1996
  105.  
  106. #  Found a bug had crept into Version 1.04 that prevented changing value 
  107. types in Attributes Details panel.  So corrected it.
  108.  
  109. #  Also, internal changes to the way text of labels is displayed.
  110.  
  111. VERSION 1.04,  November 1996
  112.  
  113. #  Added the CONTROL Unary Operator.  See 'Using Istar'.  This allows 
  114. attributes to be made 'not applicable' if another one is answered with 
  115. False.  See new version of 'Using Istar' document.
  116.  
  117. #  Lots of work allowing you to set Preferences ...
  118.  
  119. #  Will now read IstarSys:IstarPrefs, if available, when starting up to set 
  120. various preferences.  An IstarPrefs_LowMem is supplied.
  121.  
  122. #  Can now change fonts for the main easel, the user questions and the 
  123. document.  (Note: document facility still not available.)
  124.  
  125. #  The Preferences panel now has KB and font information as well as Easel 
  126. info, and it only sets the sizes for new KBs, not the existing one. 
  127. (Scroll amount is set for all KBs and Easels, though.)  This makes it 
  128. easier to prepare for a low memory situation.
  129.  
  130. #  Added facility to switch tracing on in the command line.
  131.  
  132. #  Changing the size of a currently displayed Easel is now done from a new 
  133. 'Easel' button on the KB Panel, not from the Preferences panel.
  134.  
  135. #  A wee change: Before, on hitting 'Quit' it would first ask "Do you want 
  136. to quit?" and then ask for each KB "Do you want to get rid of it?"  Now it 
  137. asks about all the KBs first, and then "Quit?"  This allows you to clear 
  138. out all the KBs but not quit the program, so to start other KBs again.
  139.  
  140. #  A button on KB panel 'See Easel' will bring the easel of that KB to the 
  141. front; useful when you have several KBs up.
  142.  
  143. #  Tidied up all panel handling.  Users shouldn't see any difference, but 
  144. it makes a bit smaller.
  145.  
  146. #  New documentation file, KBs, which outlines all manipulation of whole 
  147. knowledge bases, and IstarPrefs file.
  148.  
  149. #  Resizing of a KB is now possible, but occasionally fragile; see Bugs and 
  150. Limitations.
  151.  
  152. #  When saving a KB you can now have automatic backups made of the file: 
  153. see KBs document.  The old file is not overwritten, but has date and time 
  154. appended to it.
  155.  
  156. #  Slight improvements to the Explanation of Relationship Instances.
  157.  
  158.  
  159. VERSION 1.03,  September 1996
  160.  
  161. #  Made Istar more usable for drawing semantic networks.  Two main 
  162. facilities:
  163.  
  164. #  Added facility to alter the visual appearance of item boxes, in a 
  165. limited way.  Pen 1 gives the text colour for the label, Pen 2 and Pattern 
  166. give the appearance of the box outline.  This meant new gadgets added to 
  167. the Item Type Panel.
  168.  
  169. #  Added facility to define, for an item type box, which types of 
  170. relationship will be drawn when user starts drawing from left or right 
  171. edge.
  172.  
  173. #  Added KB Area panel, showing some details of the KB area, and allowing 
  174. you to alter some.
  175.  
  176. #  Tidied up the mechanism for handling several KBs.  Removed one or two 
  177. bugs that had crept in, such as referring to certain things in KB1 when KB2 
  178. was active.
  179.  
  180. #  Added facility to record the Control Screen Parking position.
  181.  
  182. #  Hopefully more tolerant when it doesn't find the fonts it wants.
  183.  
  184. #  Cured one or two bugs encountered when linking items or moving links.
  185.  
  186. #  Tidied up Preferences (but still too few), and cured the problems that 
  187. happened when setting them without a KB.
  188.  
  189. #  Removed the crash/inf loop when hitting the meaning-bar right hand 
  190. gadgets when there is no KB.  (As I never told users about them, this 
  191. should not have been a problem.)
  192.  
  193.  
  194. VERSION 1.02,  July 1996
  195.  
  196. #  Placed on Aminet first as /misc/misc without install script, and then 
  197. with proper install script and updated docs in /biz/misc.
  198.  
  199. #  Istar will now process more than one KB.
  200.  
  201. #  It meant replacing the separate Select Item Type, Select Relationship 
  202. Type and Goal List panels with a single single KB panel.  Each knowledge 
  203. base has its own KB panel.
  204.  
  205. #  It also meant some internal changes to the structure of the modules 
  206. management, ES module operations, and other things, which are not described 
  207. here.  (They are described in my Logs.)
  208.  
  209. #  I also put the backward and forward chaining on a sounder footing. 
  210. Normally it worked OK but some funnies happened with overridden attributes.
  211.  
  212. #  When resetting an attribute for backward chaining, all its antecedents 
  213. were reset OK, but the other consequents of those were not reset.  Now they 
  214. are.
  215.  
  216. #  Implemented facility to define new relationship types.  This enables us 
  217. to move towards a semantic net builder.
  218.  
  219. #  Added RANDOM unary operator.
  220.  
  221. #  Proper implementation of limits on ordinals and enums.
  222.  
  223.  
  224. VERSION 1.01,  June 1996
  225.  
  226. This was the first version released.  It was a development of the KBTools 
  227. software that came out of the INCA project, with a year spent on making its 
  228. code more robust and generalized.  Istar works fairly well and robustly as 
  229. an inference net builder.  But it can only process one KB at a time.
  230.  
  231. Copyright (c)  Andrew Basden, on all the dates shown.
  232.