|
Claims  |
|
|
What I claim is
1. A data storage and retrieval system for storing and retrieving a
plurality of items of data, comprising:
an input device for inputting items of variable data input;
an output device for outputting items of data of said plurality of items;
an indexed data memory unit including a general data memory unit and an
associative index means operatively associated with said general data
memory unit;
wherein said general data memory unit comprises means for storing said
plurality of items of data including a plurality of expressions for
interrelating said items of data, said plurality of expressions including
at least one mathematical expression and at least one logical expression,
said plurality of items of data being arranged in classes of information
corresponding to a plurality of levels of specificity and including a
major class of information C.sub.1 and a plurality of classes of
information C.sub.2, . . . , C.sub.N which are progressively more specific
than said major class of information C.sub.1 said plurality of classes of
information being arranged in a hierarchical structure wherein said major
class of information and said plurality of classes of information are
arranged in order of increasing specificity, each class of information
having a plurality of members M.sub.1, M.sub.2, . . . , M.sub.i, and each
member having at least one of said plurality of items of data;
and wherein said associative index means comprises:
(i) a first determining means for determining first indexes from said
mathematical expression using said items of variable data input;
(ii) a second determining means for determining second indexes from said
logical expression using said items of variable data input and using said
first indexes, said second determining means being in operative
association with said first determining means, said second indexes
determining a location of related items of data which are related to a
chosen item of data for which said first and second indexes are
determined; and
(iii) means for selecting and retrieving said related items of data from a
selected member of a class of information from said general data memory
unit; and
a data processing unit connected between said input device, said output
device and said indexed data memory unit for controlling communication
therebetween.
2. A data storage and retrieval system for storing and retrieving items of
data referred to as "know-how", the know-how being the ingenuity, aptitude
and skill of a person skilled in relation to a particular field of
endeavor presented as a plurality of items of data, the know-how being
intended to be retrieved and used by a person who is relatively unskilled
in said field of endeavor, the data storage and retrieval system
comprising:
a) an input device for input of items of variable data input by a user of
the data storage and retrieval system;
b) an output device for output of items of data retrieved according to the
variables;
c) an indexed data memory unit comprising a general data memory unit and an
associative index means, the indexed data memory unit for storing the
plurality of items of data relating to the know-how into the general data
memory unit, the plurality of items of data including a plurality of
expressions wherein the expressions are chosen from a group of expressions
consisting of at least one mathematical expression, at least one logical
expression and a combination of at least one mathematical expression and
at least one logical expression, and the plurality of items of data being
arranged in a plurality of classes of information C.sub.1, C.sub.2, . . .
, C.sub.N, the classes of information being arranged in a hierarchical
structure, the hierarchical structure consisting of a major class of
information C.sub.1 and a plurality of subordinate classes of information
C.sub.2, . . . , C.sub.N, the information contained in the items of data
in the subordinate classes of information being progressively more
specific for classes of information located further into the hierarchical
structure, each class of information having a plurality of members
M.sub.1, M.sub. 2, . . . , M.sub.I and each member having a plurality of
the items of data and,
i) the general data memory unit comprising means for receiving the
plurality of items of data; and
ii) the associative index means being in operative association with the
general data memory unit, the associative index means comprising:
I) a first determining means for determining first indexes from both the
mathematical expressions and the variables from the input device; and,
II) a second determining means in operative association with the first
determining means, the second determining means for determining second
indexes from the logical expressions using the variables from the input
device and the first indexes from the first determining means, the second
indexes determining the location of items of data related to the items of
data for which the first indexes and the second indexes are computed;
the associative index means further comprising means for:
receiving items of variable data from the input device;
selecting and retrieving items of data from the general data memory unit,
the items of data corresponding to the items of data in a chosen one of
the members M.sub.i in a chosen one of the classes of information C.sub.N,
the selection and retrieval of the items of data commencing with a first
member M.sub.1 of a major class of information C.sub.1 ;
generating the first and the second indexes from the mathematical
expressions and the logical expressions associated with the items of data
in the chosen member M.sub.i of the chosen class of information C.sub.N
and subject to the items of variable data input by the user;
using the first and the second indexes for locating a member M.sub.ii of a
target class of information C.sub.i+1 subordinate to the chosen class of
information C.sub.i, the target class of information C.sub.i+1 having
information more specific than that in the said chosen class of
information C.sub.1 ;
continuing to generate first and second indexes from further mathematical
expressions and logical expressions associated with the items of data in
the target class of information C.sub.i+1 and subject to further items of
variable data from the input device; and
d) a data processor unit connected between the input device, the output
device and the indexed data memory unit for controlling communication
therebetween, wherein the data storage and retrieval system is devoid of
means for searching for items of data with matching functions based on
matching a set of keywords defining a document with a set of query words,
and wherein the data storage and retrieval system is also devoid of
inference engines and devoid of means for developing and using rules with
the inference engines to search for the items of data.
3. A data storage and retrieval system according to claim 2, in which the
index data memory unit has an uncertainty expression defining the degree
of certainty of the know-how retrieved from the general data memory unit
for a situation defined by the items of variable data, the uncertainty
expression being computed from the values computed for the mathematical
expressions and the logical expressions.
4. A data storage and retrieval system according to claim 2, in which the
associative index means comprises means for creating a list of the first
and second indexes computed by the first and the second determining means
whilst retrieving the know-how, the list constituting an audit trail
showing the route by which the know-how was retrieved, the indexed data
memory unit also comprising means for initiating output of the audit trail
via the output device.
5. The data storage and retrieval system according to claim 3, wherein the
output means comprises means for displaying the uncertainty expression to
the user for indicating the accuracy of the know-how retrieved from the
system based on the variable data input by the user, wherein the
uncertainty expression is expressed by the output means in a manner
comprehensible to the unskilled person for determining the accuracy of the
know-how retrieved for a situation defined by the items of variable input
data. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to a data storage and retrieval system
particularly of a type herein conventionally referred to as
electromagnetic books (EMB). The present invention more specifically
relates to the field of computerised decision support. EMB's are
characterised by capturing know-how of-an expert and making it available
to non experts who insert data into the EMB's at the time of use. The data
input then alters the response of the EMB. EMB may be applied to a variety
of applications such as
______________________________________
Type Definition
______________________________________
Diagnosis Inferring the cause of a
malfunction or deviation from
available information.
Prescription Recommending cures for the
malfunction of a system, or
a deviation from desired
performance.
Selection Identifying the most appropriate
choice among a fixed number of
possibilities.
Prediction Inferring the likely consequences
of an action or set of actions.
Situation Analysis
Inferring the state of a system
by analysis of available data and
information.
Instruction Conveying know-how or expertise
to a student.
Control Monitoring, interpreting and
taking corrective action.
Scheduling and Planning
Developing a sequence of actions
and their timing to achieve a
desired result at a specified
time.
Design Configuring component parts under
constraints to meet the
specifications of an overall
system.
______________________________________
BACKGROUND OF THE INVENTION
It is to be noted that there is a great practical difference between
"information" and "know-how" for the purpose of the present invention.
"Information" is the collection of a group of facts whether related or
unrelated on a subject or field. Whereas "know-how" is that "information"
put into context relative to specific applications. That is "know-how",
herein, also contains that which is added to identify the relationships
between all the items of "information" and relate these that are important
and discard those that are irrelevant for a specific application.
It is known to use Expert Systems (ES's) to attempt to store know-how. To
set up an ES an expert in a particular field must develop "rules"
concerning the field. The rules may be considered as a collection of
situation-action rules, each of which captures a single inference or
action for a particular type of situation.
A user of an ES asks questions either in free form text or in a special
language. The ES answers such questions from its store of rules. Generally
the ES will produce an answer to the question however there is no guide to
the validity of the answer. That is the ES does not know the boundaries of
its own know-how.
Accordingly, when using the ES, specialists in the field of the know-how,
of a skill level approaching that of the expert, are required to provide
context for the extracted information to determine the validity thereof
and hence provide valuable know-how. Naive users or users inexperienced in
the field cannot provide such contexts and the validity of the resultant
know-how provided by the ES to them is therefore doubtful and approaches
mere information.
Also, once an ES is set up validation of its rules require an enormous
investment of time and effort since all possible questions must be put to
the ES to determine the correctness of the answers.
Further, to set up an ES requires an expert in ES's. This adds to the time
and cost involved.
Still further, to develop each rule in the ES is very time consuming. It
may take a day to develop one rule. Hence, ES's tend to be applied to very
narrow fields of expertise, which add to the know-how boundary problem
stated above. Still further, ES's have great difficulty in associating
related information in their store of know-how. Addition of new know-how
to an ES is a massive task; increasing with each further addition.
Basically, ES's lack the common sense that would define its know-how
boundaries. Such common sense in an ES could only be achieved by a very
broad know-how base, which by its size increases the risk of error and
difficulty of guarding against this.
The ultimate problem in using an ES is to know the correct question to ask
to get the correct answer to a given problem. That is the skill of the
user is critical to the success of using the ES.
SUMMARY OF THE INVENTION
In the EMB of the present invention the expert is able to set up the EMB
without help from an expert in the field of EMB's. Also by the nature of
the EMB the expert can set his/her "common sense" into EMB and clearly
define the know-how boundaries.
The EMB achieves this by giving the user choices set by the expert who set
up the EMB. Together with the choices the expert embeds mathematical and
boolean or logic expressions which respond to the users answers to the
choices and determine the further responses.
The boolean expressions embedded in the EMB provide associative indexing of
related information and hence the EMB can readily be asked for more
information or explanation.
This is in contrast to an ES where new, more explicit questions must be
devised by the user to gain same. Put another way each item of data in the
EMB has label's by way of the mathematical and boolean expressions, which
defines or reflects the relationship or associations with other items of
data, each item of data and its associate index being stored together.
More simply, the mathematical and boolean expressions provide a context for
the individual items of information with respect to each other (where
appropriate) so as to provide the experts know-how inherent with each item
of information.
By virtue of such a construction an EMB can determine when a user's answers
are meaningless or contradictory and can to thus indicate to the user
where its know-how is limited, Accordingly, EMB's of the present invention
are relatively easy to set up and use and also to edit and update. Also
the need for a special language to set up the EMB can be avoided.
Further, all the know-how in the EMB can readily be printed out and its use
can be audited.
The present invention provides a data storage and retrieval system having
labelling for data capable of registering the association between related
data records within the data records themselves.
The benefits, which are absent from conventional data files and known
expert systems, are achieved by storing with each item of data a label
which defines or reflects the relationship or association that the said
item of data has with other items of data. Such indexing is herein
referred to as "associative indexing", and the storage of an item of data
together with such a label is herein referred to as "embedding".
The invention is applicable to items of data which have related features,
wherein it is desired to be able to retrieve the related items of data of
a particular item of data. Items of data having interrelationships are
herein referred to as "structured data". Structured data is characterised
by having superordinate and subordinate items of data which are more
general and more specific respectively.
Groups of the superordinate and subordinate items of data are herein termed
"classes of information" there being a major class of information, one or
more subordinate classes of information and one or more superordinate
classes of information. Each item of data in the major class of
information in a structured set of information may have a subordinate
class of information referred to as a second class of information.
In turn, each item of data in the subordinate class of information may have
a subordinate class of information, referred to as a third class of
information and so on. Each class of information except the major class
may also have a superior class of information. For example, the second
class of information is superior to the third class of information and the
major class of information is superior to the second class of information.
There is no class of information superior to the major class.
In accordance with one aspect of the present invention there is provided a
process for indexing of structured items of data in a data storage and
retrieval system, the process comprising the steps of generating boolean
expressions relating to each item of data for associatively indexing each
item of data with related items of data in subordinate classes of
information and in the same class of information and for distinguishing
each item of data from other non related items of data in the same class
of information, labelling each item of data with the corresponding
associative indexes, storing the item of data in a general data memory
unit in an indexed data memory unit of the data storage and retrieval
system, and embedding the associative indexes with each item of data in
the indexed data memory unit, there being one associative index generated
for each boolean expression.
In accordance with another aspect of the present invention there is
provided a process for storage of structured data in a data storage and
retrieval system, the system capable of containing items of data stored in
classes of information arranged on a hierarchical structure consisting of
a major class of information and subordinate classes of information in an
indexed data memory unit of the data storage and retrieval system, the
process comprising the steps of:
a) allowing input of an item of data via an input device into the data
storage and retrieval system;
b) generating an associative index for the item of data to associate the
item of data with items of related data contained in subordinate classes
of information and in the same class of information and to distinguish the
item of data from other items of data in the same class of information;
c) labelling the item of data with the associative index;
d) storing the item of data in a general data memory unit in the indexed
data memory unit;
e) embedding the associative index with the item of data in the indexed
data memory unit;
f) repeating steps (a) to (e) supra for all remaining subordinate classes
of information in order of decreasing superiority;
g) repeating step (f) supra for the most subordinate class of information
until all such items of data are stored for said most subordinate class of
information; and
h) repeating steps (f) and (g) supra for the next superior class of
information until all items of data relating to all of the class of
information have been stored.
In accordance with another aspect of the present invention there is
provided a process for editing of structured data in a data storage and
retrieval system, the system comprising items of data stored in classes of
information arranged in hierarchical structure consisting of a major class
of information and subordinate classes of information in an indexed data
memory unit of the data storage and retrieval system, each of the item of
data having an associative index embedded with it to associate the item of
data with related items of data contained in subordinate classes of
information and in the same class of information and to distinguish the
item of data from other non related items of data in the same class of
information, the process comprising the steps of:
a) allowing selection of one of the items of data to be edited from one of
the classes of information;
b) applying the associative index to locate the item of data to be edited
in the indexed data memory unit;
c) allowing editing of the item of data located in step (b) supra; and
where the editing involves deleting of the items of data;
d) applying the associative index for the item of data to locate all
related items of data in subordinate classes of information; and
e) deleting the related items of data located in step (d) supra.
In accordance with another aspect of the present invention there is
provided a process for retrieval of structured data from a data storage
and retrieval system, the system comprising items of data stored in
classes of information arranged in a hierarchical structure consisting of
a major class of information and subordinate classes of information in an
indexed data memory unit of the data storage and retrieval system, each of
the items of data having an associative index embedded with it to
associate the item of data with related items of data contained in
subordinate classes of information and in the same class of information
and to distinguish the item of data from other non related items of data
in the same class of information, the process comprising the steps
a) displaying items of data in the most superior class of information on an
output device of the data storage and retrieval system;
b) allowing selection of one of the items of data from the class of
information;
c) determining the associative index therefor;
d) locating the related items of data for the selected items of data using
the associative index;
e) displaying the selected items of data located for the selected class of
information on the output device;
f) allowing selection of items of data from superior or subordinate classes
of information with respect to the selected class of information; and
g) repeating steps (b) to (f) supra to retrieve those items of data from
the superior or subordinate classes of information.
In accordance with another aspect of the present invention there is
provided a data storage and retrieval system capable of containing items
of data stored in classes of information arranged in a hierarchical
structure consisting of a major class of information and subordinate
classes of information, each of the items of data having an associative
index embedded with it to associate the item of data with related items of
data contained in subordinate classes of information and in the same class
of information and to distinguish the item of data from other non related
items of data in the same class of information, the system comprising:
a) an input device configured for allowing input of the items of data for
storage;
b) an output device configured for output of retrieved items of data;
c) a working memory unit for intermediate storage of the items of data;
d) an indexed data memory unit having a general data memory and an
associative index means;
e) the associative index means configured for:
(i) generating an associative index for each item of data;
(ii) labelling the item of data with the associative index;
(iii) embedding the associative index with the item of data in the general
data memory unit; and
(iv) allowing selection, retrieval and deletion of each item of data by
determining the associative index for movement between the related items
of data; and
f) a processor unit connected to the input device, the output device, the
working memory unit, the indexed data memory unit and the instructions
unit so as to control communication between each said unit of the data
storage and retrieval system in conjunction with instructions stored in
the instruction unit.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be described, by way of example, with
reference to the accompanying drawings in which:
FIG. 1 is a block diagram of a data storage and retrieval system in
accordance with the present invention;
FIG. 2 is a tree diagram of a storage organisation of data in the system of
FIG. 1;
FIG. 3 is a process representation of screens of an output device of the
system of FIG. 1 shown in use in an Expert mode of operation;
FIG. 4 is a flow diagram of operation of the system of FIG. 1 in the Expert
mode where know-how is stored and edited;
FIG. 5 is a process representation corresponding to that of FIG. 3 but for
a Run mode of operation;
FIG. 6 is a flow diagram of operation of the system of FIG. 1 in the Run
mode where the know-how is retrieved by a user.
FIG. 7 is a tree diagram similar to that of FIG. 2 but corresponding to
Example 1;
FIGS. 8, 9 and 10 are screens similar to those of FIG. 3 but corresponding
to Example 1; and
FIGS. 11, 12 and 13 are screens similar to those of FIG. 5 but
corresponding to Example 1.
DESCRIPTION OF THE INVENTION
In FIG. 1 there is shown a data storage and retrieval system 10 comprising
an input device 12, connecting to a processor unit 14 via a bus 16, a bus
18 connecting the processor unit 14 to an instruction unit 20, a working
memory unit 22 connected via a bus 24 to the processor unit 14, an indexed
data memory unit 26 connected to the processor unit 14 via a bus 28 and an
output device 30 so connected to the processor unit 14 by a bus 32.
The input device 12 may be a conventional keyboard, a data input port, a
microphone, an acoustic coupler, a barcode reader or the like.
The instruction unit 20 contains program instructions which control the
operation of the processor unit 14 in accordance with the processes of the
present invention.
The working memory unit 22 is configured to store items of data
intermediate to storage and retrieval of data from the system 10, such as,
for example, in RAM.
The indexed memory unit 26 comprises a general data memory unit 34, and an
associative index means 36 having a first determining means 38 and a
second determining means 40. The general data memory unit 34 is configured
to store items of data provided with associative indexes by the first and
second determining means 38 and 40. The items of data are the
"information" of the present invention and when combined with the
associative indexes become the "know-how" of the present invention.
The output device 30 may be a conventional VDU, a printer, a loudspeaker, a
modem, or the like, and is configured to output data retrieved from the
indexed data memory unit 26.
The first determining means 38 comprises mathematical expressions
interrelating items of data in the general data memory unit 34. The first
determining means 38 generates real and/or complex variables.
The second determining means 40 comprises boolean expressions interrelating
the items of data and also relying on the real and/or complex variables
from the mathematical functions in the first determining means 38. The
second determining means 40 generates, from the boolean expressions and
logical variables such a True or False. The first determing means 38 may
also determine estimates of the probabilities of how True or False any of
these boolean expressions are.
It is to be noted that the first determining means 38 generates indirect
indexes for the data and the second determining means 40 generates direct
indexes. The indirect and direct indexes collectively constitute the
associate indexes.
The associative index means 36 is configured to take data input via the
input device 12 and/or the working memory unit 22, via the buses 16, 24
and 28, and apply the input to the first determining means 38 to determine
the real and/or complex variables from the mathematical expressions and
then to apply some or all of these to the second determining means 40 to
determine the logical variables.
It is to be noted that in some cases there will be no mathematical
expressions.
The associative index means 36 is also configured to use only the logical
variables to locate subordinate and/or superior associated items of data
in the general data memory unit 34. Of course where mathematical
expressions of the first determining means 38 are incorporated into the
second determining means 40 the variables created by the first determining
means will determine the triggering of the logical expressions and so
indirectly provide indexing. The indexed data memory unit 26 is configured
to allow movement between the screens 42 using the associative indexes.
The movement is by movement commands including FIRST, NEXT and PREVIOUS,
as described in detail hereinafter.
The indexed data memory unit 26 is also configured to allow editing of the
screens 42 and of the structure of the tree. The former involves adding
and amending data in to the screens 42 and the latter involves adding and
deleting screens 42 in single or as associated by the indexes.
The indexed data memory unit 26 is still further configured to allow
replication of parts of branches or of screens 42 in other branches so as
to save time in creation by an expert where only minimal changes are
required to the replicated screens.
The associated index means 36 is further configured to allow for
rearrangement of the order of the boolean expressions and hence their
execution so as to alter the way in which the know-how is presented to a
user. The associative index means 36 is further configured to allow
cross-linking of branches of the items of data such that items of data
common to one branch may be referred to by the associative indexes without
the need for replication.
The data in the general data memory unit 34 may be represented at the
output device 30 as text, such as relating to a particular subject or
field, such as, for example, relating to gold cyanidation in stirred tanks
as well as quantitative data--as shown in Example 1.
The indexed data memory unit 26, in one embodiment, may be configured to
store items of data in a hierarchical tree structure T, such as, for
example, as shown in FIG. 2. The tree T comprises a plurality of classes
of information arranged in a hierarchical structure. In FIG. 2 the
hierarchy has its top at the left hand side of the page and its base at
the right hand side of the page.
Each vertical line of the tree T represents a member of a class of
information and where the vertical lines align vertically the entire class
of information is represented.
The classes of information are for the purposes of FIG. denoted C1, C2, C3
. . . CN.
The major class of information C1 has, in FIG. 2, only one member.
Each horizontal line of the tree T represents an item of data or
information. Items of data in a particular member of a class of
information are for the purposes of FIG. 2 denoted D1, D2m D3 . . . DM.
In use, the present invention 10 is provided with data by an expert in a
particular field. The expert enters alphanumeric text with the input
device 12 to the general data memory circuit 34 via the processor unit 14,
the working memory unit 22 and the buses 16, 24 and 28 under control of
the instruction unit 20.
The instruction unit 20 controls the processor unit 14 to store the items
of data into, for example, the tree structure T shown in FIG. 2.
As shown in FIG. 3 a VDU of the output device 30 is controlled by the
instruction means 20 to display a screen 42 in an Expert mode of operation
of the system 10 for storage and editing of items of data by an expert in
a particular subject or field. The screen 42 comprises a general
description area 44, a data or choice request area 46 an input variable
area 47, an output variable area 48, a mathematical expression area 50, a
mathematical variable area 52, a logical expression area 54, a logical
variable area 56 and a childscreen location area 58.
These may be shown individually or in any combination using well known
Window techniques.
The general description area 44 is for receiving general information and
guidance from the expert concerning the subject or field. The data or
choice request area 46 is for receiving comments from the expert seeking
input of data or choices by a user and relate to the general information
provided in the general descriptions area 44. The input variable area 47
is for receiving data variables or choice variables specified by the
expert and relating to the description area 44. The mathematical
expression and variable areas 50 and 52 are for receiving mathematical
expressions and variables from the expert relating to the information in
the general description area 44 and using the variables in the input
variable area 47. The logical expression and variable areas 54 and 56 are
for receiving logical expressions and variables relating to the general
information in the general description area 44, the input variables in the
input variable area 47 and the mathematical variables in the mathematical
variable area 52. The child screen location areas 58 typically receive
flags to indicate the existance of a child screen 42 and pointers
generated by the associative index means 36 under control of the
instruction unit 20 to indicate the location of the childs screen 42.
There are three types of screens 42, namely, choice screens 42a (see FIG.
8), input screens 42b (see FIG. 9) and information screens 42c (see FIG.
10).
In the choice screens 42a of FIG. 8 the instruction unit 20 relies on the
areas 46 and 47 for input of data and/or options from the expert via the
input device 12. The areas 54 and 58 of the choice screen 42a used to
associatively index the screen 42 to other relevant screens 42. Choice
screens 42a may also have mathematical expressions even though associative
indexing with childpages is purely by choice, that is by logical
expressions derived from input variables I (1). This can occur where the
choice screen 42a is preceded by an input screen 42b which generates
mathematical variables and has input variables. Thus, the choice screens
42a may also rely on the areas 50 and 52. In the input screens 42b the
instructions unit 20 relies on all of the areas 44 to 58.
In the information screens 42b the instructions unit 20 relies on the area
44 and a mathematical output area 60 and a definition area 62 as shown in
FIGS. 3 and 10 to output know-how which is in context to the particular
application. The mathematical output area 60 is used to display
mathematical expressions or variable values pertinant to the matter in the
description area 44 and the definition area 62 provides definitions of the
values as displayed.
The information screens 42b could also be configured for displaying
know-how in graphical form, such as, for example, pie charts, bar graphs,
line graphs, histograms and the like In such a case the instruction unit
20 is configured to allow the expert to choose the graph type, axes label,
colour coding and the like.
The expert stores know-how about a particular subject or field by use of
the following STORAGE process which is shown graphically in FIG. 4.
The flow diagram represents logical operation of the processor unit 12
under control of the instruction unit 20. In the preferred embodiment of
the present invention the logic of the flow diagram is implemented as a
series of instructions stored in the instruction unit 20. However, it is
to be understood that the logic could be implemented as combinational
logic performing under a special purpose processor or as microcode.
The steps of the storage process are represented by logic blocks numbered
70 to 84.
The logic blocks 70 to 84 may be considered in pairs. For example, logic
blocks 70 and 84, 72 and 82, 74 and 80, and 76 and 78 may each be
considered as pairs. Each pair of the logic blocks 70, 84 to 76, 78 forms
a recursive loop and the recursive loops are nested one inside the other.
In particular the recursive loop 76, 78 is nested inside the recursive
loop 74, 80, which is nested inside recursive loop 72, 82, which is nested
inside recursive loop 70, 84. An indeterminant number of recursive loops N
are depicted in FIG. 4. Each pair of logic blocks 70, 84 to 76, 78
correspond to each class of information to C1 to CN respectively.
In practise the number of recursive loops will depend on the know-how being
stored by the expert and need not be known in advance.
At the block 70 the processor unit 14 under control of the instruction unit
20 displays a screen 42 for the operator to insert a first item of data D1
for the first class of information C1 (herein abbreviated to item of data
C1D1).
The expert then enters the item of data C1D1 via the input device 12 into
the description area 44 of the screen 42, The data represents information
on a subject or field. The inserted item of data C1D1 is temporarily
stored into the working memory unit 22 as described hereinabove. The
instruction unit 20 then directs the associative index means 36 to
determine the associative indexes for the item of data C1D1.
The associative index means 36 for this purpose accepts mathematical
expressions and variables to boolean expressions and variables from the
expert relating to the item of data C1D1 and writes them into the areas 50
to 56 respectively and temporarily stores them in the working memory unit
22, It is to be noted that not all types of screens 42 (defined
hereinabove) have all of these expressions and variables.
In the case of a choice screen 42a the expert inputs data input and choice
information into the area 46, All the possible choices have a single
corresponding variable I(1) as shown in FIGS. 3 and 8. The context of the
data input and choice options may be determined by related know-how in
superior screens 42 and for this reason the output variable area 48 may be
used by the expert, That is the area 48 may present the user with derived
quantitative data.
Alternatively the area 48 may be used to remind the user of data entered or
derived earlier (or default data). There are no mathematical expressions
for choice screens 42a that have no superior input screens 42b and in such
a case the expert next inserts boolean expressions info area 54
corresponding directly to each of the choices.
For the choice screen 42a without mathematical expressions the boolean
expressions represent the sole form of associative index, In the example
in FIG. 8 there are three choices and hence three boolean expressions and
thus three associative indexes.
In the case of an input screen 42b (and a choice screen 42a subordinate
directly or indirectly to an input screen 42b) the expert also stores
mathematical expressions and variables in the areas 50 and 52 and in the
case of information screens 42c the expert stores the definitions and
variables in areas 62 and 60.
The variables I(1) I(2) . . . are generated by the index data memory unit
26 depending on the type of page. That is I(1), I(1) . . . for choice
pages 42a and I(1), I(2) . . . 1(8) for input pages 42b.
One associative index is provided by each boolean expression and may be
affected by the mathematical expressions and variables and the input
variables and output variables from the present as well as superordinate
screens 42.
Once the associative indexes are determined they are attached to the item
of data C1D1 by the processor unit 14 and then stored into the general
data memory unit 34 of the indexes data memory unit 26, The associative
indexed are to items of data C2D1, C2D2, C2D3 . . . , of the class of
information C2.
The indexed data memory unit 26 is configured to provide movement commands
for control by the instruction unit 20 for various movements between
screens 42 stored in the general data memory unit 34. Typically, these may
include FIRST, PREVIOUS, NEXT and DELETE to respectively move to the first
page, move to the previous page, move to the next page and delete the
present page.
These movement commands allow for easy passage through the screens 42
whilst storing know-how under the process of FIG. 4 as well as editing the
structure of the system 10. Logic blocks 78 to 84 in FIG. 4 represent such
movement commands together with commands for storing associatively indexed
data and for ending storage of know-how.
By using the movement command NEXT control is transferred to the logic
block 72, and the instruction unit 20 displays a screen 42 for the expert
to insert a first item of data D1 for the second class of information C2
(herein abbreviates to item of data C2D1).
When the NEXT movement command is executed by the indexed data memory unit
26 to move to a new screen 42 to accept the item of data C2D1, it forms an
associative index so as to establish a link between the two screens 42.
The formation is performed by the indexed data memory unit 26, and is
recorded by placing a flag 86 in the child screen area 58 of the previous
screen 42. In the present embodiment, the flag is a diamond although other
characters could be used.
At the same time the indexed data memory unit 26 requests which type of
information screen 42a, 42b or 42c is required for the next subordinate
screen 42, and the expert enters the appropriate type depending on how the
know-how is to be imparted.
The item of data C2D1 once input by the expert in the input device 12 is
again temporarily stored in the working memory unit 22 and the processor
unit 14 is directed to seek mathematical and boolean expressions from the
expert and/or variables to determine the associative index to show the
relationship between the item of data C2D1 to the next item of data C3D1.
The above steps are repeated at logic blocks 76 to 78 until the first item
of data C1D1, . . . CND1 for all of the classes of information (up to
class CN) has been inputted, associatively indexed and stored.
It is to be noted that the most superordinate screens 42 are generally
choice screens 42a, the intermediate screens are usually input screens 42b
(but can also be choice screens 42a) and the final screen 42 is an
information screen 42c.
Then at the logic block 78 the instruction unit 20 directs the processor
unit 14 to allow the expert to finish storing items of data into the class
of information CN and to use the movement commands to go back to the
previous screen 42 i.e. class C1. If there are further items of data to
store a branch is taken back to logic block 76 and the expert continues as
before.
If not the process continues to logic block 78 where the expert may use the
movement commands to enter items of data for superordinate screens 42--the
commands being PREVIOUS and FIRST. The expert then enters in the rest of
the items of data for the previous superordinate screens 42 (in class
C(N-1)) and they are associatively indexed and stored as described
hereinabove.
This continues back through logic blocks 80 and 82 and with branches back
to logic blocks 74 and 72 until all know-how associates with the item of
data C1D1 is stored with associative indexes. This is equivalent to entry
of all the know-how for screens dependant on screen AA as shown in FIG. 7,
that the expert wishes to provide.
Then the second item of data D2 for the class of information C1 is
processed similarly. The above described steps are then all repeated until
all of the items of data are processed.
In summary, the data storage process comprises the following steps:
a) allowing input of an item via the input device 12 into the data storage
and retrieval system 10;
b) generating an associative index for the item of data to associate the
item of data with items of related data contained in superior classes of
information and in the same class of information and to distinguish the
item of data from other items of data in the same class of information;
c) labelling the item of data with the associative index;
d) storing the item of data in the general data memory unit in the indexed
data memory unit 26;
e) allowing input of an item of data of a first subordinate class of
information via the input device 12;
f) repeating steps (a) to (d) supra for all remaining subordinate classes
of information in order of decreasing superiority;
g) repeating step (f) supra for the most subordinate class of information;
and
h) repeating step (g) supra for the next most superior class of information
until all items of data relating to all of the classes of information have
been stored.
The system 10 now is supplied with the know-how and common sense of the
expert of the subject and which is associatively stored.
The mathematical expressions and variables used to generate the associative
indexes may be defined globally and/or locally. One way of achieving local
definition is to use an array type identification such as R(x,y) where R
is the variable, x designates how many screens 42 above the present screen
42 the variable originates from and y indicates which variable from that
screen 42. This is referred to as using local variables.
Each mathematical expression of the active screen 42 then has a real local
variable designation such as R(0,1), R(0,2) . . . and could have complex
local variable designations such as C(0,1), C(0,2) . . . Again the first
number in the parenthesis designates the screen 42 of origin and the
second number the variable number on that screen 42.
The present invention will hereinafter be described with particular
reference to use of global variables. Global variables are prefered since
meaningful designations or tokens) can be given to the variables whereas
the variables in local definition must be remembered and change for each
screen 42.
The expert then enters logical expressions into the area 54 with expression
designations in the logical variable area 56.
Each boolean expression is then assessed using the real and/or complex
variables and the input variables from the user and the output variables
from superordinate screens 42.
For each logical expression in a screen 42 there is another screen 42, and
for each logical expression in that screen 42 there is yet another, as
shown in FIGS. 2 and 7.
Hence, it is the logical expressions that lead directly to subordinate
associated know-how and the actual screens 42 arr | | |