Methods and apparatus for digital data processing with mutable inheritance
First Claim
1. In an execution environment for an object-oriented program, a method of manipulating objects, comprisinginstantiating an object A of class X, said instantiating step comprisingallocating memory for a header of object Aallocating memory for at least one ofone or more data elements inherited from class X and associated with object A, andone or more method members inherited from class X and associated with object A,responding to an object transformation request byallocating memory for one or more data elements inherited from of class Y which are absent from class X, andassociating those data elements with said header of object A.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of automated workflow processing includes transforming an object, A1, which is of class X, into an object which is of class Y. The method includes the steps of separating existing data elements of A1 from the object itself, generating new data elements corresponding to class Y, inserting the new data elements into object A1, and computing values for the new data elements, possibly based on values of the old data elements. Other objects that referred to A1 before the transformation continue to do so afterwards. Values of data elements prior to transformation can be preserved, e.g., to facilitate review, to facilitate further transformation, and/or to facilitate back transformation.
37 Citations
38 Claims
-
1. In an execution environment for an object-oriented program, a method of manipulating objects, comprising
instantiating an object A of class X, said instantiating step comprising allocating memory for a header of object A allocating memory for at least one of one or more data elements inherited from class X and associated with object A, and one or more method members inherited from class X and associated with object A, responding to an object transformation request by allocating memory for one or more data elements inherited from of class Y which are absent from class X, and associating those data elements with said header of object A.
-
13. A method for transforming an object A of class X, which inherits data elements and method members from class X, into an object of class Y, comprising
in response to an object transformation request, allocating memory for one or more data elements and method members inherited from Y, associating object A with said allocated data elements inherited from Y and with one or more method members inherited from Y, and defining values for said allocated data elements inherited from Y as a function of any of (a) one or more values of data elements of object A inherited from class X, or (b) one or more default values, and dissociating object A from said data elements and method members inherited from class X.
-
17. A method of transforming an object A of class X, which inherits one or more data elements and one or more method members from class X, into an object that is of class Y, comprising the steps of:
-
in response to a request for object transformation, generating one or more data elements inherited from class Y absent from class X, associating object A with said generated data elements inherited from class Y, and associating object A with one or more method members inherited from Y absent from class X. - View Dependent Claims (18, 19)
-
-
20. A method of transforming an object A of class X, which inherits from class X one or more data elements and one or more method members, into an object that is of a class Y, comprising the steps of
in response to an object transformation request, disassociating from object A one or more data elements inherited from class X that are absent from class Y, and disassociating from object A one or more method members inherited from class X that are absent from class Y.
-
21. A method of workflow processing, comprising
creating an object A, which is of class X, that models a work item in the work flow, said object A inheriting one or more data elements and one or more method members from class X, referring, at run-time, to the object A with one or more objects or other constructs (collectively, “ - referring objects”
),transforming object A into an object of class Y that further models the work time while maintaining the reference of said referring objects to object A, defining one or more values for data elements of object A inherited from class Y as a function of any of (a) one or more previous data elements of object A inherited from class X or (b) one or more default values. - View Dependent Claims (22, 23, 24, 25, 26, 27)
- referring objects”
-
28. A method of transforming object A of class X, having a header and one or more data elements and one or more method members inherited from class X, into an object of class Y, wherein class Y multiply inherits from classes Y0–
- Ym (where m is an integer greater than or equal to
1), the method comprising the steps of;generating one or more data elements specified in class Y, associating the header of object A with said generated data elements inherited from Y, defining values for said generated data elements inherited from Y as a function of any of (a) values of the data elements of object A inherited from class X or (b) one or more default values, dissociating the header of object A from any of the data elements inherited from class X. - View Dependent Claims (29, 30, 31, 32)
- Ym (where m is an integer greater than or equal to
-
33. A method of transforming an object A of class X, which inherits data elements and method members from class X, into an object of class Y, which inherits data elements and method members from class Y, comprising
defining one or more declarative rules providing mappings between one or more data elements of class Y and one or more data elements of class X, in response to an object transformation request, allocating memory for one or more data elements and method members inherited from class Y, associating object A with said allocated data elements inherited from class Y and with one or more method members inherited from class Y, and utilizing said declarative rules to define values for said allocated data elements inherited from class Y as a function of one or more values of data elements of object A inherited from class X.
-
35. A method for transforming an object A of class X, which inherits data elements and method members from class X, into an object of class Y, comprising
retaining at least selected values of data elements associated with object A of class X, allocating memory for one or more data elements and method members inherited from Y, associating object A with said allocated data elements inherited from Y and with one or more method members inherited from Y, defining values for said allocated data elements inherited from Y as a function of any of (a) one or more values of data elements of object A inherited from class X, or (b) one or more default values, and dissociating object A from said data elements and method members inherited from class X.
Specification