WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Computer system for creating and manipulating subsets of dynamic information systems models    
United States Patent5241645   
Link to this pagehttp://www.wikipatents.com/5241645.html
Inventor(s)Cimral; John J. (Framingham, MA); Krieger; David A. (Cambridge, MA); Ambramovich; Igor (Medford, MA)
AbstractA computer system for creating and manipulating subsets of dynamic information systems models of organizations. Generally, the system includes a plurality of dynamicallly linked modelers. The system includes a filter for creating a subset 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.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5241645
Computer system for creating and manipulating subsets of dynamic

     information systems models - US Patent 5241645 Drawing
Computer system for creating and manipulating subsets of dynamic information systems models
Inventor     Cimral; John J. (Framingham, MA); Krieger; David A. (Cambridge, MA); Ambramovich; Igor (Medford, MA)
Owner/Assignee     Bachman Information Systems, Inc. (Burlington, MA)
Patent assignment
All assignments
Publication Date     August 31, 1993
Application Number     07/516,815
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     April 27, 1990
US Classification     703/2 707/1
Int'l Classification     G06F 015/31
Examiner     Harrell; Robert B.
Assistant Examiner     Geckil; Mehmet
Attorney/Law Firm     Lahive & Cockfield
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/200 MS File 364/900 MS File 364/578 395/156 395/160
Patent Tags     computer creating manipulating subsets dynamic information models
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5019961
Addesso
700/87
May,1991

[0 after 0 votes]
5008810
Kessel

Apr,1991

[0 after 0 votes]
4894771
Kunii
707/4
Jan,1990

[0 after 0 votes]
4815029
Barker
715/516
Mar,1989

[0 after 0 votes]
4631664
Bachman
707/100
Dec,1986

[0 after 0 votes]
4956773
Saito
717/104
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What 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.
 Description Submit all comments and votes
 


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