Istar was originally designed (in its KBTools days) to assemble construction contracts intelligently - to write a contract for two parties that reflected their agreed intentions. It is in the process of being generalized to allow it to compile more complex types of documents.

** These instructions are only brief; fuller ones will be made available at the earliest opportunity. **

In general, documents are composed of pieces of text - titles, headings, chapters, sections, sub-sections, paragraphs, sentences, etc. A dynamic document is made up to suit your requirements, from selected pieces like these. Istar allows you to specify what pieces could be selected, and under what conditions.

** This version (1.087) of dynamic documents is usable but limited. For instance, it recognises only sentences, paragraphs laid out like clauses in a contract, and headings for those clauses. There is no sectioning, titles, etc. A better version will emerge later. **

KB Things for a Dynamic Document

What you need for a dynamic document are the following objects in the knowledge base:

With this arrangement, each Document is assembled from Text Fragments chosen by the status (truth value) of their Included attributes. Each time the inference net(s) antecedent to these attributes is run (e.g. by RestGoals, InferGoals with the Goal List above), a different profile of truth values is obtained, depending on the answers given by the user during the run. Thus, each time, a different set of Text Fragments is linked to a Document item.

Creating your Document

There are three steps to actually creating a document, of which the second and third are accomplished by via the Documents Panel that appears when you hit the New Doc button on the KB Panel.

  1. Run the knowledge base with the Goal List of Included attributes; this answers all the attributes and gives them a truth value.

  2. Hit the first large button on Documents Panel. When a document is created, all the Text Fragment items are searched to find which of them have the Included attribute answered and True. Those that have are linked to the Document item by Inserted relationships. That creates the document, but does not display it. We still need to construct and display its text.

  3. Hit the second large button on the Documents Panel. This makes a copy of the text of all the text fragments included and assembles it into a large text easel piece. It then opens a new screen and window and displays the whole.

At present, the document is like a contract, with headings in a column down the left side and the text in a column to the right. At present, each paragraph is a single Text Fragment.

If you click on a paragraph in the document, then that Text Fragment and all its antecedents is shown on the main Easel.

You can export the document in a variety of formats: IFF, Postscript and HTML (at present TXT just gives HTML). Note that, at present, you must have displayed the document before you can export it.

To remove the document, click its WindowClose gadget. The document item itself is not deleted, so that you can reassemble it later if you wish.

To reassemble and display an earlier document, you can select it by the selection gadget to the right of the second large button.

If you wish to name, modify or delete a Document item, just hit the See button and up comes its Item Details Panel which allows you to do anything that treating it as an item would do - name it, reorder its consequents (i.e. its Text Fragments), delete it, etc.

You can keep several Document items, and all can share different subsets of the Text Fragments. This means you can keep several versions of the same document, for instance.

Creating your Text Fragements

Obviously, before you carry out the above, you must have created a set of Text Fragments. To do this, select the Text Fragment item type and place the fragments at will. For each one:

That's it.

Ordering the Clauses of a Document

You might then find that the clauses of the document are in a random order - not much good. So, there are two ways to alter the order:

Copyright (c) Andrew Basden 1998.