|
|
|
| United States Patent | 5367619 |
| Link to this page | http://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) |
| Abstract | An 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  |
|
|
|
|
|
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 |
|
|
|
|
|
| Publication Date |
November 22, 1994 |
|
|
|
|
|
| Filing Date |
January 10, 1994 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This application is a continuation of application Ser. No. 07/515,817 filed
Aug. 27, 1990, now abandoned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5077666 Brimm
Dec,1991 |      Your vote accepted [0 after 0 votes] | | 5008810 Kessel
Apr,1991 |      Your vote accepted [0 after 0 votes] | | 4982344 Jordan 715/804 Jan,1991 |      Your vote accepted [0 after 0 votes] | | 4866634 Reboh 706/60 Sep,1989 |      Your vote accepted [0 after 0 votes] | | 4837693 Schotz 705/4 Jun,1989 |      Your vote accepted [0 after 0 votes] | | 4823283 Diehm 715/825 Apr,1989 |      Your vote accepted [0 after 0 votes] | | 4789962 Berry 715/715 Dec,1988 |      Your vote accepted [0 after 0 votes] | | 4752889 Rappaport 706/11 Jun,1988 |      Your vote accepted [0 after 0 votes] | | 4723209 Hernandez
Feb,1988 |      Your vote accepted [0 after 0 votes] | | 5206949 Cochran 707/4 Dec,1969 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 | | |