|
Claims  |
|
|
What we claim is:
1. A computer system for establishing model subsets of a dynamic model of
information systems of organizations, comprising:
A. two or more modeler subsystems including modeler means for creating,
analyzing, and modifying two or more models corresponding to each of said
modeler subsystems, each of said models having design data representative
of elements including at least one from the group consisting of:
attribute; entity and attribute; attribute method; entity and relationship;
entity method, entity and entity method; entity, relationship and
partnership set; process; view; process local store; information store;
information flow; message; source; and, destination;
B. operator means coupled to each said modeler subsystems for applying
external signals to each of said modeler subsystems, said signals being
effective to evoke a creating, analyzing, or modifying response from at
least one of said modeler means;
C. modeler linking subsystem (MLS) coupled to each said modeler subsystem,
said MLS including means for dynamically correlating said design data,
whereby a change to any of said design data of one of said modeler
subsystems affects a substantially immediate corresponding change to said
design data of others of said modeler subsystems; and
D. filter means coupled to at least one said modeler subsystem for creating
a model subset, said model subset being defined by operator-determined
selection criteria, and being selected in accordance with said selection
criteria from each of said design data, wherein said filter means further
comprises means for establishing a model subset display of said model
subset, and having model subset display objects representative of said
model subset, including means associated with said model subset display
selectively operative for externally applying signals to each of said
model subset display objects, whereby an externally applied signal
associated with at least one of said model subset display objects affects
an associated one of said models.
2. A computer system according to claim 1 further comprising a display
linking subsystem coupled to said modeler subsystem, said display linking
subsystem including means for dynamically correlating each of said model
subset displays, wherein a change to any of said model subset design data
affects a substantially immediate corresponding change in others of said
model subset design data.
3. A computer system for establishing model subsets of dynamic model of
information systems of organizations, comprising:
A. at least one information modeler subsystem (IMS) including Information
Model (IM) means for creating, analyzing and modifying an information
model, said information model having IM design data;
B. at least one process modeler subsystem PMS including Information Flow
Model (IFM) means for creating, analyzing, and modifying an information
flow model, said information flow model having IFM design data
representative of elements including at least one from the group
consisting of processes, information stores, information flows, messages,
views, process local stores, sources, and destinations, said IFM design
data relating to at least one of said elements of said IM design data;
C. at least one logic modeler subsystem (LMS), including Process
Description Language (PDL) means for defining logical operations on at
least one of said IFM design data and IM design data, aid logical
operations being defined by PDL design data;
D. modeler linking subsystem coupled to said IMS, said PMS, and said LMS,
said modelers linking subsystem including means for dynamically
correlating said IMS, said PMS, and said LMS, wherein a change to any of
said IM design data affects a corresponding IM-IFM/PDL change in said IFM
design data and said PDL design data, and wherein a change to any of said
IFM design data affects a corresponding IFM-IM/PDL change in said IM
design data and said PDL design data, and wherein a change to any one of
said PDL design data affects a corresponding PDL-IM/IFM change in said IM
design data and said IFM design data;
E. operator means coupled to said IMS, said PMS, and said LMS for applying
external signals to said IMS and said PMS, and said LMS, said signals
being effective to evoke a creating, analyzing, or modifying response from
at least one of said IM means, said IFM means, and said PDL means; and
F. filter means coupled to said IMS, said PMS, and said LMS, for creating
at least one subset selected from the group of subsets consisting of an
IM-subset of said information model, and IFM-subset of said process model,
and a PDL-subset of said PDL design data, each of said IM-subset,
IFM-subset, and PDL-subset being defined by operator-determined selection
criteria, and being selected in accordance with said selection criteria
from said IM design data, IFM design data, and PDL design data.
4. A computer system according to claim 3 wherein said IM design data is
representative of elements including at least one from the group
consisting of: attribute; attribute method; partnership set; partnership
set method; entity; entity method; entity and relationship; entity and
attribute, and; entity, relationship, and partnership set.
5. A computer system according to claim 4 wherein said filter means further
comprises means for establishing an IM-subset display of said IM-subset
having IM-subset display objects representative of said IM-subset,
including means associated with said IM-subset display selectively
operative for externally applying signals to said IM-subset display
objects, whereby an externally applied signal associated with at least one
of said IM-subset display objects affects said information model.
6. A computer system according to claim 4 wherein said filter means further
comprises means for establishing an IFM-subset display of said IFM-subset
having IFM-subset display objects representative of said IFM-subset,
including means associated with said IFM-subset display selectively
operative for externally applying signals to said IFM-subset display
objects, whereby an externally applied signal associated with at least one
of said IFM-subset display objects affects said process model.
7. A computer system according to claim 4 wherein said filter means further
comprises means for establishing a PDL-subset display of said PDL-subset
having PDL-subset display objects representative of said PDL-subset,
including means associated with said PDL-subset display selectively
operative for externally applying signals to said PDL-subset display
objects, whereby an externally applied signal associated with at least one
of said PDL-subset display objects affects said PDL design data.
8. A computer system according to claim 4 wherein said filter means further
comprises:
means coupled to said IMS for establishing an IM-subset display of said
IM-subset having IM-subset display objects representative of said
IM-subset, including means associated with said IM-subset display
selectively operative for externally applying signals to said IM-subset
display objects, whereby an externally applied signal associated with at
least one of said IM-subset display objects affects said information
model;
means coupled to said PMS for establishing an IFM-subset display of said
IFM-subset having IFM-subset display objects representative of said
IFM-subset, including means associated with said IFM-subset display
selectively operative for externally applying signals to said IFM-subset
display objects, whereby an externally applied signal associated with at
least one of said IFM-subset display objects affects said process model;
and
means coupled to said LMS for establishing a PDL-subset display of said
PDL-subset having PDL-subset display objects representative of said
PDL-subset, including means associated with said PDL-subset display
selectively operative for externally applying signals to said PDL-subset
display objects, whereby an externally applied signal associated with at
least one of said PDL-subset display objects affects said PDL design data.
9. A computer system according to claim 8 further comprising a display
linking subsystem coupled to said IMS, said PMS, and said LMS, said
display linking subsystem including means for dynamically correlating said
IM-subset display, said IFM-subset display, and said PDL-subset display,
wherein a change to any of said IM-subset design data affects a
substantially immediate corresponding change in said IFM-subset design
data and said PDL-subset design data, and wherein a change to any of said
IFM-subset design data affects a substantially immediate corresponding
change in said IM-subset design data and said PDL-subset design data, and
wherein a change to any of said PDL-subset design data affects a
substantially immediate corresponding change in said IM-subset design data
and said IFM-subset design data.
10. A computer system according to claim 3 wherein said PDL design data
corresponds to at least one from the group consisting of insert, retrieve,
update, delete, send, receive, signal, when, reference to an entity
method, connect, and disconnect.
11. A computer system according to claim 10 wherein said PDL design data is
representative of at least one from the group consisting of text and tree
structure diagram, and
wherein said operator means further include means for selectively
displaying said text and tree structure diagrams.
12. A computer system according to claim 11 wherein said text is
representative of at least one from the group consisting of icons and
alphanumeric symbols.
13. A computer system according to claim 12 wherein said operator means
further includes means for externally applying signals to said logic
modeler whereby an externally applied signal associated with at least one
of said text affects said PDL design data.
14. A computer system according to claim 11 wherein said tree structure
diagram includes nodes and pins, and wherein said nodes have text fields
including data representative of at least one of logical operations, IM
design data, or IFM design data.
15. A computer system according to clam 14 wherein said tree structure
diagram includes nodes and pins, wherein said pins are representative of
operation locations at said node, whereby an external signal applied to at
least one of said operation locations performs an operation at said
operation location, said operation including at least one from the group
consisting of: add data, replace data, delete data, add node, replace
node, or delete node.
16. A computer system according to claim 3 further comprising at least one
function modeler subsystem FMS including Function Decomposition (FD)
design data representative of FD subprocesses, each of said subprocesses
corresponding to at least one of said processes of said IFM design data,
and having FD means for defining a hierarchy of said FD subprocesses of
said IFM design data.
17. A computer system according to claim 16 wherein said hierarchy is
representative of at least one text or graphics, and
wherein said operator means is coupled to said FMS and further includes
means for selectively displaying said text and graphics.
18. A computer system according to claim 16 wherein said modeler linking
subsystem further comprises means for dynamically correlating said FMS
with said LMS and said PMS, whereby a change to any of said FD design data
affects a corresponding FD-PDL/IFM change in said PDL design data and said
IFM design data, and whereby a changes to any of said PDL design data or
said IFM design data affects a corresponding PDL/IFM-FD change in said FD
design data.
19. A computer system according to claim 18 wherein said FMS further
comprises means for establishing a FD display having FD display objects
representative of said FD design data, including means associated with
said FD display selectively operative for externally applying signals to
said FD display objects, whereby an externally applied signal associated
with at least one of said FD display objects affects said FD design data;
and
wherein said PMS further comprises means for establishing a IFM display
having IFM display objects representative of said IFM design data,
including means associated with said IFM display selectively operative for
externally applying signals to said IFM display objects, whereby an
externally applied signal associated with at least one of said IFM display
objects affects said IFM design data.
20. A computer system according to claim 19 further comprising a display
linking subsystem coupled to said FMS and said PMS, said display linking
subsystem including means for dynamically correlating said FD display and
said IFM display, whereby a change to any of said FD design data affects a
substantially immediate corresponding change in said IFM design data, and
whereby a change to any of said IFM design data affects a substantially
immediate change in said FD design data. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
REFERENCE TO RELATED APPLICATIONS
The subject matter of this application is related to the subject matter of
U.S. Pat. No. 5,146,591 entitled "Dynamic Information Management Computer
System". That of U.S. Patent, is herein incorporated by reference.
BACKGROUND
This invention is directed to a computer system for creating and
manipulating subsets of dynamic information system models of
organizations, or an improved filter system for models of complex business
transactions.
Early computer information processing systems stored, retrieved, and
modified data contained in files specifically created for each information
processing application. Knowledge relating to the structure and content of
each data file was coded directly into each application program. When a
need later developed to use the data within the data file for additional
purposes, the user often created other primarily redundant data files,
writing a specific application program to interact with each of these
files. Subsequent changes in the content of any data file frequently
mandated modification of related data files. If the user wished to avoid
creating redundant data files, those modifications necessitated by
additional demands were made to the original data file. Again, application
programs were written to perform new tasks on the modified file.
However, the data file modifications sometimes hampered operation of
earlier application programs, thus requiring their modification. As a
consequence, computer installations involved in data processing faced the
recurrent task of choosing between data file redundancy and repeated
software modifications.
With the advent of so-called data base management systems, many of the
problems encountered in the early information processing systems were
alleviated. In addition to removing the need for the application program
to address the intricacies of data file manipulation, data base management
systems promoted efficient design, enhanced file maintenance and
modification, eliminated data file redundancy, and provided substantial
documentation regarding data file structure.
With the shift to data base management systems, the concept of dual data
representation fully emerged. The first level of data representation, the
physical representation, relates to the manner in which individual data
records are stored and how their inter-relationships are depicted. The
second level of data representation, the logical representation, describes
the data base users' view of the data. The physical representation of the
data is generally of no concern to the data base user. Rather, the task of
manipulating individual data storage areas is left to the data base
management system. Of concern to the data base user, however, is the
logical representation of the data, since the users' ability to store,
retrieve, and modify aggregations of data items, data records, and data
relationships is dependent upon the form in which the data base management
system presents data to the user.
Information management systems handle complex environments often consisting
of hundreds of elements and relationships, permitting users to manipulate
and employ data in ways not always anticipated by systems designers.
Representation of such elements and relationships to a user presents a
unique set of problems not encountered, and certainly not resolved by
present data base management systems. Instead of being organized into
application-oriented files, which are always addressed in the same way, as
in data base systems, the information is organized so that it can be
addressed in a variety of different ways, and can be used to answer a
diversity of queries. All the interesting facts about entities are stored
together rather than merely those facts needed for one application. As
pointed out by J. Martin, "Computer Data-Base Organization", 2d ed.,
chapter 3, pp. 24-25 (1977), this "reservoir" concept of information
systems is much easier to conceive than to implement. It is a complex and
lengthy operation to build up such data bases, and it is expensive to
search sufficiently quickly to give real-time answers to unanticipated
queries.
The use of diagrams and windows is one way to depict the intricate
relationships among entities, attributes, and other data elements in a
complex information model. A variety of "windows" have been used in
application programs to facilitate user interaction with a computer
system. Windows have been used to show a user a "menu" of selection of
operations which may be performed. Windows have also been used for
displaying error messages. However, windows are not anticipatory, i.e. are
not able to provide a tailored selection of options available to a user at
a particular point in time or text.
The management of information has evolved into the field of Computer Aided
Systems Engineering (CASE). As described by C. Gane, "Computer-Aided
Software Engineering: The Methodologies, the Products, the Future" (1988),
some of the common characteristics among CASE products are that they
internally build a design database "at a higher level than code statements
or physical data element definitions," and that they "typically hold[s]
information about the data to be stored in the system, the business logic
of the processes to be implemented, their physical layout of screens and
reports, and other requirements/design information."
There are several such CASE products presently available. Two such products
are EXCELERATOR, from Index Technology, Cambridge, Mass., and IEW, from
Knowledgeware, Inc., Atlanta, Ga. EXCELERATOR enables an operator to work
with data flow diagrams and data model diagrams, structure diagrams. An
operator may also modify, delete, copy, rename, list or add a diagram.
Diagram objects may be user defined, and are stored in a dictionary.
In a similar manner, IEW enables a user to work with, and create or change
objects on diagrams, which affects an encyclopedia but not existing
displays or screens. In addition, IEW can model relationships, entities
and attributes together, or entities alone, but does not model attributes
alone. It is often useful to manipulate attributes independent of entities
to which they may later be tied.
Since one of the attractions of CASE for managing information systems is
the availability of graphical tools for analysis, it would be important
for a user to be able to graphically work in "real-time", i.e. the ability
to make changes to diagram objects, and see a corresponding change to
corresponding diagrams on existing screens. Such dynamic linking of
objects and diagrams would then become an important aspect of an effective
information management system utilizing CASE technology.
In conjunction with graphical tools for analysis, a user may desire to work
with only a portion or subset of an entire complex model. A user may want
to test objects on a subset of a model before integrating such objects
into the entire model, while still retaining the ability to work with the
subset in real-time. Existing systems are not believed to provide a
dynamic subset of a model which may be user manipulated.
Accordingly, it is an object of the present invention to provide an
improved filter system for enabling a user to manipulate a subset of
objects of an information management model.
Other objects, features, and advantages of the invention will be apparent
from the following description of the preferred embodiment thereof, and
from the claims.
SUMMARY
Briefly, the present invention is a computer system for dynamically
modeling information systems of organizations. The system includes a
plurality of editors, or modelers, which enable a user to interact with
the system. The modelers of the system are dynamically linked such that a
change to any of the design data of one of the modelers affects a
substantially immediate corresponding change to design data of another
modeler.
The system includes filters for creating subsets of a model. Each model
subset is defined by operator-determined selection criteria. The subset is
created by applying the selection criteria to the design data set of the
model to be filtered. The resulting model subset may be displayed in a
graphical representation. Such representations may enable the user to
dynamically interact with the system.
The system may include at least one information modeler, which provides a
dynamic environment for the user to create, analyze, and modify IM models,
which contain IM design data. The information Model (IM) design data may
be representative of entities, attributes, relationships, entity methods,
partnership sets, and combinations thereof, each of which may be effected
by externally applied signals.
The system may also include at least one process modeler, providing a
dynamic environment for the user to create, analyze, and modify
information Flow Model (IFM) models containing IFM design data. The IFM
design data is representative of processes, information stores,
information flows, messages, sources and/or destinations. In general, the
IFM design data, specifically information flow contents, correspond to IM
design data. The IFM modeler and the IM modeler can be dynamically linked,
such that a change in one design data set will affect a corresponding
change in the other design data set.
The system may also include a logic modeler, which provides a dynamic
environment for the user to create, analyze, and modify logical operations
to be performed on the IM design data and the IFM design data. The logic
modeler displays the system in text, tree diagram, or other graphical
representations. The resulting display may be dynamic, enabling the user
to affect IM and IFM design data, as well as the operations to be
Performed on that design data.
The system can also include a function modeler, which enables a user to
generate a function decomposition diagram, displaying the processes of IFM
design data and any related subprocesses. The subprocesses may be
displayed in a hierarchical fashion, and the user may dynamically
manipulate the objects contained within the decomposition diagram.
Representation of the system may be in the form of a node and pin notation,
where nodes define text fields which contain statements and design data.
Attached to the nodes may be pins, which identify locations where
modifications may be specified for the operation associated with a
particular node.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow diagram of an embodiment of the invention.
FIGS. 1--1 through 1--24 collectively show a detailed entity-relationship
diagram of the embodiment of FIG. 1.
FIG. 1A shows a diagram designating the relative position of each of FIGS.
1--1 through 1-24.
FIG. 2 is a diagrammatic representation of display windows and facilities
of the invention of FIG. 1.
FIG. 3 is a diagrammatic representation of an Entity-Relationship (E-R)
diagram display which may be generated through an IM modeler of the
invention of FIG. 1.
FIG. 3A is a diagrammatic representation of a "create" form which may be
accessed through an IM modeler of the invention of FIG. 1.
FIG. 4A is a diagrammatic representation of a network diagram display of
the invention of FIG. 1.
FIG. 4B is a diagrammatic representation of multi-layered overlapping boxes
display of the invention of FIG. 1.
FIG. 5 is a diagrammatic representation of an IFM diagram display of the
invention of FIG. 1.
FIG. 6A is a diagrammatic representation of an IFM diagram display of the
invention of FIG. 1 having exploded processes, prior to creating a new
process boundary.
FIG. 6B is a diagrammatic representation of an IFM diagram display of the
invention of FIG. 1 having a new process incorporating subprocesses.
FIG. 7 is a diagrammatic representation of an functional Decomposition (FD)
diagram display of the invention of FIG. 1.
FIG. 8 is a diagrammatic representation of a Process Description Language
(PDL) diagram display of the invention of FIG. 1.
FIG. 9 is a diagrammatic representation of a PDL diagram displayed in a
diagram window of the invention of FIG. 1.
FIG. 10 is a diagrammatic representation of an options window of the
invention of FIG. 1.
Like reference characters in the respective drawn figures indicate
corresponding parts.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In the preferred embodiment of the invention disclosed herein, a system 10
operates using a programmed IBM-compatible 80386 personal computer, having
an OS/2 operating system. Other computer hardware and operating systems,
such as UNIX or DOS, may be used, with some modifications to the software.
Although the Preferred embodiment uses C as its programming language,
other programming languages may be used to implement the present
invention.
The system 10 assists data analysts and systems analysts in building models
of information systems of organizations. These models, or files, can be
stored in a database and shared among analysts. In its preferred
embodiment, shown in FIG. 1, the system 10 consists of four modelers, or
editors, which can be used to build models, each of which gives a
different perspective of the same design.
The system 10 further includes a controller 2 and a display 3. The four
modelers include: the information modeler 4; the process modeler 5; the
logic modeler 6; and the function modeler 7. Each of these modelers
generate corresponding models or diagrams, having design data which may be
created, analyzed, and modified by a user. These models and diagrams are
referred to as the information model (IM), the information flow model
(IFM), the Process Description Language (PDL) diagram, and the functional
decomposition (FD) diagram, respectively. Each of these models and
diagrams may be dynamically linked in the manner described in further
detail below.
FIGS. 1--1 through 1-24 collectively show a detailed entity-relationship
diagram of the preferred embodiment of the invention. FIG. 1A shows a
diagram designating the relative position of each of FIGS. 1--1 through
1-24 to form a composite, complete entity-relationship diagram of the
preferred embodiment.
The following TABLE 1 identifies, in column I, elements of the system shown
in FIGS. 1--1 through 1-24. TABLE 1, column II, identifies corresponding
names for certain of the elements of column I which are used in the
description below.
TABLE 1
______________________________________
Legend for FIGS. 1-1 Through 1-24
Column I Column II
______________________________________
ABORT abort
ABORT-CLOCK
ALLOW-EXPRESSION
ALLOWABLE-VALUE allowable value
ANY-SELECTION
APPL-ATTRIBUTE
APPL-ENTITY
APPL-P-SET
APPL-PARTNERSHIP
APPL-STRUCTURE information structure
ARGUMENT
ATTRIBUTE attributes
BEGIN
BETWEEN
BLOCK
CALLED-PROCEDURE
CHAR-STRING
CHOOSE case
CHOOSE-BLOCK
CLOCK
COMMIT commit
COMPUTE
CONSTANT
CONTINUE
CYCLE
DELETE delete
DESTINATION destination
DIMENSION dimension
DISJOIN
DO do
DOMAIN domain
ELEM-ATTRIBUTE
ELEM-DOMAIN
ELEM-VALUE
ELSE
ELSEIF
END
ENTERPRISE
ENTITY entities
ENTITY-SET entity-set
ERROR
EVENT-OBJECT event
EXIT exit
EXPRESSION
EXT-CALLED-PROCEDURE
FIRST
FLOW-ATTRIBUTE flow-attribute
FLOW-ENTITY flow-entity
FLOW-MODEL
FLOW-P-SET flow-partnership set
FLOW-PARTNERSHIP flow-partnership
FLOW-STRUCTURE message
information flow
contents
FOR-EACH foreach
loop
FOR-EACH-BLOCK
FOR-EACH-TYPE
GLOB-PROCEDURE
GROUP-ATTRIBUTE
GROUP-DOMAIN
GROUP-VALUE
IF if
IF-BLOCK
IM-CONDITION
IM-PROCEDURE methods
IM-PROCEDURE entity methods
IM-PROCEDURE attribute methods
IM-PROCEDURE partnership-set methods
IMAGE
IML
IML-BLOCK
INFO-BASE
INFO-FLOW
INFO-MODEL information model
INFO-STORE information-store
INST-APPL-ATTRIBUTE
INST-ELEM-ATTRIBUTE
INST-GROUP-ATTRIBUTE
INST-SUB-ATTRIBUTE
INST-TOP-ATTRIBUTE
INT-CALLED-PROCEDURE
INT-PROCESS high-level process
IS-ATTRIBUTE
IS-ENTITY
IS-OBJECT
IS-PARTNERSHIP
IS-P-SET
IS-STRUCTURE
JOIN
KEY key
LAST
LEAVE skip
LEAVE-PROCEDURE
LITERAL
MAP
MODIFY update
MOVE
NLS-CHARACTER
NONE
NOTE
NUMBER
ONE
OPERATOR
OTHER-ATTRIBUTE
OTHER-ENTITY
OTHER-P-SET
OTHER-PARTNERSHIP
OTHER-STRUCTURE
P-SET partnership-sets
PARAMETER
PARTNERSHIP relationships
PERSON
PL-ATTRIBUTE
PL-ENTITY
PL-P-SET
PL-PARTNERSHIP
PL-STRUCTURE
PREDICATE
PROC-BLOCK
PROC-PROCEDURE
PROCESS processes
process local store
RECEIVE receive
resume
RETURN return
ROLLBACK
SELECT retrieve
SELECTION
SEND send
signal
SORT
SOUND
SOURCE source
STATE
STATEMENT
STOP
STORE create
STORE insert
SUB-ATTRIBUTE
SUB-VALUE
TERM-PROCESS primitive process
TEXT
THEN
TOP-ATTRIBUTE
TOP-VALUE
TRANSACTION
TRANSITION
VALUE
VARIABLE
VIEW-ATTRIBUTE
VIEW-ENTITY
VIEW-P-SET
VIEW-PARTNERSHIP
VIEW-STRUCTURE information flow
contents
WHEN when
______________________________________
The primary interface between a user and the system of the invention is
through a series of interactive graphics windows presented to the user in
the display 3. The windows display text, tree structure diagrams, or other
graphical representations of each of the modelers. As shown in FIG. 2,
when a user accesses either the information modeler or process modeler,
three windows will generally appear: an options facility 20; a feedback
window 22; and, a diagram window 24.
The options facility 20 consists of a hierarchy of items which enable the
user to perform actions on a specified model. By activating an element
displayed in the facility, for example by placing and activating a cursor
over the element, a selected model may be activated or deactivated. This
facility may also display selections not presently available to the user
at that time.
The feedback window 22 displays messages informing the user of one or more
of the following: when an action has taken place; what step to take next;
any mistakes or errors which may occur; when the user is entering or
exiting a modeler or mode.
The diagram window 24 displays diagrams generated by each of the modelers.
This window 24 generally includes the capability to scroll in any
direction to view a diagram which is too large to fit in the window 24.
Once a diagram is displayed in the diagram window 24, a user may edit the
diagram, or create a new diagram. This window 24 also provides a dynamic
environment for user interaction to the modelers.
Additional windows may be added or included in the present system. For
example, pop-up windows (not shown), context menus 26, and icons (not
shown) may appear at various times and at various locations on the CRT of
a computer. Pop-up windows may be used to control user interactions with
the system. Sometimes a pop-up window may be used to provide choices, or
warn of a problem. Context menus may be included to enable the user to
perform actions within a specific context, or model. An item in a context
menu may function in the same manner as the corresponding item in an
options facility, but may occur at different times or locations than the
options facility. Icons may appear at various locations on the CRT, for
example in the lower left corner when a model is initially opened, or as a
reminder that other modelers and models are available.
Diagrams and forms of the system are tools used for defining and
manipulating objects of the overall business information system model.
Once an object is created using any of the modelers, or editors, of the
system, it exists in the system and can be displayed graphically in any
applicable diagram, or textually in a form. When an object is manipulated,
the new information about the object is accessible from any applicable
diagram or form, which provide different ways of accessing the same model
objects by offering different perspectives of the same system.
An additional editor, the options modeler 5A, is available from the logic
modeler 5. The options modeler is a language sensitive editor which
prompts the user with grammatical options which may be inserted at any
selected location. The modeler 5A defines what can be selected by the user
and inserted into a PDL statement, which is further described below. The
modeler 5A presents the options to a user in an options window, and shows
only the next available syntactic phrase or term. Thus, at any point, the
option modeler provides only syntactically valid options.
It is also possible to display subprocesses for a process contained in an
information flow model concurrently with an information flow diagram in
the diagram window. In the preferred embodiment, while an activated
information flow model (IFM) diagram is displayed in the diagram window, a
user may selectively display subprocesses to specified process within that
IFM diagram. This "process explosion" is described in further detail in
the section labelled "Process Modeler" below.
Since the four models are essentially views of the same information system
design, an operation applied to one model using a particular modeler has
an immediate effect on another model. This may be accomplished by
maintaining logical relationships between the models, thus keeping the
representation of design data consistent with the underlying design. It is
important, therefore, that a change to a model or diagram in one modeler
is reflected in other models and diagrams. For example, if a process is
deleted through the function modeler, the deletion is automatically and
immediately reflected in the IFM diagram. By way of further example, if a
process having associated information flows is created through the process
modeler, the information flow model objects, or IFM design data, are
reflected in an activated PDL diagram. This change may occur substantially
immediately, i.e. without any additional user input.
The preferred embodiment is a system designed for interaction with a human
user. However, the system may also be incorporated into a larger system
whereby the "user" becomes a generic "operator", such as another computer.
The operator may include magnetic tape devices, which download information
into the present system. Any other technology which permits transfer of
design data, or information, such as laser disc memory devices, may be
used. The operator may also be an artificial intelligence device which not
only provides design data input, but is capable of dynamically interacting
with the present system.
Information Modeler
An information model describes the objects that are used within the system.
The information modeler 4 of the Present system invention includes an
editor for creating, analyzing, and modifying entity relationship data
models, referred to below as information model (IM), and for generating
entity-relationship (E-R) diagrams which describe relationships between
entities An exemplary E-R diagram is shown in FIG. 3. The information
modeler consists of IM design data, or IM objects, which may include
entities, attributes, attribute methods, relationships, entity methods,
keys, domains, dimensions, allowable values, and partnership sets. The
modeler 4 also enables the operator to import existing information models
created on other systems, or in other environments, into the present
system 10.
As used in the field of the invention, the term "entity" is generally
defined as an item about which information is being stored. An entity may
be a tangible object, such as an employee or a part, or may be an
intangible concept, such as a job title or an event. The term "attribute"
is generally defined as properties of entities. For example, for an entity
"customer", attributes may include address, company affiliation, or
salary. A "relationship" describes the correlation among entities, or
among attributes. Alternately, attributes may be "free" attributes. Free
attributes are attributes not associated with an entity. For example, an
attribute may be used to hold constants, or contents of flows that go
between processes A free attribute may later become associated with an
entity, or may remain independent.
"Partnership sets" are described in detail in U.S. Pat. No. 4,631,664
(Bachman, Dec. 23, 1986). In the present system, partnership sets are used
both for storing and manipulating information. Thus, using the information
modeler 4, a user may define objects within the system as partnership
sets. Internal to the system, partnership sets are established to provide
the medium through which design data is accessed and exchanged among the
modelers of the present system.
An "entity method" is a PDL procedure (defined below) attached to an entity
in an E-R diagram rather than to a process in the IFM diagram. Each entity
method defines a generic operation to be Performed on all occurrences of
the entity, similar to methods in object-oriented programming. The use of
entity methods protects applications from changes made in the design data
model. Similar to an entity method, an "attribute method" is a PDL
procedure associated with an attribute.
A typical use for an entity method might be to specify a referential
integrity rule required by a user's business. For example, a company may
have a rule that requires the "last-customer-number" attribute to be
incremented by one each time a new customer is created, and the assignment
of that number to the new customer. The traditional "process-centered"
approach would force all developers of applications to include the code
for this operation each time an application creates a new customer.
However, a "create-customer" entity method may be created to handle this
operation. Then, whenever an application creates a new customer, the
developer calls the "create-customer" entity method which insures that the
"last-customer-number" attribute is incremented by one and assigned to the
new customer.
A "derived attribute" is an attribute having a value which is calculated
each time it is used in a procedure. The value is not stored in the
database, but is recalculated when it is used. For example, for a
transaction-based system, a user might create a derived attribute, called
"total-tax", that calculates the total sales tax for each sales
transaction. A PDL statement is then used to create a derivation rule,
which sets the derived attribute "total-tax" equal to 5% of the value of
the stored attribute "subtotal-taxable." Once a derived attribute is
created, it can be used in the same manner as any other attribute derived
in an E-R diagram.
A key is one or more entity components that uniquely identifies an
occurrence of an entity. For example, every house has a unique address and
every employee has a unique employee identification number. In the
preferred embodiment of the system, unique keys may represent one or more
attributes, partnership sets, or a combination of both attributes and
partnership sets. Keys may be primary, alternate, or foreign. A Primary
key represents a combination of attributes and/or partnership sets that
uniquely identify each occurrence of an entity. For example, "Emp-Address"
attribute of an Employee entity.
Any key other than a primary key is an alternate key, which may later
become a primary key. For example, a customer can be uniquely identifed by
a customer identification number, or by a name and address combination. A
user can choose either identification form as the primary key for the
Customer entity. The other key is then an alternate key.
Foreign keys represent attributes and/or partnership sets used to establish
a recursive relationship or a relationship with another entity or
partnership set. Attributes within the entity may correspond to some or
all of the attributes in the primary key of a partner entity. That is, a
foreign key is a primary key in one entity that acts as a unique
identifier in a partner entity, a partner entity essentially being
referenced by the primary key in the other entity.
To create a new information model, the user selectively interacts with the
options facility 20 to the information modeler 4 to indicate that a new
file is being created. The options facility 20 may include various forms
of information display, such as a palette, a dialog box, or context menus,
depending upon the type of information to b | | |