|
|
|
| United States Patent | 5623592 |
| Link to this page | http://www.wikipatents.com/5623592.html |
| Inventor(s) | Carlson; Jeffrey D. (Sunnyvale, CA);
Fernandes; Jorge M. (Newark, CA) |
| Abstract | A method and apparatus for causing a computer to drive one or more external
devices is provided. A computer executes instructions which cause the
computer to display an experiment design region and a set of icons. A user
copies the icons into the experiment design region to specify the various
phases of an experiment. By setting controls in windows associated with
the icons, a user specifies how the general stages of an experiment will
be performed. Specifically, a user operates controls associated with the
icons in the experiment design region to specify which devices will be
used in the experiment, how data generated during the experiment will be
stored, how different sets of data are related, calculations to be
performed on the data, and the format of reports generated based on the
data gathered during the experiment. The user specifies the operations to
be performed by constructing an icon sequence in a scheduler window. The
icon sequence may include device icons which represent devices, operation
icons which represent the operations to be performed, and sequence control
icons which affect the sequencing of certain designated operations. The
computer then issues control signals to the devices specified in the icon
sequence to cause the devices to perform the operations specified in the
icon sequence. The operations are performed in the order specified by the
icon sequence. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5623592 |
|
|
Method and apparatus for constructing an iconic sequence to operate
external devices |
|
|
|
|
|
| Publication Date |
April 22, 1997 |
|
|
|
|
|
| Filing Date |
October 18, 1994 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 | 5481741 McKaskle 345/522 Jan,1996 |      Your vote accepted [0 after 0 votes] | | 5475851 Kodosky
Dec,1995 |      Your vote accepted [0 after 0 votes] | | 5443791 Cathcart 422/65 Aug,1995 |      Your vote accepted [0 after 0 votes] | | 5436718 Fernandes 356/73 Jul,1995 |      Your vote accepted [0 after 0 votes] | | 5394522 Sanchez-Frank 715/735 Feb,1995 |      Your vote accepted [0 after 0 votes] | | 5388264 Tobias, II 707/103R Feb,1995 |      Your vote accepted [0 after 0 votes] | | 5371895 Bristol 717/136 Dec,1994 |      Your vote accepted [0 after 0 votes] | | 5343401 Goldberg 700/138 Aug,1994 |      Your vote accepted [0 after 0 votes] | | 5301336 Kodosky 715/846 Apr,1994 |      Your vote accepted [0 after 0 votes] | | 5301301 Kodosky 716/11 Apr,1994 |      Your vote accepted [0 after 0 votes] | | 5168441 Onarheim 700/17 Dec,1992 |      Your vote accepted [0 after 0 votes] | | 4914568 Kodosky 715/763 Apr,1990 |      Your vote accepted [0 after 0 votes] | | 4901221 Kodosky 715/771 Feb,1990 |      Your vote accepted [0 after 0 votes] | | 5291587 Kodosky 703/2 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 method for causing a computer to operate an external device, said
computer having a display device, the method comprising the steps of:
causing said computer to display on said display device a device icon, said
device icon representing said external device;
causing said computer to display on said display device an operation icon,
said operation icon representing an operation performable by said external
device;
constructing an icon sequence, said icon sequence including said device
icon and said operation icon; and
causing said computer to generate control signals responsive to said icon
sequence, said control signals including a control signal for causing said
external device to perform said operation;
wherein said external device is a first external device of a plurality of
external devices and said device icon is a first device icon of a
plurality of device icons, each device icon of said plurality of device
icons representing a corresponding external device of said plurality of
external devices, wherein said step of constructing said icon sequence
includes inserting said plurality of device icons into said icon sequence;
and wherein said step of constructing said icon sequence includes inserting
a plurality of operation icons into said icon sequence, wherein said
plurality of operation icons represent a plurality of operations, wherein
said step of causing said computer to generate control signals includes
causing said computer to generate control signals to cause said plurality
of operations to be performed by said plurality of external devices,
wherein the one or more devices of said plurality of external devices
which performs a given operation of said plurality of operations is
determined based upon a plurality of relative positions of said plurality
of device icons and said plurality of operation icons in said icon
sequence.
2. The method of claim 1 further comprising the step of causing said device
icon to represent said external device by performing the steps of:
specifying a specific device type for said device icon, wherein said
specific device type is the device type of said external device;
causing said computer to display on said display device a plurality of
indications of external devices of said specific device type, said
plurality of indications including an indication of said external device;
and
selecting said indication of said external device from said plurality of
indications.
3. The method of claim 1 further comprising the step of causing said
computer to display on said display device a sequence control icon, said
step of constructing said icon sequence including the step of inserting
said sequence control icon into said icon sequence, said step of causing
said computer to generate control signals including the step of causing
said computer to generate control signals in a sequence responsive to said
sequence control icon.
4. The method of claim 3 further including the steps of:
specifying a plurality of target icons in said icon sequence, said
plurality of target icons including at least one operation icon, and
specifying a number of repetitions associated with said sequence control
icon;
said step of causing said computer to generate control signals including
the step of causing said computer to generate control signals cause an
external device associated with said at least one operation icon to
perform the operation represented by said at least one operation icon for
said number of repetitions.
5. The method of claim 3 further including the steps of:
causing said computer to display on said display device one or more
controls associated with said sequence control icon, wherein said one or
more controls are controls for specifying a terminating condition; and
specifying said terminating condition using said one or more controls.
6. The method of claim 5 wherein said step of specifying said terminating
condition includes specifying a number of iterations of said operation.
7. The method of claim 1 further comprising the steps of:
causing said computer to display on said display device an experiment
design region;
causing said computer to display on said display device a scheduler icon;
copying said device icon into said experiment design region;
copying said scheduler icon into said experiment design region;
associating said device icon with said scheduler icon; and
causing said computer to display on said display device a scheduler window
associated with said scheduler icon;
wherein said step of constructing said icon sequence includes constructing
said icon sequence in said scheduler window.
8. The method of claim 7 further including the step of causing said
computer to display on said display device an association indication that
visually depicts an association between said device icon and said
scheduler icon.
9. The method of claim 1 wherein said device icon and said operation icon
are a single composite icon representing both said external device and
said operation performable by said external device.
10. The method of claim 1 further including the steps of:
causing said computer to display on said display device one or more
controls
associated with said device icon, wherein said one or more controls are
controls for specifying operational parameters for said external device;
and
specifying operational parameters for said external device using said one
or more controls.
11. The method of claim 10 wherein said external device has a plurality of
operational modes, wherein said step of specifying operational parameters
includes selecting a mode of said plurality of operational modes.
12. The method of claim 1 further including the steps of:
causing said computer to display on said display device one or more
controls associated with said operation icon, wherein said one or more
controls are controls for specifying operational parameters for said
operation; and
specifying operational parameters for said operation using said one or more
controls.
13. The method of claim 12 wherein said step of specifying operational
parameters for said operation includes specifying a duration of said
operation.
14. The method of claim 1 wherein said external device is a photometer.
15. A method for causing a computer to operate an external device, said
computer having a display device, wherein said external device generates
data responsive to performing an operation, the method comprising the
steps of:
causing said computer to display on said display device a device icon, said
device icon representing said external device;
causing said computer to display on said display device an operation icon,
said operation icon representing an operation performable by said external
device;
constructing an icon sequence, said icon sequence including said device
icon and said operation icon:
causing said computer to generate control signals responsive to said icon
sequence, said control signals including a control signal for causing said
external device to perform said operation;
causing said computer to display on said display device an experiment
design region;
causing said computer to display on said display device a scheduler icon;
copying said device icon into said experiment design region:
copying said scheduler icon into said experiment design region;
associating said device icon with said scheduler icon;
causing said computer to display on said display device a scheduler window
associated with said scheduler icon;
wherein said step of constructing said icon sequence includes constructing
said icon sequence in said scheduler window:
causing said computer to display on said display device a database icon;
copying said database icon into said experiment design region;
specifying a database format associated with said database icon;
associating said scheduler icon with said database icon; and
storing said data generated during said operation in said database format.
16. The method of claim 15 further comprising the steps of:
causing said computer to display on said display device a report icon;
copying said report icon into said experiment design region;
specifying a particular report format associated with said report icon;
associating said database icon with said report icon; and
generating a report of said data in said particular report format.
17. A method for causing a computer to operate an external device, said
computer having a display device, wherein said external device generates a
first set of data responsive to performing an operation, the method
comprising the steps of:
causing said computer to display on said display device a device icon, said
device icon representing said external device;
causing said computer to display on said display device an operation icon,
said operation icon representing an operation performable by said external
device;
constructing an icon sequence, said icon sequence including said device
icon and said operation icon;
causing said computer to generate control signals responsive icon sequence,
said control signals including a control signal for causing said external
device to perform said operation;
causing said computer to display on said display device an experiment
design region;
causing said computer to display on said display device as scheduler icon;
copying said device icon into said experiment design region;
copying said scheduler icon into said experiment design region;
associating said device icon with said scheduler icon;
causing said computer to display on said display device a scheduler window
associated with said scheduler icon;
wherein said step of constructing said sequence includes constructing said
icon sequence in said scheduler window;
causing said computer to display on said display device a data correlation
icon;
copying said data correlation icon into said experiment design region;
specifying a correlation between said first set of data and a first
plurality of labels with controls associated with said data correlation
icon;
associating said scheduler icon with said data correlation icon; and
causing said computer to generate correlation data representing said
correlation responsive to said data correlation icon.
18. A method for causing a computer to operate an external device, said
computer having a display device, the method comprising the steps of:
causing said computer to display on said display device a device icon, said
device icon representing said external device;
causing said computer to display on said display device an operation icon,
said operation icon representing an operation performable by said external
device;
constructing an icon sequence, said icon sequence including said device
icon and said operation icon;
causing said computer to generate control signals responsive to said icon
sequence, said control signals including a control signal for causing said
external device to perform said operation;
causing said computer to display on said display device a stopwatch icon,
said icon sequence including said stopwatch icon; and
causing said computer to begin tracking elapsed time upon completion of an
operation represented by an icon directly preceding said stopwatch icon in
said icon sequence.
19. A method for causing a computer to operate an external device, the
computer having a display device, the method comprising the steps of:
causing said computer to display on said display device an operation icon,
said operation icon representing an operation performable by said external
device;
causing said computer to display on said display device a sequence control
icon, said sequence control icon being associated with a terminating
condition;
constructing an icon sequence including said sequence control icon and said
operation icon; and
causing said computer to generate control signals to said external device,
said control signals causing said external device to repeatedly perform
said operation until said terminating condition is satisfied wherein a
linear insertion position of said sequence control icon determines which
icons in the icon sequence are affected by said sequence control icon.
20. The method of claim 19 further comprising the steps of:
causing said computer to display controls associated with said sequence
control icon, wherein said controls are controls for specifying said
terminating condition; and
specifying said terminating condition with said controls.
21. The method of claim 19 further comprising the steps of causing said
computer to display controls associated with said operation icon, wherein
said controls are controls for specifying operational parameters of said
operation; and
specifying said operational parameters with said controls.
22. A method for graphically programming a computer to automate an
analysis, said computer having a display device, the method comprising the
steps of:
constructing a sequence of icons on said display device, said sequence of
icons including at least one icon specifying an operation and at least one
icon specifying an external device; and
causing said computer to generate control signals to said at least one
external device, said control signals causing said at least one external
device to perform said operation wherein said step of constructing said
sequence of icons includes the step of inserting into said sequence of
icons a plurality of operation icons, each operation icon of said
plurality of operation icons specifying an operation of a plurality of
operations, wherein said step of causing said computer to generate control
signals includes causing said computer to generate control signals to
cause said plurality of operations to be performed in a sequence
corresponding to a plurality of relative positions of said plurality of
operation icons in said sequence of icons.
23. The method of claim 22 wherein said step of constructing said sequence
of icons includes the step of inserting into said sequence of icons at
least one sequence control icon, said computer generating said control
signals to cause said sequence in which said plurality of operations are
performed to be modified responsive to said at least one sequence control
icon.
24. A system for automatically performing a series of operations,
comprising:
a computer having a display device and an input device;
at least one external device operatively coupled to said computer;
said computer executing a series of instructions to cause said at least one
external device to perform said series of operations, said series of
instructions including instructions for:
constructing and displaying a sequence of icons on said display device
responsive to input from said input device, said sequence of icons
including at least one operation icon, said at least one operation icon
specifying said series of operations; and generating control signals to
said at least one external device, said control signals causing said at
least one external device to perform said series of operations;
wherein said series of instructions includes instructions for:
inserting into said sequence of icons a plurality of operation icons
responsive to input from said input device, each operation icon of said
plurality of operation icons specifying an operation; and
causing said computer to generate control signals to cause said series of
independent operations to be performed in a sequence corresponding to a
plurality of relative positions of said plurality of operation icons in
said sequence of icons. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to a method and apparatus for programming a
computer and, more specifically, to a method for programming a computer to
operate an external device according to a schedule.
BACKGROUND OF THE INVENTION
Various methods have been developed for programming a computer. One common
method involves writing source code which designates a series of
operations. The source code is then compiled into machine-executable code.
The computer then loads and executes the machine-executable code to
perform the designated series of operations. The source code programming
method has a significant disadvantage in that it generally requires a high
degree of programming skill and many hours of software design, coding,
testing and debugging. Thus, this method is impractical for the average
computer user.
Another method for programming a computer involves writing a script file
which designates a series of operations. According to this method, the
script file is interpreted by a script execution routine. In response to
reading the script file, the script execution routine causes the computer
to perform the operations designated in the script file. The script
programming method is similar to the source programming code method with
the exception that script languages are usually tailored to particular
applications. For example, a communications program may be designed to
execute script files with commands for setting protocols, setting the
operational parameters of a modem, and logging on to remote systems.
Because they only cover a specific application, a script language typically
has fewer commands than standard programming languages. Because fewer and
more specialized commands are available to the user, less skill and time
are required to create script files than are required to create source
code files. However, the creation of meaningful script files is still
beyond the skill level of many computer users.
Further, for complex tasks such as automating an experiment, a limited
command set may not suffice. For example, a single experiment may involve
operations on numerous instruments. Each of the instruments may be capable
of operating in a variety of modes. Each mode may support numerous types
of operations. In addition, each operation may be performed on numerous
combinations of specimens. A script language designed to support more than
a trivial amount of instrument/mode/operation/specimen combinations would
likely be as complex as a source code language, and therefore require a
programming expertise not normally possessed by technicians who perform
experiments.
A disadvantage common to both source code and script programming is that
they are based on textual commands. Because the commands are textual, the
commands tend to favor a particular natural language. For example, a
programming language which contains the commands "begin" and "end" would
be better understood by English-speaking users, and less comprehensible to
users that do not speak English.
A second disadvantage common to both source code and script programming is
that typical textual programming environments do not inherently assist the
programmer. For example, most textual programming environments present the
programmer with a blank screen or window in which to type the text of a
program or script. The blank window does not communicate the available
commands. Therefore, a programmer must either have the commands memorized,
or frequently revert to a help screen or a user's manual.
A third disadvantage common to both source code and script programming is
that they are both textual. As textual descriptions, source code and
scripts are subject to numerous types of errors. For example, textual
descriptions ,are subject to lexical errors, syntactic errors, and logic
errors. Because textual descriptions are subject to numerous types of
errors, the process of designing and debugging error-free programs is
arduous and time-intensive.
A fourth disadvantage is that source code and script programming require
many lines of code to accomplish a single assignment or command.
Therefore, the programmer must retype lines of text or use text editors to
move text from one source to another. For example, the user will have to
configure the external device before initiating an execution command. All
or parts of the configuration will change depending on the demands of the
technician who performs the experiment. A technician often shortens
complex configurations to a simple word or phrase which is used in
conversation and in documentation to represent the complex configuration
or settings. Source code and script programming do not use shortened
technician language as an alternative to the many lines of code.
In light of the foregoing, it is clearly desirable to provide a method for
automating experiments which does not require a high degree of programming
expertise. Further, it is clearly desirable to provide a method for
programming which contains a high degree of natural language independence.
In addition, it is desirable to provide a method for programming a
computer which supports a relatively extensive number of operations, but
which presents the user with a relatively small subset of relevant
operations at any given time. Further, it is desirable to provide a method
for programming which is not subject to all of the types of errors
inherent in textual programming.
SUMMARY OF THE INVENTION
According to one embodiment of the invention, a system for automatically
performing a series of operations is provided. The system generally
includes a computer and at least one external device. The computer has a
display device and an input device. The external device is operatively
coupled to the computer. The computer executes a series of instructions to
cause the at least one external device to perform the series of
operations.
The instructions include instructions for constructing and displaying a
sequence of icons on the display device responsive to input from the input
device. The sequence of icons includes at least one operation icon. The
operation icon specifies the series of operations. The instructions also
include instructions for generating control signals to the external
device. The control signals cause the external device to perform the
series of operations.
The series of instructions may also include instructions for inserting into
the sequence of icons a plurality of operation icons responsive to input
from the input device. Each operation icon specifies an operation. The
instructions may also include instructions which cause the computer to
generate control signals to cause the series of operations to be performed
in a sequence corresponding to the relative positions of the operation
icons in the sequence of icons.
According to another embodiment of the invention, a method is provided for
causing a computer, which has a display device, to operate an external
device. According to the method, the computer is caused to display on the
display device a device icon. The device icon represents the external
device. The computer is caused to display on the display device an
operation icon. The operation icon represents an operation performable by
the external device. An icon sequence is constructed. The icon sequence
includes the device icon and the operation icon. The computer is caused to
generate control signals responsive to the icon sequence. The control
signals include a control signal which causes the external device to
perform the operation.
According to an aspect of the invention, the device icon is caused to
represent the external device by specifying a specific device type for the
device icon. The specific device type is the device type of the external
device. The computer is caused to display on the display device a
plurality of indications of external devices of the specific device type.
The indications include an indication of the external device. The
indication of the external device is selected from the indications.
According to another aspect of the invention, the external device is a
first external device of a plurality of external devices and the device
icon is a first device icon of a plurality of device icons. Each device
icon of the device icons represents a corresponding external device of the
external devices. The step of constructing the icon sequence includes
inserting the device icons into the icon sequence.
According to another aspect of the invention, constructing the icon
sequence involves inserting a plurality of operation icons into the icon
sequence. The operation icons represent a plurality of operations. The
computer is caused to generate control signals to cause the operations to
be performed by the external devices. The particular device of the
external devices which performs a given operation of the operations is
determined based upon the relative positions of the device icons and the
operation icons in the icon sequence.
According to another aspect of the invention, the computer is caused to
display on the display device a sequence control icon. The step of
constructing the icon sequence involves inserting the sequence control
icon into the icon sequence. The computer is caused to generate control
signals in a sequence responsive to the sequence control icon. A plurality
of target icons in the icon sequence are specified. The target icons
include at least one operation icon. A number of repetitions associated
with the sequence control icon is specified. The computer is caused to
generate control signals to cause an external device associated with the
operation icon to perform the operation represented by the operation icon
for the specified number of repetitions.
According to yet another aspect of the invention, the computer is caused to
display on the display device an experiment design region. The computer is
caused to display on the display device a scheduler icon. The device icon
is copied into the experiment design region. A scheduler icon is copied
into the experiment design region. The device icon is associated with the
scheduler icon. The computer is caused to display on the display device a
scheduler window associated with the scheduler icon. The icon sequence is
constructed in the scheduler window.
The computer is caused to display on the display device an association
indication that visually depicts an association between device icon and
the scheduler icon. The computer is caused to display on the display
device a database icon. The database icon is copied into the experiment
design region. A database format associated with the database icon is
specified. The scheduler icon is associated with the database icon. The
data generated during the operation is stored in the specified database
format.
The computer displays on the display device a report icon. The report icon
is copied into the experiment design region. A particular report format
associated with the report icon is specified. The database icon is
associated with the report icon. A report of the data is generated in the
particular report format.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of
limitation, in the figures of the accompanying drawings and in which like
reference numerals refer to similar elements and in which:
FIG. 1 illustrates a system for performing automated experiments according
to an embodiment of the invention;
FIG. 2 illustrates an experiment design window for organizing an experiment
according to one embodiment of the invention;
FIG. 3a illustrates the window that appears when a device icon in an
experiment design window is invoked according to an embodiment of the
invention;
FIG. 3b illustrates the window that appears when a wavelength selection
icon within the window illustrated in FIG. 3a is invoked;
FIG. 3c illustrates the window that appears when a sample selection icon
within the window illustrated in FIG. 3a is invoked;
FIG. 4 illustrates the window that appears when a database icon in an
experiment window is invoked according to an embodiment of the invention;
FIG. 5 illustrates the window that appears when a data correlation icon in
an experiment window is invoked according to an embodiment of the
invention;
FIG. 6a illustrates a data table in the window that appears when the data
view icon in an experiment window is invoked according to an embodiment of
the invention;
FIG. 6b illustrates a graph table in the window that appears when a data
view icon in an experiment window is invoked according to an embodiment of
the invention;
FIG. 7 illustrates the window that appears when an analysis icon in an
experiment window is invoked according to an embodiment of the invention;
FIG. 8 illustrates a scheduler window according to an embodiment of the
invention;
FIG. 9a illustrates a menu displayed when an a user selects the device icon
from an icon bar of a scheduler window according to an embodiment of the
invention;
FIG. 9b illustrates a device icon/cursor according to an embodiment of the
invention;
FIG. 9c illustrates a device icon inserted on a time line according to an
embodiment of the invention;
FIG. 9d illustrates a kinetic icon inserted on a time line according to an
embodiment of the invention;
FIG. 9e illustrates a stop icon inserted on a time line according to an
embodiment of the invention;
FIG. 9f illustrates a stop dialog box for specifying post-data acquisition
operations according to an embodiment of the invention;
FIG. 9g illustrates a stop icon with an alarm indication according to an
embodiment of the invention;
FIG. 9h illustrates a menu displayed when a stopwatch icon is selected form
an icon bar of a scheduler window according to an embodiment of the
invention;
FIG. 9i illustrates a stopwatch cursor/icon and various stopwatch icons
according to an embodiment of the invention;
FIG. 9j illustrates a menu displayed when a sample icon is selected from an
icon bar of a scheduler window according to an embodiment of the
invention;
FIG. 9k illustrates a stacker icon on a time line according to an
embodiment of the invention;
FIG. 9l illustrates a stacker dialog box displayed when a stacker icon on a
time line is selected according to an embodiment of the invention;
FIG. 9m illustrates a shake menu displayed when a shake icon on an icon bar
is selected according to an embodiment of the invention;
FIG. 9n illustrates a shake dialog box according to an embodiment of the
invention;
FIG. 9o illustrates a drawer menu displayed when a drawer icon is selected
from an icon bar according to an embodiment of the invention;
FIG. 9p illustrates a drawer cursor/icon and a plurality of drawer icons
according to an embodiment of the invention;
FIG. 10 illustrates a dialog box for establishing the duration of a kinetic
| | |