Hierarchical data encyclopedia5274806Abstract A computer performed method for designing a system which allows multiple mainframe environments to be supported and managed within the overall system environment through the use of (1) one or more dictionary domains arranged in a hierarchy to model the mainframe environments and a target system release facility to move a process, system, subsystem or record and all its related records to another dictionary domain, and (2) a consolidated project data encyclopedia which is shared by all users and divided into 5 logical data bases and 1 access module, thus allowing access to projects in different stages of development on the same physical data bases. A migration facility allows the user to manage the orderly progression of entities through the development life cycle by moving entities between logical data bases. Claims I claim: Description FIELD OF THE INVENTION
______________________________________
ushort r00x.sub.-- inst.sub.-- typ;
ulong r00x.sub.-- id1;
ulong r00x.sub.-- id2;
ulong r00x.sub.-- id0;
ulong r00x.sub.-- domain.sub.-- id0;
______________________________________
The key to the xref data base likewise looks as follows:
______________________________________
char r003.sub.-- xref.sub.-- word;
ulong r003.sub.-- domaln-id0;
ushort r003.sub.-- xref.sub.-- qual;
ushort r003.sub.-- tar.sub.-- type;
ulong r003.sub.-- tar.sub.-- id1;
ulong r003.sub.-- tar.sub.-- id2;
ulong r003.sub.-- tar.sub.-- id0;
ulong r003.sub.-- xref.sub.-- id;
______________________________________
B. Domain Instance An instance type must exist for the dictionary domains. The primary use of this instance type is to carry the id0 of the system which can use the dictionary domain and to allow the dictionary hierarchy to be created which relates data base records between the instances. C. Event Instance The event instance provides a place to store the domain hierarchy of the currently selected computer system and dictionary domain. D. System Instance In order to restrict the usage of dictionary domains, the system instance carries the idO's of the dictionary domains which can be used with the selected computer system. These system instances are only used by the sign-on process and are applicable only in the overall dictionary domain. E. Overall Domain There are some instance types which are global and need to be carried at the highest dictionary domain. The overall dictionary domain exists as the highest level in the dictionary domain hierarchy to hold the following instance types: Systems Engineer Workstation Event Record Domain System All these instance types except the System would reside only in the overall dictionary domain. The System instance resides in the overall dictionary domain to carry the idO of the applicable dictionary domains and it also resides in other dictionary domains to carry environment specific data. F. Domain Hierarchy Construction This tool builds the domain hierarchy in the overall dictionary domain. It maintains and enforces the rules for creating and updating the implemented with relate records in the overall dictionary domain. G. Access Access performs the following functions: Read and recognize the domain hierarchy stored in the event record Perform hierarchical reads find the lowest level synonym in the domain hierarchy Perform physical adds and updates--a logical update may actually be a physical add to the current dictionary domain Implement a logical delete a delete only affects the current dictionary domain and lower dictionary domains H. Domain Selection The system selection screen incorporates the selection of a dictionary domain. After the [SE] system engineer selects a computer system, the new process requires a choice of a dictionary domain from a list made up of the intersection of the dictionary domains on the system record. Additionally, the domain hierarchy is obtained and stored in the event record for use by the invention. I. Migration This aspect performs the migration between dictionary domains. It has the following functions: Read the process to be moved in the "from" dictionary domain and determine all the data base records connected to the process. On all instance records, read for the same key (excluding domain) in to "to" dictionary domain. If a match is found and the short and long names are the same in both dictionary domains, the invention replaces the instance in the "to" dictionary domain with the instance in the "from" dictionary domain. If a match is found but the short and long names are not equal, the instance is rejected and not moved. Such a situation occurs when there are two distinct instances with the same short and/or long name. For unmatching data base records, the instance is moved to the new dictionary domain by physically deleting the data base record in the "from" dictionary domain and adding it into the "to" dictionary domain. On all relate and text data base records, the invention reads for the same key (excluding domain) in the "to" dictionary domain. If a match is found, the data base record in the "to" dictionary domain is physically deleted. For both a match and a non-match, the data base record from the "from" dictionary domain is added to the "to" dictionary domain, and the data base record is physically deleted in the "from" dictionary domain. The xref data base records does not need any direct action since both xref records and backpoint records automatically handle the actions taken on instance records and relate records. 2. Structure of the Encyclopedia Data Base and Description of Interface Used by Workstation Applications to Maintain the Encyclopedia The encyclopedia consists of 5 data bases and 1 access module. The five data bases are: 1) the instance data base, used to retain information about each instance of every entity defined. 2) the relationship data base, used to record the relationship between those entities. 3) the xref data base, used to provide a generalized cross-reference ability. 4) the text data base, used to retain textual information about entities or relationships. 5) the ITL data base, used to retain user augmented procedural code. All input/output to the encyclopedia will go through the workstation access module. This workstation access module is used to communicate with a data base server. A. Standard Lead Each data base record in each data base contains a standard lead, a file key and data. Those parts of the standard lead that are required for any particular entity or relation type is defined in the class data area for that entity. The class data is contained on the 00000000 record for that entity type. B. The Instance Data Base This data base contains information about each instance of every entity type defined. The data dictionary contains a complete list of entity types and codes. The key structure of this data base includes one field for instance-type and one for instance-sequence. A set number of definitions is included in the access module to define the instance-type value for each entity type. C. The 00000000 Record The 00000000 record of each entity type contains the control information about that entity type. This data is used for key assignment and generic entity processing. Each element contained in the structure in the data-structure field has a corresponding entry in the options table. The bit settings on the option byte will have one of the following meanings: 1) required, 2) this field is cross referenced, or 3) this field is not enterable by the user. D. The Relationship Data Base The relationship data base contains the information contained at the connection level between two entity instances. The structure of the application data follows exactly the rules for data on the instance records. The `zero` key contains the control information about this connection using the same technique used for instance records. Absence of a `zero` record implies that a connection between these two entities is not allowed. The key structure contains one field for each of the following: instance-type, instance-sequence, footprint (optional), connection-type, relate-sequence, tar-instance-type, and tar-instance-sequence. Connection-type should have the one of four values/meanings: parent, child, forward, or backward. E. The Cross-Reference Data Base The cross-reference (xref) data base contains a generalized cross-reference facility that is used by the applications to maintain symbolic cross-reference keys. The cross-reference access module is used to access and maintain cross-reference data. The key structure contains one field for xref-word and one for xref-sequence. F. The Text Data Base The text data base is the repository for general text information. It contains the key of either an instance or a relationship, then a sequentially assigned sequence number. Each record contains the next available key field, but it only has significance on the `zero` text record for an entity. G. The Access Module The access module for all files from a workstation has the following communications area outlined below. Required fields for each data base are listed next to the function. Functions and Required Fields: The following is a detailed example of the major functions and required fields to perform transactions on the data bases.
______________________________________
FUNCTION: READ
Required Data:
Inst.sub.-- DB
INSTANCE.sub.-- KEY or ((SH.sub.-- NAME or
LG NAME) and INST TYPE)
Relate.sub.-- DB
RELATE.sub.-- KEY (Seq.sub.-- Nbr optional)
Xref.sub.-- DB
XREF.sub.-- WORD (Seq.sub.-- Nbr optional)
Text.sub.-- DB
KEY (Seq.sub.-- Nbr optional)
Return Codes:
IB.sub.-- RC.sub.-- OK - record read
IB.sub.-- RC.sub.-- NOT.sub.-- FND - record not found
IB.sub.-- RC.sub.-- DUP.sub.-- KEY - duplicate key
IB.sub.-- RC.sub.-- KEY.sub.-- FMT - key format error
IB.sub.-- RC.sub.-- ERROR - severe error required data:
The requested record will be returned in the
IO.sub.-- AREA
FUNCTION: READ UPDATE
Required Data:
Inst.sub.-- DB
INSTANCE.sub.-- KEY
Relate.sub.-- DB
RELATE.sub.-- KEY
Xref.sub.-- DB
XREF.sub.-- KEY
Text.sub.-- DB
TEXT.sub.-- KEY
Return Codes:
IB.sub.-- RC.sub.-- OK - record read
IB.sub.-- RC.sub.-- NOT.sub.-- FND - record not found
IB.sub.-- RC.sub.-- DUP.sub.-- KEY - duplicate key
IB.sub.-- RC.sub.-- KEY.sub.-- FMT - key format error
IB.sub.-- R.sub.-- ERROR - severe error
The requested record will be returned in the
IO.sub.-- AREA
FUNCTION: DELETE
Required Data:
Inst.sub.-- DB
INSTANCE.sub.-- KEY
Relate.sub.-- DB
RELATE.sub.-- KEY
Xref.sub.-- DB
XREF.sub.-- KEY
Text.sub.-- DB
TEXT.sub.-- KEY
Return Codes:
IB.sub.-- RC.sub.-- OK - record read
IB.sub.-- RC.sub.-- NOT.sub.-- FND - record not found
IB.sub.-- RC.sub.-- DUP.sub.-- KEY - duplicate key
IB.sub.-- RC.sub.-- KEY.sub.-- FMT - key format error
IB.sub.-- RC.sub.-- NO.sub.-- RUPDT - no prior read for update
IB.sub.-- RC.sub.-- ERROR - severe error
The record will be deleted, but retained in the
IO.sub.-- AREA. All cross-reference data will be deleted
automatically also.
FUNCTION: ADD
Required Data:
Inst.sub.-- DB
SH.sub.-- NAME, LG.sub.-- NAME and INST.sub.-- TYPE
Relate.sub.-- DB
inst.sub.-- type
inst.sub.-- seq
ib.sub.-- fp.sub.-- desired
tar.sub.-- inst.sub.-- type
tar.sub.-- inst.sub.-- seq
Xref.sub.-- DB
XREF.sub.-- WORD
TARGET.sub.-- DATA
Text.sub.-- DB
KEY
Return Codes:
IB.sub.-- RC.sub.-- OK - record read
IB.sub.-- RC.sub.-- KEY.sub.-- FMT - key format error
IB.sub.-- RC.sub.-- ERROR - severe error
The sequence number always is supplied by the data
base server. It is only returned when the record
is successfully added to the encyclopedia.
FUNCTION: UPDATE
Required Data:
Inst.sub.-- DB
INSTANCE.sub.-- KEY
Relate.sub.-- DB
RELATE.sub.-- KEY
Xref.sub.-- DB
XREF.sub.-- KEY
Text.sub.-- DB
TEXT.sub.-- KEY
Return Codes:
IB.sub.-- RC.sub. -- OK - record read
IB.sub.-- RC.sub.-- NOT.sub.-- FND - record not found
IB.sub.-- RC.sub.-- DUP.sub.-- KEY - duplicate key
IB.sub.-- RC.sub.-- KEY.sub.-- FMT - key format error
IB.sub.-- RC.sub.-- NO.sub.-- RUPDT - no prior read for update
IB.sub.-- RC.sub.-- ERROR - severe error
The record will be retained in the io-area.
FUNCTION: RESEQ
Required Data:
Relate.sub.-- DB
inst-type
inst-seq
Return Codes:
IB.sub.-- RC.sub.-- OK - records resequence begun
IB.sub.-- RC.sub.-- ERROR - severe error
______________________________________
Steps Required When Adding A New Entity Type: 1) Add the two character identifier to the Type: 2) Add a structure to represent the data portions of the instance record. 3) Build the `zero` record for this entity type. 4) Build the `zero` records for connections. The following chart illustrates the mapping between (a) certain system functions and terminology and (b) the corresponding sections of the microfiche appendix and the specification in which the terminology is clarified. MAPPING CHART Creation of Dictionaries Fiche 1 Frame D01: Under the heading "ADD THE REQUESTED RECORD . . . ", the routine R100.sub.-- DD adds a dictionary domain entity to the data base to create a new dictionary. The variable DOMAIN.sub.-- IDO is used to store the ID of the new dictionary created by this routine. Assignment of Hierarchy to Dictionaries Fiche 1 Frame D01; (a) In the data structure DOMAIN.sub.-- HIERARCHY, the hierarchical structure of a dictionary is defined. (b) The data structures DDOMAX.sub.-- DICT.sub.--DOMAINo 2a, DD.sub.-- PTR, CDD.sub.-- PTR, TDD.sub.-- PTR, LPTR, NPTR, and LAST.sub.-- LEAF.sub.-- PTR show how the data structure of a hierarchy is used. (c) Under the heading "LOOP THROUGH THE DOMAIN HIERARCHY . . . ", the subroutine section starting at "FOR (TDD.sub.-- PTR = PTR; . . . " the hierarchy assignments can be found. Dictionary hierarchy is also discussed in the specification in section I.1.F. Definition/Structure of Encyclopedia Fiche 6 Frames G05 and G06: Below "MEMBER=K004", an example of the data structure of the encyclopedia is shown. In this data structure, the name of each data element is followed by the corresponding external length, internal length, and the type of data element. Fiche 2 Frame C01: Under the heading "ESB IDS FOR ALL RELATE TYPES", the structure of all relationships in the encyclopedia is shown in the right-most column, e.g., "AD-->AD". The structure of an encyclopedia is also described in detail in the specification in section I.2. Definition of Migration Fiche 1 Frame D01: As shown under the heading "PERFORM INITIALIZATION", migration is explicitly defined by the program line in which the comment (in the right-most column) "ENTITY MIGRATION" appears. Here it can be seen that migration is the transferring of an entity from one domain to another domain. The concept of migration is also defined in the specification in "Summary of the Invention", paragraph 5 and in section I.1.I. Types of Modifications Which Are Migrated Fiche 2 Frame C01: Under the heading "ENTITY TYPE LONG NAMES", a complete list is given of the various types of entities that can be migrated. These entities include screens, logical processes, etc. Control/Regulation of Migration Fiche 1 Frame D01: Under the heading "READ THE SIGNON RECORD", it can be seen that at sign-on time, a user must select an active domain. Under the heading "LOOK UP CURRENT DOMAIN . . . ", the domain hierarchy is verified against a domain table for each access attempted. Additional disclosure of the manner in which migration is controlled appears in the specification in section I.1.I. It should be understood that the present invention is not limited to the precise structure of the illustrated embodiments, it being intended that the foregoing description of the presently preferred embodiments be regarded as an illustration rather than as a limitation of the present invention. It is the following claims, including all equivalents, which are intended to define the scope of the invention.
|
Same subclass Same class Consider this |
||||||||||
