|
|  Get related patents on CD |
| United States Patent | 4813013 |
| Link to this page | http://www.wikipatents.com/4813013.html |
| Inventor(s) | Dunn; Robert M. (Woodbridge, CT) |
| Abstract | An interactive rule based system enables problem solutions to be generated
in schematic diagram form. A methodology designer selects and arranges
graphic primitives using a graphics terminal to create a library of icons.
Under control of a computer processor, the methodology designer is
prompted to identify, by way example, parameters for using each icon. The
system generates and stores a specific set of rules pertaining to the use
of each icon on the basis of the parameters identified. The stored rules
are cross-referenced to the icon to which they pertain, so that whenever
the icon is selected by a problem solving user for use in building a
problem solution, the rules pertaining thereto will be accessed and
applied. A methodology designer can also select and concatenate functions
to each other and to icons to create more complex functions for use in
building problem solutions. New functions can also be created in the form
of truth tables which establish a transfer function across an icon. By
accessing and selecting icons and functions created by a methodology
designer, a problem solving user can build a solution to a problem by
graphically coupling the icons and functions together on a chart. |
| |
|
Title Information  |
|
|
|
|
|
|
| Publication Date |
*
March 14, 1989 |
|
|
|
|
|
| Filing Date |
December 22, 1986 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This application is a continuation of application Ser. No. 585,535 filed on
Mar. 1, 1984, now U.S. Pat. No. 4,656,603 which issued Apr. 7, 1987.
BACKGROUND OF THE INVENTION
The present invention relates to computer systems and more particularly to
a new type of interactive computer system for enabling a problem solving
user to create (i.e. plan and evaluate) solutions to problems by building
schematic diagrams representative of the solutions. The system of the
present invention is useful in designing solutions which lend themselves
to symbolic representation, e.g. in the form of schematic diagrams such as
flow charts, process diagrams, and the like. Examples of designs which
utilize such solutions are the layout of assembly lines for product
manufacturing, the design of computer systems, computer software design,
and the design of refineries and chemical plants. The interactive computer
system disclosed herein also has application to the creation and use of
"smart forms", e.g. for income tax reporting purposes, which are capable
of satisfying the unique requirements of any problem solving user.
Past attempts to develop computer systems which are capable of creating
problem solutions have been implemented through artificial intelligence
techniques. Artificial intelligence is the branch of computer science that
attempts to make machines emulate intelligent behavior. There has been
success in enabling a computer to reason from knowledge in a limited
domain, and in some instances computer programs implementing artificial
intelligence techniques can exceed human performance. Such programs use a
collection of facts, rules of thumb, and other knowledge about a given
field, coupled with methods of applying those rules, to make inferences.
These programs have been applied to such specialized fields as medical
diagnosis, mineral exploration, and oil-well log interpretation. Since
such programs often must make conclusions based on incomplete or uncertain
information, they differ substantially from conventional computer programs
which solve problems in accordance with pre-defined algorithms and
complete data sets. The power of such systems results from entering large
amounts of knowledge into the computer. It is such knowledge data, and not
sophisticated reasoning techniques, that is responsible for the success of
such "expert" systems. An introduction to such systems is provided in the
article entitled "Expert Systems: Limited But Powerful", by William B.
Gervarter, IEEE Spectrum, August, 1983, pgs. 39-45.
One problem with knowledge based expert systems is the vast amount of data
which must be entered into the computer in order to provide a useable
system. The more knowledge a system is given, the better will be its
solution. There is a tradeoff, however, because greater search time is
required when more information is entered into the system. Other drawbacks
to such systems are their narrow domain of expertise, the requirement that
problem solving users describe problems in a strictly defined formal
language, and the extensive training required to teach problem solving
users to use such systems.
The present invention provides a general purpose machine for designing
problem solutions which can be represented in schematic diagram form, and
avoids many of the problems associated with prior knowledge based systems.
Although the system can be used to build problem solutions in any field in
which solutions can be represented in schematic form, the system will be
described herein primarly with reference to the automation of the process
used by programmers, data processing analysts, and system methodology
designers to create computer software for commercial applications. The
description of the invention in connection with the creation of computer
software is not intended to limit the scope of the invention in any
manner. Those skilled in the art will appreciate that as a general purpose
system, the apparatus and techniques of the present invention will have
broad application to the design of problem solutions in any field where
such solutions can be represented in schematic diagram form.
Current methods of software design are time consuming and unsuitable for
collaboration between many people. It would be advantageous to provide
tools for software creation professionals which allow them to employ
techniques derived from the world f computer aided design and engineering.
These techniques would be utilized to create the logical analysis of the
system whose design is being sought, to plan the solution itself, to
identify the parts of the solution that can be implemented as independent
modules, to identify the elements of communication between such
independent modules in the solution's implementation, to design the
independent solution components, and to test for their logical correctness
prior to actually including the design solutions in a computer program. It
would also be advantageous to be able to utilize functional modules
previously designed in the context of other solutions for other problems,
in the solution effort for the problem at hand. Such re-utilization of
previously developed modules would increase the efficiency of the design
process. The present invention relates to such a system.
In the system of the present invention, problem solutions can be generated
in schematic diagram form in accordance with certain methodologies. The
solutions are such that information can be extracted from a design at a
graphical level and be used as the basis for subsequent input to automatic
code generation tools or other automated functions, such as the generation
of masks for fabricating integrated circuits. The system enables problem
solving users to initially sketch what they conceive to be their current
notion of a possible solution strategy. This mode of system use is
referred to as the "chart" mode. After the sketching process has led to
some degree of satisfaction and acceptance of the solution strategy, a
formal rule-based schematic of the solution can be created which logically
conveys each aspect of the solution prior to its implementation. The
creation of such schematics occurs at the "schematic" level of the system.
The formal schematic is then reviewed by the system to verify that it is
correct with regard to all of the internal formal rules, details and
mechanisms of the methodology that is employed to create it.
A key function of the present invention is the provision of means for
enabling a methodology designer to create a library of logically or
methodologically based schematic symbols, or graphic icons, and related
formal functions which govern the employment and manipulation of the
graphic icons when combined into a problem solution. The icons and
functions are created by the methodology designer on an interactive basis
with the system. Thus, during the creation of such icons and functions,
the system prompts the methodology designer to identify, by way of
example, the parameters and use of each icon or function. On the basis of
these parameters, the system generates and stores a specific set of rules
for each and every icon and function which completely and logically
establish how each icon and function can be used to build problem
solutions. In prompting a methodology designer to identify such
parameters, the system requires the methodology designer to provide
examples as to how the icon or function being created can be connected to
other icons and/or functions. Such examples enable the system to generate
the specific rules for the use of the icons and functions. Thus, the rules
are built "by way of example".
As noted, the methodology designer can create new graphic icons and new
formal functions. The new functions can be represented either in a text
format or symbolically as "function icons". Such new functions can be
built in three ways, to be explained hereinafter in detail. In general,
these three methods comprise (1) concatenating function primitives already
stored in the system; (2) concatenating function primitives with other
existing complex functions; and (3) creating value tables for a function
icon by assigning input and output values to all of the open ended
connectors present on the function icon, which values are used by the
system to establish a transfer function across the icon. The types of
values which can be assigned when creating value tables are actual
numerical values, indirect values (i.e., pointers to actual values), and
inputs or outputs of other functions.
Unlike prior knowledge based systems, which require the entry and storage
of a vast amount of information, the system of the present invention
builds rules on the basis of procedure within a field of intent. Each such
field of intent may be represented by its own library of icons and
functions within the system. The system thereby precludes interference
between intents. Since a methodology designer can create unique sets of
icons and functions to accomplish desired intents from axiomatic
primitives stored in the system, a truly general purpose machine results.
Once a methodology designer creates a special library of icons and
functions for a desired application (i.e., intent), the system can then
accommodate any problem solving user who desires to build problem
solutions for that application in schematic diagram form. The methodology
designer has complete control over what applications the system can be
used for and in the definition of the methodology to be used in building
solutions for those applications. This is a substantial advance over prior
systems, which can be used only for the creation of problem solutions
according to an established methodology in the specific field in which the
machine is "knowledgable".
SUMMARY OF THE INVENTION
In accordance with the present invention, an interactive rule based system
is provided for generating problem solutions in schematic diagram form.
The system operates and can be interfaced with on several levels. A first
level of operation is engaged in by a "problem solving user", who builds
schematic diagrams for applications available through existing machine
functions. The first level problem solving user has an inventory of such
functions, arranged in libraries or sets on a function drum, and an
inventory of icons, arranged in libraries or sets on an icon drum and that
together provide the building blocks necessary to use the system for an
intended application.
A second, higher order level of operation is engaged in by a "methodology
designer" who actually creates the libraries of functions and icons that
are available to the problem solving. It will be understood that the
methodology designer and problem solving user can be the same or different
persons; the role of each, however, is quite distinct. The methodology
designer, through interactive use of the system, actually establishes the
methodologies that govern the building of schematic diagrams by the
problem solving user. The present invention is primarily concerned with
this second level of operation, and in particular with the unique tools
provided for use by the methodology designer.
The system includes a computer processor, a graphics terminal coupled to
the processor, and means for providing a multi-portion split display on
the graphics terminal. A plurality of functions and graphic and functional
primitives are stored in the computer processor. Means are provided for
enabling a methodology designer to employ the functions and select and
arrange the graphic primitives using the graphics terminal to create a
library of icons. Means operatively associated with the computer processor
are provided for prompting a methodology designer to identify, by way of
example, parameters which define each icon and its use. The system
generates and stores a specific set of formal rules pertaining to the
nature and use of each icon on the basis of the parameters identified. The
stored formal rules are cross-referenced to the icon to which they
pertain, so that whenever the icon is selected by a problem solving user
for use in building a problem solution, the formal rules pertaining
thereto will be accessed and applied.
In order to provide a friendly and consistent interface for a problem
solving user, means are provided for symbolically displaying, in one
portion of the split display, an icon drum comprising a set of icons from
the icon library created by the methodology designer. Each such set of
icons relates specifically to a category of formal schematic diagrams.
Similarly, a set of functions is displayed on a function drum in another
portion of the split display. Each such set of functions relates
specifically to a category of operations applicable to the category of
schematic diagrams which can be created from the icons displayed on the
icon drum. Means are provided for enabling a problem solving user to
access and select icons and functions displayed on the icon and function
drums, and to build a solution to a problem by functionally arranging and
coupling icons together on a chart work area portion of the split display.
The system insures that the functional arrangement and coupling of icons
is made strictly in accordance with the formal rules that apply to each of
the icons so arranged and coupled and the functions which are employed to
do so.
The system of the present invention can further comprise means for enabling
a methodology designer to select and concatenate functions to each other
and to icons, using the graphics terminal, to create more complex
functions for display on the function drum. The complex functions can
subsequently be used by a problem solving user to build problem solutions
in the corresponding area of intent (i.e., for the corresponding
application). Further, in order to create new functions, the system will
analyze any new function icons created by a methodology designer to
identify open ended connectors, and prompt the methodology designer to
assign input or output values to the open ended connectors that become
part of the employment rules for the later use of the function icon
analyzed. The input and output values assigned by the methodology designer
establish a transfer function across the function icon. The function icon
and values, in combination, form a new function for display on the
function drum and for subsequent use in building problem solutions.
In prompting a methodology designer to identify, by way of example, the
defining parameters for the intended use of each graphic or function icon,
the system requires the methodology designer to define the points of
connection to each icon. Further, the methodology designer is required to
indicate, for each connection point, whether the point is an input, an
output, or a bidirectional port. A methodology designer is also required
to indicate the connector line styles (e.g., dotted, dashed, solid line,
etc.) which are permitted to be connected to each connection point, and to
indicate the connector line types (e.g., line, arc, polyline, etc.) which
are permitted to be connected to each point. In addition, the methodology
designer is required to indicate, through system prompts, what other
objects (e.g. icons or functions) are permitted to be connected, through a
connector, to each connection point. Other system prompts require a
methodology designer to identify whether any annotation is to be
associated with a connector, and if so, what type of annotation is to be
permitted. In order to complete the formal rules which define the proper
use of each icon, the methodology designer is required to identify any
fixed and variable text and other forms of annotation which are to be
associated with each icon.
By establishing a list of formal rules for the use of each icon and
function, the system is able to enforce the rules during the building of
problem solutions. Thus, when a problem solving user functionally arranges
and couples different icons together at the first level of system
operation to create a problem solution, the system continuously verifies
that all of the formal rules for the particular icons being used and
functions applied are complied with.
Any input means well known in the art can be used to enable a problem
solving user or a methodology designer to interface with the system. In a
preferred embodiment, an input device known as a "mouse" is used to enable
the selection of functions and icons and their placement on the chart work
area of the graphics terminal, and a keyboard is used to enable text and
numbers to be input.
The system of the present invention is an intentional system. It is a
procedural rule based expert system, and not knowledge based with
inference rules as are most prior artificial intelligence expert systems.
By creating new icons and functions, and inputting the parameters which
establish the formal rules for each icon and function, a methodology
designer can customize the system for any intended purpose. Thus, a
methodology designer could develop icons and functions to enable the
system to be used by a problem solving user to build flow charts for
computer software creation, to create process flow diagrams for chemical
engineering problems, to create schematic diagrams for electrical
engineering problems, or to create any other type of chart which can be
used to build solutions to specific problems.
The formal rules established for the system are axiomatic and, as such, the
system is closed, complete, and consistent. Such formal rules are never
modified or broken to fill a special need; once established there can be
no exceptions to their application when the associated icons or functions
are used by a problem solving user. Thus, those skilled in the art will
recognize that the system of the present invention is significantly
different from any computer implemented problem solving or design system
known heretofore. In particular, such prior art systems operate in
accordance with heuristic techniques (i.e. analogical, allegorical,
metaphorical, and paradigmatic) and not the formal logical techniques
(i.e. procedural, inductive, abductive, and deductive) applied in the
present system. Heuristic based systems utilize rules of thumb or
empirical knowledge to guide a problem solution and are judgmental in
nature. Thus, they often result in ad hoc solutions which are not entirely
consistent with past results. In the present system, the establishment of
and adherence to formal rules insures consistency and provides a truly
general purpose machine with which a methodology designer can implement
any desired intent.
Since the system enables the creation of icons and functions which are each
associated with specific formal rules within an intent, and the rules are
always consistently enforced at all levels of system operation, problem
solutions generated by the system can easily be supported and analyzed at
various levels. For example, program description information can be
extracted from a completed solution and be entered into a program
description file for subsequent use in executing the problem solution.
Thus, in the case of software creation, the extracted program information
could be used by automatic code generators to produce actual software
code. In the case where masks for integrated circuits are to be created,
the program description information can be used to drive mask generators.
Information which can be extracted from problem solutions generated by the
system of the present invention includes data of several kinds. For
example, if the problem solution generated concerns the creation of
computer software, control information will be extracted which governs the
operating environment required for successful execution of the program
when it has been converted into executable code. Also, the formal
procedural description of the logical functioning of the program will be
extracted, along with the formal description of the data types of the
information employed within the program. If a problem solution concerns
data flows rather than program flows, equivalent extractions could be made
for use in a data description file as opposed to a program description
file. The extraction of data from data files for future use is a process
well known to those skilled in the art. In the present instance,
extraction of information can be used to support requirements analysis of
problem solutions to be generated, for decision support functions, to
provide functional analysis of a solution which has been created, to
provide classification and reclassification of extracted properties, to
enable relational analysis, and to explore new applications (new rules)
for the system. While the present invention is not concerned with any of
these applications per se, it is important to recognize that the logical
techniques used by the present system make the future provision of such
applications obtainable in a straightforward manner. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
Description  |
|
|
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a perspective view of the components of the system of the present
invention;
FIG. 2 is an example display which might appear on the graphics terminal;
FIG. 3 is a flow chart showing the operation of the "Rule Tool" which
enables a methodology designer to create and modify function and icon
drums containing functions and icons having rules associated therewith;
FIG. 4 is a flow chart of the Rule Tool text subroutine;
FIG. 5 is a flow chart of the procedure for creating a function drum with
the Rule Tool;
FIG. 6 is a flow chart of the procedure for modifying an existing function
drum with the Rule Tool;
FIG. 7 is a flow chart of the procedure for editing existing functions with
the Rule Tool;
FIG. 8 is a flow chart of the procedure for adding a new function with the
Rule Tool;
FIG. 9 is a flow chart of the procedure for prompting open ended
connectors;
FIG. 10 is a flow chart of the procedure for creating an icon drum;
FIG. 11 is a flow chart of the procedure for creating a new icon;
FIG. 12 is a flow chart of the procedure for modifying an existing icon
drum;
FIG. 13 is a flow chart of the procedure for editing an existing icon;
FIG. 14 is a flow chart of the procedure for creating pseudonyms for
functions or icons;
FIG. 15 is a graphical example of function primitives which are stored in
the system of the present invention; and
FIG. 16 is a graphical example of graphics primitives which are stored in
the system of the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
Turning now to FIG. 1, the system 10 of the present invention comprises a
graphics terminal 12 with a display screen 14. Graphics terminal 12 is
coupled to a computer processor 26, which also supports keyboard 16 and
mouse 18. The graphics terminal, display screen and computer processor can
be a personal computer ("PC") of a type well known in the art, such as the
PC manufactured by Wang Laboratories of Lowell, Massachusetts. Mouse 18
includes three switches 20, 22, and 24 which are assigned, for
right-handed use respectively, the actions of select, cancel and evaluate.
For left handed use, the position of the select and evaluate buttons can
be reversed, to provide for corresponding finger use to depress a button.
The select button 20 indicates to the system, when pressed, the selection
of a free space point, object, icon, or function based on the position of
a cursor 29 controlled by mouse 18 on screen 14. To select a free space
point, the cursor is positioned to the desired location on screen 14 and
the select button 20 is actuated. A free space point is any point not
occupied by, or within the tolerence of, an object. A marker is displayed
at the selected point. An object is selected by positioning the cursor on
or near (with a search tolerance) the object on screen 14 and actuating
select button 20. An icon is selected by placing the cursor within a
defined boundary box for the icon. A function is selected by simply moving
mouse 18 so that the cursor on screen 14 is within a box enclosing the
function, and then actuating select button 20.
Function selection can also be associated with evaluate button 24. To
perform the association, mouse 18 is moved so that cursor 29 is within the
desired function box, and then evaluate button 24 is actuated. The
function selected will become associated with evaluate button 24 and, from
that point on, actuating the evaluate button will produce the same result
as positioning the cursor over the function and actuating the select
button. The advantage of the association of a function with evaluate
button 24 is the minimization of eye & hand movement.
Cancel button 22, when actuated, causes the system to disregard the last
action. This is useful in overcoming an unintentional actuation of one of
buttons 20 or 24, or to recover when a problem solving user or methodology
designer has changed his or her mind with respect to the next action to be
taken.
Keyboard 16 is provided in order to enable the input of numbers and text
into the system. The design and use of keyboards and mouse devices and
their interface with computer systems, including graphics terminals,
executive work stations, computer aided design systems and the like is
well known, and those skilled in the art are aware of how to implement
such input devices. Any of the known systems for interfacing mouse 18 and
keyboard 16 with computer processor 26 and graphics terminal 12 can be
used in connection with the present invention. It is noted that alterntive
input means, for instance a graphics tablet, can be used instead of mouse
18.
FIG. 2 shows a sample multi-portion split display which can be output on
screen 14 of graphics terminal 12 in accordance with the present
invention. The display is "split" into system defined areas called
regions. A region is defined to be a rectangular area of the screen
enclosed by a border of lines. Each region serves a functional purpose,
and is adjacent to another region. None of the regions overlap.
In FIG. 2, region 28 is the chart work area, and is a view of the drawing
or a portion thereof that is presently being worked on by a problem
solving user or methodology designer. Chart work area 28 may be thought of
as a window through which one is viewing a chart that sits beneath. It is
within this region that schematic diagrams are created and edited by a
problem solving user, and new icons and functions are created by a
methodology designer.
The entire available area onto which a chart may be created is called the
drawing space. At any one time, the drawing region in chart work area 28
is a display of a part, or all, of that drawing space. Since only a
portion may be visible, means is provided to view the other areas of the
drawing space. Such means is provided by navigation region 58.
Navigation region 58 contains a rectangle 59 called the view port The view
port represents that portion of the chart currently visible in chart work
area 28. For example, if view port 59 is half the size of the navigation
region 58, and directly in the center, then exactly half of the drawing
space is visible in chart work area 28. Since view port 59 is centered,
the half that is visible in chart work area 28 is the center of the
drawing space.
To view a different portion of the drawing space, a function which is built
into the system, called the move function, is used to move the view port
59 to the desired location within navigation region 58. In order to scale
the size of the drawing space, the size of view port 59 must be altered.
This is done by using a size function built into the system. Once the move
and/or size functions are completed, the drawing region is refreshed to
display the correct portion of the chart at the correct scale.
Another region on display screen 14 is known as the icon drum region 60,
which displays a portion of what can be thought of as a band of icons upon
a drum. Icons represent various symbols, lines, and text that can be
selected for placement in the drawing region of chart work area 28. The
band of icons that is placed upon the drum in icon drum region 60 depends
upon the level in which one is working on the system and the type of
schematic diagram that is to be created or edited by a problem solving
user, or the new function or icon to be created by a methodology designer.
There are actually two drums within region 60, each having their own band
of icons and which may be individually manipulated. One band contains
icons 62, 64, 66, 68, 70 and 72 (and others not visible). The other band
contains icons 74, 76, 78, 80, 82, and 84 (and others not visible). If a
desired icon is not displayed in region 60 when needed, the drums can be
scrolled until the desired icon appears.
Underneath each icon drum are two pair of arrows 50, 52 and 54, 56. These
are scroll control arrows and represent the function of spinning the drum
above the arrows selected. If, for example, arrow 50 is selected, the drum
containing icons 62-72 will be spun upward. Selecting arrow 52 would spin
this icon drum downward. Similarly, selecting either of arrows 54 or 56
would spin the icon drum comprising icons 74-84 upward or downward,
respectively. The scroll control arrows are contained in region 44 of
display screen 14. Also contained in region 44 are scroll arrows 46 and 48
which are used to horizontally scroll the function drum 40 as described
below.
Region 40 in display screen 14 is the function drum region and contains the
functions of the system that are applicable to icons or schematic diagrams
or their parts. As shown in FIG. 2, the functions in region 40 are in the
form of text strings. As will be described hereinbelow, however, region 40
can also contain symbols which represent functions or function primitives.
If a desired system function is not displayed in region 40 when needed,
right and left scrolling arrows 46 and 48 can be used to spin the function
drum toward the right or toward the left until the desired function
appears.
Region 42 on display screen 14 is a prompt region which serves two
purposes. First, the system uses region 42 to display prompts, which are
usually in the form of text strings, to the problem solving user or
methodology designer. Second, any textual data entered by a problem
solving user or methodology designer through keyboard 16 is echoed in
prompt region 42.
An informational region 31 on display screen 14 provides a problem solving
user or methodology designer with four selectable functions presented by
text strings. These functions are labeled "parameters", "clear", "exit",
and "help". The selection of the parameters function 32 brings up all of
the parameters which can be set by a problem solving user or a methodology
designer within the system. Examples of such parameters are text height,
left or right handedness, line spacing, a parameter known as drum roll
which defines how many icons are scrolled when the scroll arrows are used,
and the scaling factor for defining the percentage any object is scaled
when the size function is applied.
The clear function 34 in informational region 31 is equivalent to multiple
cancels If the problem solving user's or methodology designer's intent is
to back up to the point of the previously committed function, the cancel
function could be selected as many times as needed, or the clear function
could be invoked once.
Help function 38 in informational region 31 displays information about
objects or functions selected by a problem solving user or methodology
designer. The information appears in a page which overlaps the drawing
region in chart work area 28. Those skilled in the art will recognize that
various types of information can be provided to a problem solving user or
methodology designer by accessing the help function.
Exit function 36 in informational region 31 enables a problem solving user
or methodology designer to exit from his current work with the system,
saves the work and the status of the session and returns the display back
to an alphanumeric menu for selecting the next activity to be accomplished
with the system.
Another region of display screen 14 is error region 30. This region is used
by the system to display error messages. The message displayed describes
an invalid action taken by the problem solving user or methodology
designer. The message will remain visible until the next action is taken,
i.e., either one of buttons 20, 22, or 24 is actuated on mouse 18, or a
keystroke is made on keyboard 16.
Before discussing the heart of the present invention, which is the
provision of means for enabling a methodology designer to create new icons
and functions with a set of rules pertaining to each new icon and
function, it is necessary to explain how the basic system can be used to
sketch, in graphic form, on chart work area 28 of display screen 14. This
basic level of system operation is referred to as the "sketch" mode.
The sketch mode provides a free form diagramming capability with no
restrictions imposed by the system. A variety of creation and editing
functions exist. The problem solving user interfaces with the system to
create sketches through mouse 18. The relative movement of mouse 18 causes
a corresponding movement of a cursor 29 on chart work area 28 of display
screen 14. A problem solving user may continually move the cursor near an
icon on the icon drum 60 or a function on the function drum 40 and actuate
select button 20. This will associate mouse 18 with the object (icon or
function) selected. If, for example, cursor 29 is moved into the region of
icon 74, and select button 20 is actuated, a rectangle (the object of icon
74) will become associated with mouse 18. Mouse 18 can then be moved to
drag the rectangle across chart work area 28 until a desired location is
reached. Upon activation of the select button, a rectangle will be
deposited at the desired location in chart work area 28. When a function
is to be used, mouse 18 is moved to place cursor 29 over the desired
function in function drum 40, and the select or evaluate button is
actuated to associate the function with mouse 18. By manipulating
functions and icons with mouse 18, and placing icons on chart work area 28
at desired locations and with desired connections, schematic diagrams can
be drawn. Interaction with other regions of display screen 14 is achieved
through the use of mouse 18 in a similar manner. It is noted that in the
system of the preferred embodiment, data may be selected in the postfix
sequence, i.e. where the function selection occurs after data selection,
in the prefix mode, where function selection preceeds data selection, or
in the infix mode, where function and data selection occur alternately.
Various classes of icons may appear in the icon drum 60. The majority of
icons are representations of symbols, which have meaning with respect to a
particular type of chart the problem solving user is building. The
creation of this type of icon by a methodology designer in accordance with
the present invention is discussed later on. It is noted that geometry
represented by an icon may or may not be identical to the geometry
actually shown in the icon drum. Thus, where the actual symbol is too
complex to fit within the icon drum display portion of display screen 14,
a more simplified symbol (pseudonym for the actual symbol) will be shown.
However, when the icon is placed in a chart, the symbol's actual geometry
will appear. Such symbols may contain geometry consisting of lines, arcs,
circles, other symbols and other geometric or graphical primitives or
their components, as well as text fields.
In its simplest mode of operation, the present system can be used to create
a "throw-away", electronic paper form of a diagram which a problem solving
user can use for discussion or initial concept purposes. This mode of
operation is referred to herein as the "chart mode". Once a pr | | |