Patent US6064814A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6064814A Expired / Lapsed US ⏱️ 0.0 years remaining

Automatically updated cross reference system having increased flexibility

Assignee: Allen Bradley Co LLC
•
Filing: 1997-11-13
•
Granted: 2000-05-16
•
Expires: 2017-11-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of maintaining cross reference information regarding a user program comprises the steps of determining that an aspect of a first referencee has been modified, notifying a first referencer that the aspect of the first referencee has been modified, and updating cross reference information. The notifying step is performed by the first referencee, and the updating step is performed by the first referencer. The cross reference information is stored in a database comprising an entry for each reference made by a referencer to a referencee. Each entry stores a unique identifiers which identify a respective referencer and referencee. The cross reference information is automatically updated through a notification procedure in which referencees are responsible for notifying referencers when an aspect of the referencee changes, and the referencers are thereafter responsible for updating the cross reference information. The present invention provides increased flexibility in terms of the types of cross reference information which is maintained and the types of actions which a user is allowed to take without losing cross reference information. For example, the cross reference system is able to manage references to a referencee before the referencee is created and after the referencee is deleted.

Inventors

  • 👤 Luis A. Capriles
  • 👤 Robert R. Sepsi
  • 👤 Michael D. Kalan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 06:21
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3604; G06F8/00; G06F8/70; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99945; Y10S707/99948

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 95 words
A method of maintaining cross reference information regarding a user program, said user program comprising a plurality of referencers which make references to a plurality of referencees, including a first referencer which makes a first reference to a first referencee, the method comprising the steps of: determining that an aspect of said first referencee has been modified; notifying said first referencer that said aspect of said first referencee has been modified, said notifying step being performed by said first referencee; and updating said cross reference information, said updating step being performed by said first referencer.
Claim 2
Independent Claim 95 words
A method of maintaining cross reference information regarding a user program, said user program comprising a plurality of referencers which make references to a plurality of referencees, including a first referencer which makes a first reference to a first referencee, the method comprising the steps of: determining that an aspect of said first referencee has been modified; notifying said first referencer that said aspect of said first referencee has been modified, said notifying step being performed by said first referencee; and updating said cross reference information, said updating step being performed by said first referencer.
Claim 3
Dependent Claim 41 words
A method according to claim 1, wherein said notifying step further comprises the following steps, performed by said referencee object: accessing said cross reference information; and determining, based on said cross reference information, that said first referencer references said first referencee.
Claim 4
Dependent Claim 49 words
A method according to claim 1, wherein said plurality of referencers includes a second referencer that makes a second reference to a non-existent referencee, and wherein the method further includes the step of maintaining cross reference information regarding said second reference by said second referencer to said non-existent referencee.
Claim 5
Dependent Claim 72 words
A method according to claim 3, wherein said storing step further comprises the steps of: creating a temporary referencee; maintaining said cross reference information regarding said second reference based on said temporary referencee; creating a second referencee which corresponds to said non-existent referencee by converting said temporary referencee into said second referencee; and maintaining cross reference information regarding said second reference based on said second referencee after said second reference is created.
Claim 6
Dependent Claim 27 words
A method according to claim 1, wherein said cross reference information is stored independently of user-given names of said plurality of referencers and said plurality of referencees.
Claim 7
Dependent Claim 60 words
A method according to claim 1, wherein said first referencee is a global variable, wherein said plurality of referencees further include a second referencee which is a local variable, and further comprising the steps of: deleting said local variable; updating references to said local variable so that said references to said local variable are instead made to said global variable.
Claim 8
Dependent Claim 39 words
A method according to claim 1, wherein there are multiple levels of referencers which are notified as a result of said modification to said first referencee, and wherein lower level referencers are updated before higher level referencers are updated.
Claim 9
Dependent Claim 177 words
A method according to claim 7, wherein, for all referencees, said notifying step further comprises the following steps, which are performed recursively (1) identifying referencer objects which reference a given referencee object, and determining whether a given referencer object is referenced by any upper level referencer objects which have not previously been identified, (2) and, if so, then repeating said identifying step (1) with respect to the upper level referencers which have not been identified, and, if not, then repeating said identifying step (1) for another referencer until all referencers have been identified; and wherein, for all referencers, said updating step further comprises the following steps, which are performed recursively: (1) determining whether a given referencer references any lower level referencers which reference said first referencee and which have not been updated, (2) and, if so, then repeating said determining step (1) with respect to the lower level referencers which have not been updated, and, if not, then updating said given referencer and repeating said determining step (1) for another referencer until all referencers have been updated.
Claim 10
Dependent Claim 20 words
A method according to claim 1, wherein said cross reference information includes information regarding whether said first reference is destructive.
Claim 11
Dependent Claim 54 words
A method according to claim 1, wherein said first referencee comprises a plurality of subcomponents; wherein said first referencer references one of said plurality of subcomponents of said referencee object; and wherein said cross reference information includes information indicating which one of said plurality of subcomponents of said referencee is referenced by said referencer.
Claim 12
Dependent Claim 16 words
A method according to claim 1, wherein said method is implemented in an object-oriented programming environment.
Claim 13
Dependent Claim 58 words
A cross reference system for maintaining cross reference information regarding a user program in an object-oriented programming environment, the cross reference system comprising: a referencee object; a referencer object, said referencer object making a reference to said referencee object; a database, said database maintaining cross reference information regarding said reference from said referencer object to said referencee object.
Claim 14
Dependent Claim 58 words
A cross reference system for maintaining cross reference information regarding a user program in an object-oriented programming environment, the cross reference system comprising: a referencee object; a referencer object, said referencer object making a reference to said referencee object; a database, said database maintaining cross reference information regarding said reference from said referencer object to said referencee object.
Claim 15
Dependent Claim 23 words
A cross reference system according to claim 12, wherein said database is automatically updated each time an aspect of said referencee object changes.
Claim 16
Dependent Claim 54 words
A cross reference system according to claim 12, wherein said referencee object is responsible for notifying said referencer object when an aspect of said referencee object changes, and wherein said referencer object is responsible for updating said database after being notified by said referencee object that said aspect of said referencee object has changed.
Claim 17
Dependent Claim 35 words
A cross reference system according to claim 12, wherein said database stores a first unique identifier which identifies said referencee object; and wherein said database stores a second unique identifier which identifies said referencer object.
Claim 18
Dependent Claim 27 words
A cross reference system according to claim 12, wherein said database stores information regarding whether said reference from said referencer object to said referencee object is destructive.
Claim 19
Dependent Claim 56 words
A cross reference system according to claim 12, wherein said references object comprises a plurality of subcomponents; wherein said referencer object references one of said plurality of subcomponents of said referencee object; and wherein said database stores information indicating which one of said plurality of subcomponents of said referencee object is referenced by said referencer object.
Claim 20
Dependent Claim 41 words
A cross reference system according to claim 12, further comprising a plurality of additional objects for which cross reference information is maintained, said plurality of additional objects being objects of different types including data objects, subroutine objects, and subroutine call objects.
Claim 21
Dependent Claim 26 words
A cross reference system according to claim 12, wherein said referencer object and said referencee object are objects of a control program for an industrial controller.
Claim 22
Dependent Claim 152 words
A cross reference system for maintaining information regarding references in a user program, the cross reference system comprising: A. a plurality of referencees including first and second referencees, 1. said first referencee being assigned a first unique identifier, and 2. said second referencee being assigned a second unique identifier; B. a plurality of referencers including first and second referencers, 1. said first referencer being assigned a third unique identifier, and said first referencer making a first reference to said first referencee, 2. said second referencer being assigned a fourth unique identifier, and said second referencer making a second reference to said second referencee; and C. a database, said database including a plurality of entries including first and second entries, 1. said first entry corresponding to said first reference, said first entry including a first field which contains said first unique identifier and a second field which contains said third unique identifier, and
Claim 23
Dependent Claim 152 words
A cross reference system for maintaining information regarding references in a user program, the cross reference system comprising: A. a plurality of referencees including first and second referencees, 1. said first referencee being assigned a first unique identifier, and 2. said second referencee being assigned a second unique identifier; B. a plurality of referencers including first and second referencers, 1. said first referencer being assigned a third unique identifier, and said first referencer making a first reference to said first referencee, 2. said second referencer being assigned a fourth unique identifier, and said second referencer making a second reference to said second referencee; and C. a database, said database including a plurality of entries including first and second entries, 1. said first entry corresponding to said first reference, said first entry including a first field which contains said first unique identifier and a second field which contains said third unique identifier, and
Claim 24
Dependent Claim 31 words
said second entry corresponding to said second reference, said second entry including a first field which contains said second unique identifier and a second field which contains said fourth unique identifier.
Claim 25
Dependent Claim 31 words
said second entry corresponding to said second reference, said second entry including a first field which contains said second unique identifier and a second field which contains said fourth unique identifier.
Claim 26
Dependent Claim 52 words
A cross reference system according to claim 20, wherein said first referencee is responsible for notifying said first referencer when an aspect of said first referencee changes, and wherein said first referencer is responsible for updating said database after being notified by said referencee that said aspect of said referencee has changed.
Claim 27
Dependent Claim 31 words
A cross reference system according to claim 20, wherein said first and second referencees and said first and second referencers are all objects of a control program for an industrial controller.
Claim 28
Dependent Claim 94 words
A cross reference system according to claim 20, wherein said plurality of referencers includes a third referencer, said third referencer being assigned a fifth unique identifier, and said third referencer making a third reference to a non-existent referencee, wherein said plurality of entries includes a third entry, said third entry corresponding to said third reference, said third entry including a first field which contains said fifth unique identifier and a second field which contains a sixth unique identifier, said sixth unique identifier being assigned to a temporary referencec which corresponds to said non-existent referencee.
Claim 29
Independent Claim 90 words
A method of maintaining information regarding references in a user program, the method comprising the steps of: A. making a reference to a non-existent referencee, said step (A) being performed a referencer; B. creating a temporary referencee; C. maintaining cross reference information regarding said reference based on said temporary referencee; D. creating a new referencee which corresponds to said non-existent referencee by converting said temporary referencee into said new referencee; and F. maintaining cross reference information regarding said reference based on said new referencee after said new referencee is created.
Claim 30
Independent Claim 90 words
A method of maintaining information regarding references in a user program, the method comprising the steps of: A. making a reference to a non-existent referencee, said step (A) being performed a referencer; B. creating a temporary referencee; C. maintaining cross reference information regarding said reference based on said temporary referencee; D. creating a new referencee which corresponds to said non-existent referencee by converting said temporary referencee into said new referencee; and F. maintaining cross reference information regarding said reference based on said new referencee after said new referencee is created.
Claim 31
Dependent Claim 47 words
A cross reference system for assisting programming of a control program for an industrial control system, said cross reference system providing information regarding references in said control program to facilitate program editing, said cross reference system comprising: A. a plurality of referencees including first and second referencees,
Claim 32
Dependent Claim 47 words
A cross reference system for assisting programming of a control program for an industrial control system, said cross reference system providing information regarding references in said control program to facilitate program editing, said cross reference system comprising: A. a plurality of referencees including first and second referencees,
Claim 33
Dependent Claim 459 words
said first referencee being assigned a first unique identifier, and said first referencee comprising a subroutine, and 2. said second referencee being assigned a second unique identifier, and said second referencee comprising a plurality of subcomponents; B. a plurality of referencers including first, second and third referencers, 1. said first referencer being assigned a third unique identifier, said first referencer making a first reference to said first referencee, and said first referencer comprising a subroutine call to said subroutine, 2. said second referencer being assigned a fourth unique identifier, said second referencer making a second reference to said second referencee, and said second referencer referencing one of said plurality of subcomponents of said referencee, 3. said third referencer being assigned a fifth unique identifier, and said third referencer making a third reference to a non-existent referencee; and C. a database, said database including a plurality of entries including first, second and third entries, 1. said first entry corresponding to said first reference, said first entry including a first field which contains said first unique identifier, said first entry including a second field which contains said third unique identifier, and said first entry including a third field which contains information regarding whether said first reference is destructive, 2. said second entry corresponding to said second reference, said second entry including a first field which contains said second unique identifier, said second entry including a second field which contains said fourth unique identifier, and said second entry including a third field which contains information regarding whether said third reference is destructive, and said second entry containing a fourth field containing information which indicates which one of said plurality of subcomponents of said referencee object is referenced by said referencer object, and 3. said third entry corresponding to said third reference, said third entry including a first field which contains said fifth unique identifier and a second field which contains a sixth unique identifier, said sixth unique identifier corresponding to a temporary referencee established to maintain cross reference information for said non-existent referencee; and wherein said first referencee is responsible for notifying said first referencer when an aspect of said first referencee changes, and wherein said first referencer is responsible for updating said database after being notified by said first referencee that said aspect of said first referencee has changed; wherein said second referencee is responsible for notifying said second referencer when an aspect of said second referencee changes, and wherein said second referencer is responsible for updating said database after being notified by said second referencee that said aspect of said second referencee has changed; and wherein said database is automatically updated each time said aspect of said first referencee changes and each time said aspect of said second referencee changes.
Claim 34
Dependent Claim 459 words
said first referencee being assigned a first unique identifier, and said first referencee comprising a subroutine, and 2. said second referencee being assigned a second unique identifier, and said second referencee comprising a plurality of subcomponents; B. a plurality of referencers including first, second and third referencers, 1. said first referencer being assigned a third unique identifier, said first referencer making a first reference to said first referencee, and said first referencer comprising a subroutine call to said subroutine, 2. said second referencer being assigned a fourth unique identifier, said second referencer making a second reference to said second referencee, and said second referencer referencing one of said plurality of subcomponents of said referencee, 3. said third referencer being assigned a fifth unique identifier, and said third referencer making a third reference to a non-existent referencee; and C. a database, said database including a plurality of entries including first, second and third entries, 1. said first entry corresponding to said first reference, said first entry including a first field which contains said first unique identifier, said first entry including a second field which contains said third unique identifier, and said first entry including a third field which contains information regarding whether said first reference is destructive, 2. said second entry corresponding to said second reference, said second entry including a first field which contains said second unique identifier, said second entry including a second field which contains said fourth unique identifier, and said second entry including a third field which contains information regarding whether said third reference is destructive, and said second entry containing a fourth field containing information which indicates which one of said plurality of subcomponents of said referencee object is referenced by said referencer object, and 3. said third entry corresponding to said third reference, said third entry including a first field which contains said fifth unique identifier and a second field which contains a sixth unique identifier, said sixth unique identifier corresponding to a temporary referencee established to maintain cross reference information for said non-existent referencee; and wherein said first referencee is responsible for notifying said first referencer when an aspect of said first referencee changes, and wherein said first referencer is responsible for updating said database after being notified by said first referencee that said aspect of said first referencee has changed; wherein said second referencee is responsible for notifying said second referencer when an aspect of said second referencee changes, and wherein said second referencer is responsible for updating said database after being notified by said second referencee that said aspect of said second referencee has changed; and wherein said database is automatically updated each time said aspect of said first referencee changes and each time said aspect of said second referencee changes.
Claim 35
Dependent Claim 32 words
A cross reference system according to claim 25, wherein said first and second referencees and said first, second and third referencers are all objects of a control program for an industrial controller.

References Cited (Backward Citations)

US5267145A Cited
US5235701A Cited
US5550976A Cited
US5535390A Cited
US5805889A Cited
US5659845A Cited
US5878408A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-16 2003-11-15 2004-05-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-16 2007-11-15 2008-05-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-16 2011-11-15 2012-05-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag