System and method for providing interoperability among heterogeneous object systems
First Claim
1. A device, for use in a digital computer system which provides for objects of first and second object models and corresponding first and second object systems using respective first and second implementations to implement, respectively, the first and second object models, the device for enabling the first object system to use objects of the second object model, the device comprising:
- description means for providing a description of an object of the second object model;
proxy means for creating a proxy object that is an object of the first object system and that corresponds to the object of the second object model;
receiving means for receiving a manipulation of the proxy object, the maximum rotation conforming to the first implementation; and
forwarding means for forwarding the manipulation of the proxy object to the corresponding object of the second object model by utilizing the description.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method in accordance with a preferred embodiment enable objects from two or more heterogeneous object systems in a digital computer to interoperate and be combined in the creation of a larger object-oriented software project, as well as uses of such system and method. Objects from a foreign object system are unmodified, yet appear to be native to the object system in which they are used or accessed. A native proxy object (indistinguishable from other native objects) is constructed for the real foreign object. The proxy object contains an identifier to the real object, as well as a pointer to a software description of how to access and manipulate the object--e.g. how to call its methods, set its properties, and handle exceptions. When the proxy object is manipulated, it follows the instructions in the software description which, in turn, results in the corresponding manipulation of the foreign object.
-
Citations
98 Claims
-
1. A device, for use in a digital computer system which provides for objects of first and second object models and corresponding first and second object systems using respective first and second implementations to implement, respectively, the first and second object models, the device for enabling the first object system to use objects of the second object model, the device comprising:
-
description means for providing a description of an object of the second object model; proxy means for creating a proxy object that is an object of the first object system and that corresponds to the object of the second object model; receiving means for receiving a manipulation of the proxy object, the maximum rotation conforming to the first implementation; and forwarding means for forwarding the manipulation of the proxy object to the corresponding object of the second object model by utilizing the description. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 80, 83, 84, 85, 98)
-
-
17. A method, for use in a digital computer system which provides for objects of first and second object models and corresponding first and second object systems using respective first and second implementations to implement, respectively, the first and second object models, said method for enabling the first object system to use objects of the second object model, the method comprising:
-
providing a description of an object of the second object model; creating a proxy object that is an object of the first object system and that corresponds to the object of the second object model; receiving a manipulation of the proxy object, the manipulation conforming to the first implementation; and forwarding the manipulation of the proxy object to the corresponding object of the second object model by utilizing the description. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 81, 86, 87, 88)
-
-
32. Computer-executable process steps stored on a computer-readable medium, the steps for use in a digital computer system which provides for objects of first and second object models and corresponding first and second object systems using respective first and second implementations to implement, respectively, the first and second object models, the steps for enabling the first object system to use objects of the second object model, the steps comprising:
-
a providing step to provide a description of an object of the second object model; a creating step to create a proxy object that is an object of the first object system and that corresponds to the object of the second object model; a receiving step to receive a manipulation of the proxy object, the manipulation conforming to the first implementation; and a forwarding step to forward the manipulation of the proxy object to the corresponding object of the second object model by utilizing the description. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 82, 89, 90, 91)
-
-
47. A device, for use in a digital computer system providing objects of first and second object systems using respective first and second implementations which implement respective first and second object models, the device for enabling the first object system to use an object of the second object system, the device comprising:
-
description means for providing a description of object aspects, object system aspects and object manipulations, said description describing first semantic types, first aspects, or first implementations that are supported by the first object system and not by the second object system and describing second semantic types, second aspects or second implementations supported by the second object system and not by the first object system; and forwarding means for forwarding a manipulation of a first object, the manipulation in accordance with the first implementation, to the second object by utilizing the description, wherein the first object corresponds to the second object. - View Dependent Claims (48, 49, 92, 95)
-
-
50. A method, for use in a digital computer system providing objects of first and second object systems using respective first and second implementations which implement respective first and second object models, the method for enabling the first object system to use an object of the second object system, the method comprising the steps of:
-
providing a description of object aspects, object system aspects and object manipulations, said description describing first semantic types or first implementations that are supported by the first object system and not by the second object system and describing second semantic types or second implementations supported by the second object system and not by the first object system; and forwarding a manipulation of a first object, the manipulation conforming to the first implementation, to the second object by utilizing the description, wherein the first object corresponds to the second object. - View Dependent Claims (51, 52, 93, 96)
-
-
53. Computer-executable process steps stored on a computer-readable medium, the steps for use in a digital computer system providing objects of first and second object systems using respective first and second implementations which implement respective first and second object models, the steps for enabling the first object system to use an object of the second object system, the steps comprising the steps of:
-
a providing step to provide a description of object aspects, object system aspects and object manipulations, said description describing first semantic types or first implementations that are supported by the first object system and not by the second object system and describing second semantic types or second implementations supported by the second object system and not by the first object system; and a forwarding step to forward a manipulation of the first object, the manipulation conforming to the first implementation, to the second object by utilizing the description, wherein the first object corresponds to the second object. - View Dependent Claims (54, 55, 94, 97)
-
-
56. A method for utilizing a foreign object of a foreign object model implemented by a foreign object system in the case that the foreign object is called by a native object system implementing a native object model, the method comprising the steps of:
-
creating a proxy object of the native object model, said proxy object corresponding to the foreign object; extracting semantically meaningful information from a call stack of the native system; transferring the semantically meaningful information to a call stack of the foreign system; and calling the foreign object. - View Dependent Claims (57, 58, 59, 60, 61, 62)
-
-
63. A device for utilizing a foreign object of a foreign object model implemented by a foreign object system in the case that the foreign object is called by a native object system implementing a native object model;
- comprising;
creating means for creating a proxy object of the native object model, said proxy object corresponding to the foreign object; extracting means for extracting semantically meaningful information from a call stack of the native system; transferring means for transferring the semantically meaningful information to a call stack of the foreign system; and calling means for calling the foreign object. - View Dependent Claims (64, 65, 66, 67, 68, 69)
- comprising;
-
70. Computer-executable process steps stored on a computer-readable medium, the steps for utilizing a foreign object of a foreign object model implemented by a foreign object system in the case that the foreign object is called by a native object system implementing a native object model, the steps comprising:
-
a creating step to create a proxy object of the native object model, said proxy object corresponding to the foreign object; an extracting to extract semantically meaningful information from a call stack of the native system; a transferring step to transfer the semantically meaningful information to a call stack of the foreign system; and a calling step to call the foreign object. - View Dependent Claims (71, 72, 73, 74, 75, 76)
-
-
77. A device, for use in a digital computer system providing a plurality of processes and object systems, the device for enabling a native object system having a native implementation for implementing a native object model and located in a first process to use an object located in a second process via a foreign object system using a foreign object model, the device comprising:
-
description means for providing a description of the object; proxy means for creating a proxy object conforming to the native object system that corresponds with the object located in the second process; receiving means for receiving a manipulation of the proxy object, the manipulation conforming to the native implementation; and forwarding means for forwarding the manipulation of the proxy object to the corresponding object by utilizing the description and the foreign object system.
-
-
78. A method, for use in a digital computer system providing a plurality of processes and object systems, the method for enabling a native object system having a native implementation and located in a first process to use an object located in a second process via a foreign object system using a foreign object model, the method comprising:
-
providing a description of the object; creating a proxy object conforming to the native object system that corresponds with the object located in the second process; receiving a manipulation of the proxy object, the manipulation conforming to the native implementation; and forwarding the manipulation of the proxy object to the corresponding object by utilizing the description and the foreign object system.
-
-
79. Computer-executable process steps stored on a computer-readable medium, the steps for use in a digital computer system providing a plurality of processes and object systems, the steps for enabling a native object system having a native implementation and located in a first process to use an object located in a second process via a foreign object system using a foreign object model, the steps comprising:
-
a providing step to provide a description of the object; a creating step to create a proxy object conforming to the native object system that corresponds with the object located in the second process; a receiving step to receive a manipulation of the proxy object, the manipulation conforming to the native implementation; and a forwarding step to forward the manipulation of the proxy object to the corresponding object by utilizing the description and the foreign object system.
-
Specification