← Back to Patent Explorer
US5659723A Expired / Lapsed US ⏱️ 0.0 years remaining

Entity/relationship to object oriented logical model conversion method

Assignee: International Business Machines Corp
•
Filing: 1991-12-20
•
Granted: 1997-08-19
•
Expires: 2011-12-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for automatically translating computer application program modeling data expressed in entity/relationship terminology into computer application program model data expressed in object oriented terminology. A conversion process extracts unique entity names from the E/R model database and converts the entity names so found into object oriented class names. Next, based on the type of entity/relationships found in the E/R data model, target and source entities are identified for each "is a" type of relationship and the converted object oriented class names are arranged in a hierarchical inheritance grouping in which each unique class name whose matching entity name is the source of a "is a" relationship is subordinate to the unique object class name in the hierarchy which matches the target entity name is said "is a" relationship and in which grouping any unique object class name that has no matching entity with an "is a" relationship is placed subordinate to an arbitrarily selected unique object class name.

Inventors

  • 👤 Peter Paul Dimitrios
  • 👤 Frank Sydnor Haynes
  • 👤 Anthony Hayden Lindsey
  • 👤 Mark Edward Lorenz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 06:07
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/20; G06F8/24; G06F16/00; G06F16/20; G06F16/28; G06F16/284; G06F16/288; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 294 words
A computer process for automatically converting computer program modeling data expressed in Entity Relationship (ER) terminology and format into computer program modeling data expressed in Object Oriented (OO) terminology and format, comprising steps for: loading ER computer program modeling data into accessible computer memory; extracting from said ER computer program modeling data in said computer memory each unique entity name; and, responsive to said extracting, reassigning said unique entity names as OO object class names by storing said unique entity names separately as OO object class names in said memory; determining for each said OO object class name whether the said entity having the same said unique entity name as said OO object class has a relationship between a target entity and a source entity of the "is a" type; and, responsive to said determining, arranging said OO object class names in a hierarchical inheritance grouping in which each OO object class name whose matching entity name is the source entity of an "is a" relationship is subordinate to said OO object class name which matches the target entity name of said "is a" relationship; and further, in which hierarchical inheritance grouping, each said OO object class name that has no matching entity name with a "is a" relationship is placed in an object class subject to a unique superior object class name; extracting the names of any attributes and the parameters of any relationships accorded to said entity names in said ER modeling data; collecting and storing in said computer memory as object class names each said attribute name; and collecting and storing as object class instance variables the names of any data elements associated to each said entity name through a "has a" relationship or by being an attribute of said entity.
Claim 2
Dependent Claim 294 words
A computer process for automatically converting computer program modeling data expressed in Entity Relationship (ER) terminology and format into computer program modeling data expressed in Object Oriented (OO) terminology and format, comprising steps for: loading ER computer program modeling data into accessible computer memory; extracting from said ER computer program modeling data in said computer memory each unique entity name; and, responsive to said extracting, reassigning said unique entity names as OO object class names by storing said unique entity names separately as OO object class names in said memory; determining for each said OO object class name whether the said entity having the same said unique entity name as said OO object class has a relationship between a target entity and a source entity of the "is a" type; and, responsive to said determining, arranging said OO object class names in a hierarchical inheritance grouping in which each OO object class name whose matching entity name is the source entity of an "is a" relationship is subordinate to said OO object class name which matches the target entity name of said "is a" relationship; and further, in which hierarchical inheritance grouping, each said OO object class name that has no matching entity name with a "is a" relationship is placed in an object class subject to a unique superior object class name; extracting the names of any attributes and the parameters of any relationships accorded to said entity names in said ER modeling data; collecting and storing in said computer memory as object class names each said attribute name; and collecting and storing as object class instance variables the names of any data elements associated to each said entity name through a "has a" relationship or by being an attribute of said entity.
Claim 3
Dependent Claim 46 words
A computer process as described in claim 1 further comprising steps for: collecting and storing for each said object class having an entity name possessing an "other" relationship, the named functions performed by said entity as object class methods to be performed by said object class.
Claim 4
Dependent Claim 39 words
A process as described in claim 1 further comprising steps for: collecting and storing in association with "has a" relationship bearing entities the names of all functions or methods performed in accessing related data elements associated with said entities.
Claim 5
Dependent Claim 74 words
A process as described in claim 1 further comprising steps for each said unique entity name, of: comparing each attribute name held by these said entities in accordance with said ER modeling data with the instance variable names for the OO object class name which matches said unique entity name; and if no match is found in said comparing, adding the said attribute name to said OO object class' list of instance variable names.
Claim 6
Dependent Claim 96 words
A process as described in claim 1 further comprising: for each unique entity name comparing the existing entity relationships of any to determine if the entity name matches a source name of an entity in an entity relationship and if so whether that relationship is a "has a" relationship and if so the object class associated with the target entity of the "has a" relationship becomes an instance variable of the object class associated with the source entity name by adding the entity name to the list of class instance variable names for the object class.
Claim 7
Dependent Claim 104 words
A method as described in claim 1, further comprising steps for: comparing each unique entity name to the list of entities involved in any relationships for each relationship of the type "other" comparing the list of methods for the object class associated with the source entity of said entity relationship for a match between the method name and the relationship name and if a match is found creating an association pointer between the existing said method and the existing said relationship but if no match is found adding a method with the name of the relationship to the object class' list of associated methods.
Claim 8
Dependent Claim 39 words
A process as described in claim 2, further comprising steps for: collecting and storing in association with "has a" relationship bearing entities, the names of all functions or methods performed in accessing related data elements associated with said entities.
Claim 9
Dependent Claim 76 words
A process as described in claim 2, further comprising steps for: comparing, for each unique entity name, each attribute name with any instant variable names for the entities associated said OO object class name, and if a match is found, do nothing, but if no match is found, adding the attribute name to the associated object's class list of instant variable names as an instance variable for said object class to be associated with said entity.
Claim 10
Dependent Claim 74 words
A process as described in claim 3, for each said unique entity name, further comprising steps for: comparing each attribute name held by these said entities in accordance with said ER modeling data with the instance variable names for the OO object class name which matches said unique entity name; and if no match is found in said comparing, adding the said attribute name to said OO object class' list of instance variable names.
Claim 11
Dependent Claim 99 words
A process as described in claim 2, further comprising: for each unique entity name, comparing the existing entity relationships, if any, to determine if the entity name matches a source name of an entity in an entity relationship and, if so, whether that relationship is a "has a" relationship and, if so, the OO object class associated with the target entity of the "has a" relationship becomes an instant variable of the OO object class associated with the source entity name by adding the entity name to the list of class instance variable names for the OO object class.
Claim 12
Dependent Claim 99 words
A process as described in claim 3, further comprising: for each unique entity name, comparing the existing entity relationships, if any, to determine if the entity name matches a source name of an entity in an entity relationship and, if so, whether that relationship is a "has a" relationship and, if so, the OO object class associated with the target entity of the "has a" relationship becomes an instant variable of the OO object class associated with the source entity name by adding the entity name to the list of class instance variable names for the OO object class.
Claim 13
Dependent Claim 99 words
A process as described in claim 4, further comprising: for each unique entity name, comparing the existing entity relationships, if any, to determine if the entity name matches a source name of an entity in an entity relationship and, if so, whether that relationship is a "has a" relationship and, if so, the OO object class associated with the target entity of the "has a" relationship becomes an instant variable of the OO object class associated with the source entity name by adding the entity name to the list of class instance variable names for the OO object class.
Claim 14
Dependent Claim 107 words
A method as described in claim 2, further comprising steps for: comparing each unique entity name to the list of entities involved in any relationships, and for each relationship of the type "other", comparing the list of methods for the OO object class associated with the source entity of said entity relationship for a match between the method name and the relationship name, and if a match is found, creating an association pointer between the existing said method and the existing said relationship, but if no match is found, adding a method with the name of the relationship to the OO object class' list of associated methods.
Claim 15
Dependent Claim 107 words
A method as described in claim 3, further comprising steps for: comparing each unique entity name to the list of entities involved in any relationships, and for each relationship of the type "other", comparing the list of methods for the OO object class associated with the source entity of said entity relationship for a match between the method name and the relationship name, and if a match is found, creating an association pointer between the existing said method and the existing said relationship, but if no match is found, adding a method with the name of the relationship to the OO object class' list of associated methods.
Claim 16
Dependent Claim 107 words
A method as described in claim 4, further comprising steps for: comparing each unique entity name to the list of entities involved in any relationships, and for each relationship of the type "other", comparing the list of methods for the OO object class associated with the source entity of said entity relationship for a match between the method name and the relationship name, and if a match is found, creating an association pointer between the existing said method and the existing said relationship, but if no match is found, adding a method with the name of the relationship to the OO object class' list of associated methods.
Claim 17
Dependent Claim 107 words
A method as described in claim 5, further comprising steps for: comparing each unique entity name to the list of entities involved in any relationships, and for each relationship of the type "other", comparing the list of methods for the OO object class associated with the source entity of said entity relationship for a match between the method name and the relationship name, and if a match is found, creating an association pointer between the existing said method and the existing said relationship, but if no match is found, adding a method with the name of the relationship to the OO object class' list of associated methods.

References Cited (Backward Citations)

US5019961A Cited
US5313633A Cited
US5295256A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-08-18 2001-02-17 2001-08-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-08-18 2005-02-17 2005-08-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-08-18 2009-02-17 2009-08-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag