WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Data storage and retrieval systems having labelling for data    
United States Patent5497489   
Link to this pagehttp://www.wikipatents.com/5497489.html
Inventor(s)Menne; David M. (10 Mayfair Street, Mount Claremont, Western Australia, AU)
AbstractA data storage and retrieved system and process for use with structural items of data relying on associative indexes to connect related items of data and not to connect unrelated items of data. The associative indexes being formed from mathematical and/or boolean expressions for allowing know-how of a expert, stored in the system, to be extracted and put into context to a particular situation by a user inputting choices among alternatives and data into the system.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5497489
Data storage and retrieval systems having labelling for data - US Patent 5497489 Drawing
Data storage and retrieval systems having labelling for data
Inventor     Menne; David M. (10 Mayfair Street, Mount Claremont, Western Australia, AU)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     March 5, 1996
Application Number     08/479,790
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 7, 1995
US Classification     707/1 715/533
Int'l Classification     G06F 017/30
Examiner     Black; Thomas G.
Assistant Examiner     Wang; Peter Y.
Attorney/Law Firm     Bachman & LaPointe
Address
Parent Case     CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of application Ser. No. 08/109,451, now abandoned, filed Aug. 19, 1993, which is a continuation of application Ser. No. 07/427,504, filed Oct. 27, 1989, now abandoned, which is a continuation-in-part of application Ser. No. 07/046,089, filed May 5, 1987, now abandoned.
Priority Data     Oct 27, 1988[AU]PJ1185
USPTO Field of Search     395/600
Patent Tags     data storage retrieval labelling data
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5010478
Deran
707/100
Apr,1991

[0 after 0 votes]
4817036
Millett
707/1
Mar,1989

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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