WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms    
United States Patent5367619   
Link to this pagehttp://www.wikipatents.com/5367619.html
Inventor(s)Dipaolo; William J. (Pittsburgh, PA); Tinley; David M. (Pitcairn, PA); Thompson; Timothy F. (Monroeville, PA); Parsons; Carol A. (Forest Hills, PA)
AbstractAn rulebase software system is incorporated into a form data entry system for a digital computer to assure that only complete, consistent and valid data entries are made in accordance with the expert system rulebase. The rulebase is in a simple tabular format which eliminates the need for programming. The system interprets the rulebase tables automatically in order to draw the data forms and subforms displayed on the computer screen. Dependencies between input data fields on a data form and between fields and subforms are embedded in the tables of the rulebase. Valid data entries displayed for a given menu field vary in accordance with certain prior entries, and fields which can only assume one valid value can be automatically filled in with the single value dependent upon the value previously entered for designated other fields. Context sensitive hypertext help forms called by a selected field are dependent upon values previously entered for designated other fields.
   














 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 5367619
Electronic data entry system employing an expert system to facilitate

     generation of electronic data forms with complex interrelationships

     between fields and subforms - US Patent 5367619 Drawing
Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms
Inventor     Dipaolo; William J. (Pittsburgh, PA); Tinley; David M. (Pitcairn, PA); Thompson; Timothy F. (Monroeville, PA); Parsons; Carol A. (Forest Hills, PA)
Owner/Assignee     Eaton Corporation (Cleveland, OH)
Patent assignment
All assignments
Publication Date     November 22, 1994
Application Number     08/179,994
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     January 10, 1994
US Classification     715/506 706/45 707/4 715/514 715/530 715/825
Int'l Classification     G06F 015/62
Examiner     Herndon; Heather R.
Assistant Examiner     Feild; Joseph H.
Attorney/Law Firm     Moran; Martin J.
Address
Parent Case     This application is a continuation of application Ser. No. 07/515,817 filed Aug. 27, 1990, now abandoned.
Priority Data    
USPTO Field of Search     395/148 395/149 395/600 395/50 395/156 364/413.02 364/413.1 364/401
Patent Tags     electronic data entry employing expert facilitate generation electronic data forms complex interrelationships between fields subforms
   
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
5077666
Brimm

Dec,1991

[0 after 0 votes]
5008810
Kessel

Apr,1991

[0 after 0 votes]
4982344
Jordan
715/804
Jan,1991

[0 after 0 votes]
4866634
Reboh
706/60
Sep,1989

[0 after 0 votes]
4837693
Schotz
705/4
Jun,1989

[0 after 0 votes]
4823283
Diehm
715/825
Apr,1989

[0 after 0 votes]
4789962
Berry
715/715
Dec,1988

[0 after 0 votes]
4752889
Rappaport
706/11
Jun,1988

[0 after 0 votes]
4723209
Hernandez

Feb,1988

[0 after 0 votes]
5206949
Cochran
707/4
Dec,1969

[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 is claimed is:

1. A data entry system for a digital computer having a display screen and a user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, wherein each field has a data entry, said fields being successively selectable through said user input device; and

menu generating means for generating on said display screen dynamically varying menus, each comprising a list of valid potential data entries for certain selected menu fields, with said list of valid potential data entries for a given selected menu field varying dynamically, in a manner wherein the potential data entries on said list are dependent upon combinations of data entries made for designated other fields, a valid potential data entry in each dynamically varying menu being selectable as the data entry in the given selected menu field through said user input device, said menu generating means incorporating an expert system having a rulebase which includes rules establishing said list of valid potential data entries for the dynamically varying menus for each of said certain selected menu fields for each combination of data entries of said designated other fields upon which each said certain selected menu field depends, and means for firing the rules to select said list of valid potential data entries in a manner wherein said list is dependent upon current combinations of data entries made for the designated other fields.

2. The data entry system of claim 1 wherein said menu generating means generates a dynamically varying menu for at least one of said certain selected menu fields which has only one valid data entry for each combination of data entries for said designated other fields, with said one valid data entry varying dynamically in a manner wherein said one valid data entry is dependent upon said each combination of data entries in said designated other fields.

3. The data entry system of claim 2 including means for automatically entering without user input said one valid data entry for said at least one certain selected menu field when a data entry for one of said designated other fields is changed, said valid data entry, which is automatically entered, being the one valid data entry that is generated by said menu generating means, said one valid data entry being dependent upon combinations of data entries for said designated other fields, including the changed data entry for said one designated other yfield.

4. The data entry system of claim 3 wherein the field, for which the one valid data entry is automatically entered, is a designated other field for an additional field having only one valid data entry, said data entry system including means for iteratively automatically entering the one valid data entry for additional fields wherein each said additional field has only one valid data entry, until data entries for no more fields change.

5. The data entry system of claim 4 wherein said rulebase of said expert system includes rules establishing the one valid data entry for the selected field for each combination of data entries of said designated other fields and means for firing said rules to select the one valid data entry in a manner wherein the one valid data entry is dependent upon said combinations of data entries for said designated other fields.

6. The data entry system of claim 5 wherein said expert system includes a table for each of said fields having only one valid data entry dependent upon the combinations of data entries for said designated other fields, each said table including an input column for each designated other field upon which the one valid data entry for the selected field depends, an output column, and successive rows each containing in said input columns a combination of data entries for the designated other fields, and in said output column the one valid data entry for the selected field for the combination of data entries of the designated other fields in the input columns, each said row constituting a rule in the rulebase.

7. The data entry system of claim 1 wherein said expert system includes a table for each dynamically varying menu, each table including an input column for each designated other field upon which the dynamically varying menu depends, an output column and successive rows each containing in said input columns values for the designated other fields, and in said output column the menu of valid data entries for the dynamically varying menu for the combination of values of the designated other fields in the input columns, each said row constituting a rule in said rulebase.

8. A data entry system for a digital computer having a display screen and a user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, wherein each field has a data entry, said fields being successively selectable through said user input device; and

menu generating means for generating on said display screen dynamically varying menus comprising a list of valid potential data entries for certain selected menu fields, with said list of valid potential data entries for a given selected menu field varying dynamically in a manner wherein the potential data entries on said list are dependent upon combinations of data entries made for designated other fields, a valid potential data entry in said dynamically varying menu being selectable as the data entry in the given selected menu field through said user input device; and

means for selectively validating data entries previously made, as data entries are made for additional fields, including means for sequentially selecting each dynamically varying menu field and generating current valid potential data entries for said each dynamically varying menu field dependent upon the current combinations of data entries of the designated other fields upon which the selected dynamically varying menu field is dependent, comparing the data entry previously made for said selected dynamically varying menu field with said current valid potential data entries, and generating an indication that said data entry previously made is invalid when it does not match any of said current valid potential data entries.

9. A data entry system for a digital computer having a display screen and a user input devices, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, said fields being successively selectable through said user input device; and

means responsive to selection of a selected field on a parent form for selecting for display on said display screen one of a plurality of subforms, with said selecting for display of said one subform dynamically varying in a manner wherein said selecting for display of said one subform is dependent upon combinations of data entered for designated other fields on said parent form, said selection means incorporating an expert system having a rulebase which includes rules establishing, for each combination of data entered for said designated other fields, the one subform displayed by selection of said selected field, and means for firing said rules to select the said one subform in said manner wherein said selecting for display of said one subform is dependent on said combinations of data entered for said designated other fields, and

wherein said rulebase includes an indirection table for said selected field, said table including an input column for each designated other field upon which selection of the one subform displayed by selection of the selected field is dependent, an output column, and successive rows each containing in said input columns a combination of data entered for said designated other fields, and in said output column the one subform displayed for the combination of data entered for the designated other fields in the input columns, each said row constituting a rule in said rulebase.

10. A data entry system for a digital computer having a display screen and a user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, said fields being successively selectable through said user input device;

means responsive to selection of a selected field on a parent form for selecting for display on said display screen one of a plurality of subforms, with said selecting for display of said one subform dynamically varying in a manner wherein said selecting for display of said one subform is dependent upon combinations of data entered for designated other fields on said parent form;

said fields being identified by field names, and wherein a field of a given field name is repeated in multiple locations and including means for designating fields with specified names as global fields and entering a value entered in a global field with a given specified name in each location of that field including locations on a single form and other forms in the system;

override means for passing values of identified fields in a parent form to fields of the same name in all subforms of the parent form; and

means for labeling at least one field on a parent form for modification of said at least one field's value upon return from a subform, and means for modifying the value of a labeled field on said parent form to the value of a field of the same name on the subform when returning to the parent form from the subform.

11. A data entry system for a digital computer having a display screen and a user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, said fields being successively selectable through said user input device for entry of data, at least one selected field when selected calling one of a plurality of hypertext forms containing help information for display on said display screen, selection of the one of said plurality of hypertext forms called for display varying dynamically in a manner wherein said selection of the one of said plurality of hypertext forms is dependent upon combinations of data entries for designated other fields, said means incorporating an expert system having a rulebase which includes rules establishing the selection of the one hypertext form of said plurality of forms displayed by selection of said selected field for each combination of data entries for said designated other fields, and means for firing said rules to select the one hypertext form, said selection being dependent upon the combinations of data entries of said designated other fields, the rulebase including an indirection table for said selected field, said table including an input column for each designated other field upon which said selection of the one hypertext form displayed by selection of the selected field is dependent, an output column, and successive rows each containing in said input columns a combination of data entries for said designated other fields, and in said output column the one hypertext form displayed for the combinations of data entries for the designated other fields contained in the input columns, each said row constituting a rule in said rulebase.

12. A data entry system for a digital computer having a display screen and a user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, said fields being successively selectable through said user input device for entry of data, at least one selected field when selected calling one of a plurality of hypertext forms containing help information for display on said display screen, selection of the one of said plurality of hypertext forms called for display varying dynamically in a manner wherein said selection of the one of said plurality of hypertext forms is dependent upon combinations of data entries for designated other fields, said means for generating forms on said display screen including means for generating a network of hypertext forms each having at least one field which when selected through said user input device calls for display on said display screen another hypertext form in said network, the selection of said another hypertext form called being dependent upon combinations of data entries for of the designated other fields.

13. A data entry system for a digital computer having a display screen and user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, said fields being successively selectable through said user input device, properties of said fields being defined by a form table having a plurality of columns each defining an attribute of said fields and a row for each field containing in each column a value of the attribute represented by that column for that field, and means for changing selected attribute values for said given field by changing in the row of said form table for said given field the values in the columns for said selected attributes, said field attributes including attributes which define a form structure for a current form in a memory, said form structure including a field cell for each field, at least some of said field cells including a location for a data entry for said field entered through said user input device, said means for generating said form tables including means for generating an array form table for generating an array form, said array form table having a set of fields with each field in said set defined by a row in said array form table, said system including means for replicating said set of fields a selected number of times in said form structure in memory.

14. A data entry system for a digital computer having a display screen and user input device, said system comprising:

means for generating on said display screen, forms having background text and a plurality of fields for the insertion of data, said fields being successively selectable through said user input device, properties of said fields being defined by a form table having a plurality of columns each defining an attribute of said fields and a row for each field containing in each column a value of the attribute represented by that column for that field, and means for changing selected attribute values for said given field by changing in the row of said form table for said given field the values in the columns for said selected attributes, said means for generating said forms including means for generating for a call field an indirection table in a given location in memory, said indication table having at least one input column for a designated other field, one output column and a plurality of rows, each row containing in said input column a value for said designated other field and in said output column the form table of a form to be called by the call field for each value of said designated other field, and wherein said form table for said call field includes as an attribute the given location in said memory of said indirection table.
 Description Submit all comments and votes
 


BACKGROUND INFORMATION

1. Field of the Invention

This invention relates to a data entry system for digital computers, and more particularly to such a system which employs an expert software system to facilitate the generation of electronic data forms with complex interrelationships between fields and subforms and in which the validity of entries is assured as the data is entered.

2. Background Information

Many data entry systems for digital computers utilize a form format in which background text and blanks or fields in which the user is to insert data are presented on a display screen. The user proceeds from field to field supplying the requested data. In some instances, the user is presented with a list of entries for a particular field in the form of a menu from which the user can select an entry. This eliminates the need to remember suitable entries for that field and to type in the selected entry, thus saving time and reducing errors. Where there is much data to be entered, successive forms can be presented to the user. The succession of forms presented cannot depend on entries made in particular fields, and thus, the path through a network or hierarchy of forms cannot vary depending upon selections made by the user at a given field always the same.

While such data entry systems aid a user in inputting data into a digital computer, particularly by reducing typing requirements and speeding up data entry, in all but very small, and therefore limited applications, they do not assure that the data will be valid and consistent when it is entered. Expert systems are examples of computer programs which frequently use the form format of data entry. It is widely acknowledged that user acceptance is the key to the success of an expert system. A large percentage of expert systems employ a user interface of the kind that the MYCIN system (Stanford University, circa 1975) used. As this type of system processes rules, it decides what further questions need to be asked of the user. The question is printed on the screen and the user is prompted to type in some information in a "fill in the blank" format. Users are often frustrated by this approach, especially novice users, because the system may ask questions in a seemingly random fashion. It is possible not to understand what is really being asked. It is also possible not to know what the legal answers to a question are, and it is further possible to enter a value which the system discovers is invalid only at a later stage.

Many other expert systems use an interface like the one employed by DEC's R1 system (circa 1980). R1 requires all answers to all questions to be typed in up front, before the expert system begins processing rules. This method has the advantage that all the questions are answered at the same time, but has the disadvantages that questions irrelevant to a specific job must also be answered, and that the user still may not know what the legal answers to a question are. In addition, the expert system only detects inconsistent or invalid responses after all of the input has been gathered and rule processing has commenced.

There remains a need for an improved system for inputting data to a program running on a digital computer.

More particularly, there is a need for such an improved system for inputting data to a program in a form format.

There is a further need for such a system for inputting data to a program in which the data is verified as it is entered.

There is a particular need for such an improved system for inputting data to an expert system.

There is also a need for such an improved system for inputting data to a program running on any digital computer and in particular a personal computer.

SUMMARY OF THE INVENTION

These and other needs are satisfied by the invention which is directed to a system for entering data to a digital computer program. This novel system integrates an expert system with electronic data forms. Essentially, at each field in an electronic dataform, a rulebase is employed to insure that the value entered by the user is valid in the context of the information entered up to that point. With this system, electronic data forms with complex interrelationships between fields and subforms can be developed, but there is no computer programming involved. All forms and fields are specified in a simple tabular format. The resultant electronic data forms provide the end user with a uniform interface which automatically validates input data, and insures that values entered for each field are consistent with all other values. In addition to data entry forms, hypertext help forms can be displayed in a sequence which is variable dependent upon the data entered by the user. The invention is machine independent, however, the exemplary system has been implemented on a personal computer.

More particularly, the invention is directed to a system for data entry for a digital computer which generates on a display screen variable menus of valid entries for selected menu fields with the valid data entries being variable dependent upon data entries made for designated other fields. In this manner, only valid data entries consistent with previous entries can be made for the selected fields by the user. Fields which have only one valid data entry which is dependent upon entries made for designated other fields may be designated automatically. The entries for these fields can be automatically updated without user input when any value of the designated other fields is changed. Where the automatic field is a designated other field for additional automatic fields the data entry system iteratively automatically enters the valid data entries for the additional automatic fields until a stable state is reached and no additional field values change.

The system for data entry in accordance with the invention incorporates an expert system having a rulebase which includes rules establishing the one valid entry for a selected field for each combination of values for the designated other fields and an inference engine which fires the rules to select the one valid data entry dependent upon the values of the designated other fields. This expert system includes a table for each of the fields having only one valid data entry with each table including an input column for each of the designated other fields upon which the one valid entry for the selected field depends, an output column and successive rows, each containing in the input columns a combination of values for the designated other fields and in the output column the one valid data entry for the selected field for the values of the designated other fields in the input columns. Each row in this table constitutes a rule in the rulebase. A similar table is maintained for each field having a menu of valid outputs, with the output columns specifying the valid entries for each combination of input values in a row.

Also in accordance with the invention, appropriate commands invoked at designated fields on a given form can result in display of one of a plurality of subforms with the subform displayed being variable dependent upon the data entered for designated other fields. Again, an expert system having a rulebase which includes rules establishing the one subform displayed for each combination of values for the designated other fields is incorporated in the system. This rulebase includes an indirection table for each field that may call a subform. The indirection table includes an input column for each designated other field upon which the one subform displayed by invocation of the appropriate command is dependent, an output column, and successive rows each containing in the input columns a combination of values for the designated other fields and in the output column the one subform displayed for the values of the designated other fields in the input columns, with each row constituting a rule in the rulebase.

As another aspect of the invention, certain fields appear in multiple locations in an interface and can be designated as global fields so that entering a value in the global field with a specified name in one location enters that same value in all other fields of like name in the interface. Further, the values of specified fields in subforms can be overridden on entry to those subforms by values entered for those fields in a parent form, and a field on a parent form can be labeled for modification upon return from a subform such that the labeled field on the parent form is changed to the value of a field of the same name on the subform when returning to the parent form from the subform.

As yet another feature of the invention, hypertext help forms can be called up for display with the hypertext help form network dependent upon the values that have been entered for designated fields on the calling form. In this manner, the help forms presented are dynamically tailored to the prevailing conditions. Each particular help form called is determined by an indirection table contained in the expert system rulebase.

BRIEF DESCRIPTION OF THE DRAWINGS

A full understanding of the invention can be gained from the following description of the preferred embodiment when read in conjunction with the accompanying drawings in which:

FIG. 1 is an illustration of a display generated by the electronic form data entry system of the invention.

FIG. 2 is an illustration of a heirarchy of forms generated by the electronic form data entry system of the invention.

FIG. 3 is a schematic diagram of a digital computer installation on which the exemplary embodiment of the invention is implemented.

FIG. 4 is a diagram of a data structure used to implement the electronic form data entry system of the invention on the digital computer installation of FIG. 3.

FIGS. 5A, 5B, 6, 7A, 7B, 7C, 8, 9, 10A, 10B and 11-18 are flow charts of a computer program suitable for implementation of the electronic form data entry system of the invention in the digital computer installation of FIG. 3.

FIG. 18 is a functional diagram illustrating the organization of a system for implementing expert software systems utilizing the software tools of the related application.

FIG. 19 is a schematic diagram in block form of a computer system.

FIGS. 20A through 20 E illustrate a flow chart for a suitable program for implementation by the computer system of FIG. 19 of a knowledge compiler.

FIGS. 21A through 21C illustrate a flow chart for a suitable program for implementation by the computer system of FIG. 19 of a knowledge processor.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

This invention is directed to an electronic form data entry system which utilizes an expert system to guide the user in entering data on the forms and to assure that the data entered is valid and consistent with other data entered previously. This includes providing lists of consistent values based on previous entries from which the user may choose a valid entry, and in the case where there is only one valid entry, automatically entering the data. The system can also call subforms and pass information downward from a parent form or upward from a subform, again with the assurance of only valid entries. The system further allows the calling of software functions defined in an application program and the validation of entries returned. While some of the examples used in the following description of an exemplary embodiment of the invention are related to a system for selecting electric motors to meet a customers specifications, such examples are for illustrative purposes only and the invention is applicable to a wide variety of data gathering interfaces for digital computers.

FIG. 1 illustrates an exemplary form 1 which can be generated by the present invention. The form 1 includes background text 2 which conveys information to the user, and a number of fields 3 in which the user enters information, all presented within a window 4 which may be bounded by a border.

The form 1 shown in FIG. 1 is a hybrid form which includes an embedded form 5. The embedded form 5 includes additional background text and fields. In the example shown, the embedded form 5 is an array form containing a set of fields 6 which is replicated at 6'. The set of fields 6 may be reproduced as many times as necessary to enter sets of data requiring the same types of information. In the example shown, only two set of fields 6 and 6' are visible at any given time in the embedded form; however, additional sets of fields can be scrolled in the window 7 of the embedded form. This arrangement allows for the entry of repetitive type information while maintaining the general information of the form 1 in view. The sets of fields 6 and 6' include the same background text 8 and 8' and the same or different data may be entered in corresponding fields 9 and 9' in the replications of the set of fields.

A calling form such as the form 10 in FIG. 2 may call a subform 11 which in turn may call an additional subform 12, thus creating a hierarchy of forms. As shown in FIG. 2, the top form 10 may call additional subforms, such as subform 13 which is identical to the subform 12 called by subform 11. Another hierarchy of forms can be created by the subform 13 calling a subform 14, and so forth. The subforms can be used for various purposes. For example, they might provide additional detailed information about a field on a calling form or may be used to calculate a value for a field on the parent form. In some instances, the same field may appear on a form and one or more of its subforms. For example, in FIG. 2, the field A on parent form 10 also appears on forms 11, 12 and 13. Each subform is called by a field on the calling form.

When a form calls a subform, data may be entered on the subform and then the system returns to the calling form. If the subform called calls for a further subform, as in FIG. 2 where subform 11 calls for subform 12, the system returns to subform 11 after subform 12 has been processed and then returns to the parent form 10. The forms pass information between each other when going from parent to subform and from subform to parent. Thus in the case of going from form 10 to subform 11 in FIG. 2, the values of fields A and C in form 10 are passed to form 11 and used to override previous values of those fields on form 11. If, in processing form 11, the values of A or C are changed, the new values of these fields can, if specified by the developer, be passed upward when the system returns to form 10. Similarly, any changes in field A in subform 12 can be passed up through subform 11 to subform 10.

The fields can be either global or local. Thus, for example, if the field A is global and its value is changed on form 12, the value of the field A would be changed on all forms 10 through 13 having the field A. On the other hand, if the field is local, it only affects other fields with the same name are not affected. A hybrid form may be constructed by grouping together several forms in a heirarchical structure like in FIG. 2. In such a case, form 10 is a root form and forms 10-14 are embedded forms within form 10. Form 14 is embedded in form 13 which in turn is embedded in form 10, and form 12 is embedded in form 11 which in turn is embedded in form 10. Forms 10-14 embody the hybrid form. Each of forms 10-14 has its own window to display its own set of fields. Unlike the form heirarchy discussed above, all fields on the hybrid form are active at the same time. Embedded forms do not have to be called from the root form 10 by the user because they are an integral part of the root form 10 and therefore are automatically displayed when the root form 10 is called by the used. In the context of hybrid forms, the concept of scope may be discussed. Scope refers to which fields in a hybrid form may affect one another. By default, any field in a hybrid form may affect or be dependent upon another. However, when scope is restricted in a hybrid form, only fields within the same scope may affect one another. By within the same scope, it is meant that two fields are in a direct path between each other in the heirarchy. For instance, if the field H is local and drives field A, and its value is changed in subform 12, this would cause a change to the value of the field A in forms 11 and 10, but would not affect the value of the field A in form 13.

Forms may be global or local as well as fields. Thus, it will be noticed from FIG. 2 that the forms identified as 12 and 13 are different instantiations of the same form. This form is called as a subform by form 10 directly, and is also called by subform 11. If this subform is designated as global, then values entered in any one instantiation of the form such as at 13 in FIG. 2, will appear in all other instantiations of the form, such as at 12. On the other hand, if the subform is not a global subform, then changes made to fields on the form will only appear on the instantiations of the form in which the field is directly changed.

As mentioned previously, the system is unique in that the consistency of data is assured as entries are made. One means by which this is implemented is through dynamic constraint of the inputs in certain fields based upon values previously entered in certain other fields. Menus are used for this purpose. Field values listed on the menu which may be selected by the user are variable depending upon data previously entered in driving fields. Thus, returning to FIG. 1, when the user selects a menu driven field, a window 15 is presented on the screen next to the current field. This window contains the menu 16 listing current, valid values for that field. In the example, discrete values between 720 and 3600 RPM for a motor 1 are presented adjacent the rpm field. These valid rpm selections are a function of previous data entered for the motor. As can be seen, 1800 rpm has been selected from the menu for the RPM field of set of fields form 6 and 3600 has been selected for the corresponding field in the set of fields.

In some instances, there will be only one valid menu item for the current field at any time although this current valid value can vary dependent upon entries made in certain other fields. Since there is only one valid selection for such a field, the system can automatically enter the one valid value without action by the user. Thus, these fields are referred to as automatic menu fields.

It should be evident that making automatic entries of data could result in changing of other field values which are dependent upon the field value which was automatically changed. And in fact, it is possible that the propagation of a change made in one field could result in the changing of the value of the field in which the original entry was made. Thus, for instance, referring to FIG. 2, a change entered in the value of field A in FIG. 10 could result in an automatic change in the value of field B, which in turn could automatically change the value of field C which could change the value of field A. The system propagates automatic changes until all affected fields have been changed. A stable state will be reached as long as consistent relationships have been established in the rulebase to be discussed below which determines the relationships between fields.

In making automatic changes, the system enters the value directed by the automatic change, and then checks for fields which the changed field affects. Each of those fields must then be checked to see if they change. If they are changed, then the fields which they affect must also be checked. All such affected fields are iteratively checked until no more changes are observed.

In addition to automatic menus, field values may be automatically set based upon dependencies established between a current field and fields for which data was previously entered. In