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

Sharing components between programming languages by use of polymorphic proxy

Assignee: Codemesh Inc
•
Filing: 2000-04-17
•
Granted: 2005-05-31
•
Expires: 2020-04-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for representing and implementing a concept between two functional domains (e.g., programming languages) by using a proxy component in a first domain to wrap a component of a second domain, where the proxy component has a semantic usability in the first domain closely corresponding to the semantic usability of the underlying component from the second domain. Further, provided is a method and system for automatically generating such a proxy component. Such proxy components may be used to gradually transform a digital entity (e.g., a software application) from a first digital domain to a second digital domain. Further, such proxy components may be generated using models that transform a component of a first domain to a component (e.g., a proxy component) of a second domain.

Inventors

  • 👤 Alexander R. Krapf
  • 👤 Neil Galarneau

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 13:54
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488

Claims Analysis

Total Claims: 128
Claim 1
Independent Claim 140 words
A computer program product for representing and implementing a concept from a first functional domain within a second functional domain, wherein the first functional domain includes a first component representing the concept in the first functional domain, the first component having a type and a first semantic usability in the first functional domain, and wherein the computer program product comprises: a computer-readable medium having computer-readable signals stored thereon, wherein the signals define a proxy component representing the concept in the second functional domain, the proxy component defined to cause execution of the first component in the first functional domain, and wherein the proxy component has a second semantic usability in the second functional domain and the second semantic usability closely corresponds to the first semantic usability, the proxy having been generated by analyzing the first component to determine its type.
Claim 2
Dependent Claim 140 words
A computer program product for representing and implementing a concept from a first functional domain within a second functional domain, wherein the first functional domain includes a first component representing the concept in the first functional domain, the first component having a type and a first semantic usability in the first functional domain, and wherein the computer program product comprises: a computer-readable medium having computer-readable signals stored thereon, wherein the signals define a proxy component representing the concept in the second functional domain, the proxy component defined to cause execution of the first component in the first functional domain, and wherein the proxy component has a second semantic usability in the second functional domain and the second semantic usability closely corresponds to the first semantic usability, the proxy having been generated by analyzing the first component to determine its type.
Claim 3
Dependent Claim 22 words
The computer program product of claim 1 , wherein the proxy component was generated by a transformation performed on the first component.
Claim 4
Dependent Claim 58 words
The computer program product of claim 1 , wherein the first semantic usability of the first component is defined at least by a first mutability, and wherein the second semantic usability of the proxy component is defined at least by a second mutability of the proxy component determined from at least the first mutability of the first component.
Claim 5
Dependent Claim 58 words
The computer program product of claim 1 , wherein the first semantic usability of the first component is defined at least by a first accessibility, and wherein the second semantic usability of the proxy component is defined at least by a second accessibility of the proxy component determined from at least the first accessibility of the first component.
Claim 6
Dependent Claim 58 words
The computer program product of claim 1 , wherein the first semantic usability of the first component is defined at least by a first instantiability, and wherein the second semantic usability of the proxy component is defined at least by a second instantiability of the proxy component determined from at least the first instantiability of the first component.
Claim 7
Dependent Claim 58 words
The computer program product of claim 1 , wherein the first semantic usability of the first component is defined at least by a first inheritability, and wherein the second semantic usability of the proxy component is defined at least by a second inheritability of the proxy component determined from at least the first inheritability of the first component.
Claim 8
Dependent Claim 60 words
The computer program product of claim 1 , wherein the first semantic usability of the first component is defined at least by a first context usability, and wherein the second semantic usability of the proxy component is defined at least by a context usability of the proxy component determined from at least the first context usability of the first component.
Claim 9
Dependent Claim 57 words
The computer program product of claim 1 , wherein the first semantic usability of the first component is defined at least by a first polymorphicability, and wherein the second semantic usability of the proxy component is defined at least by a polymorphicability of the proxy component determined from at least the first polymorphicability of the first component.
Claim 10
Dependent Claim 28 words
The computer program product of claim 1 , wherein the first functional domain is the Java programming language and the second functional domain is the C++ programming language.
Claim 11
Dependent Claim 42 words
The computer program product of claim 9 , wherein the first component is a first Java component and the proxy component is a C++ proxy component, and wherein the C++ proxy component is aware of a context in which it is defined.
Claim 12
Dependent Claim 39 words
The computer program product of claim 9 , wherein the first component is a first Java component and the proxy component is a C++ proxy component, and wherein the C++ proxy component includes one or more proxy support elements.
Claim 13
Dependent Claim 18 words
The computer program product of claim 11 , wherein the C++ proxy component is a C++ proxy class.
Claim 14
Dependent Claim 31 words
The computer program product of claim 12 , wherein one or more proxy support elements of the C++ proxy class allow an instance of the C++ proxy class to be context-aware.
Claim 15
Dependent Claim 32 words
The computer program product of claim 13 , wherein one or more of the proxy support elements that allow an instance of the C++ proxy class to be context-aware are context constructors.
Claim 16
Dependent Claim 33 words
The computer program product of claim 13 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy instance field.
Claim 17
Dependent Claim 33 words
The computer program product of claim 13 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy static field.
Claim 18
Dependent Claim 33 words
The computer program product of claim 13 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy array element.
Claim 19
Dependent Claim 33 words
The computer program product of claim 13 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy stand-alone object.
Claim 20
Dependent Claim 28 words
The computer program product of claim 13 , wherein the C++ proxy class includes a proxy layer, and awareness of the contexts is required by the proxy layer.
Claim 21
Dependent Claim 19 words
The computer program product of claim 19 , wherein the proxy layer is coded using the Java Native Interface.
Claim 22
Dependent Claim 39 words
The computer program product of claim 12 , wherein at least one of the proxy support elements of the C++ proxy class allows usage of null in C++ corresponding to usage of a null Java object reference in Java.
Claim 23
Dependent Claim 36 words
The computer program product of claim 21 , wherein the C++ proxy class includes a conversion constructor to create a stand-alone proxy instance of the C++ proxy class initialized to not refer to any Java instance.
Claim 24
Dependent Claim 43 words
The computer program product of claim 12 , wherein at least one of the proxy support elements provides a semantic usability to the C++ proxy class that closely corresponds to the semantic usability of a Java cast expression corresponding to the Java component.
Claim 25
Dependent Claim 45 words
The computer program product of claim 23 , wherein the C++ proxy class includes a static class method that provides the semantic usability to the C++ proxy class that closely corresponds to the semantic usability of a Java cast expression corresponding to the Java component.
Claim 26
Dependent Claim 37 words
The computer program product of claim 12 , wherein at least one of the proxy support elements provides an ability to map an instance of the C++ proxy class to an object that represents the Java component.
Claim 27
Dependent Claim 39 words
The computer program product of claim 25 , wherein the C++ proxy class includes a framework support method that provides the ability to map an instance of the C++ proxy class to an object that represents the Java component.
Claim 28
Dependent Claim 24 words
The computer program product of claim 9 , wherein the first component is a Java package and the proxy component is a C++ namespace.
Claim 29
Dependent Claim 31 words
The computer program product of claim 9 , wherein the first component is a Java class and the proxy component is either a C++ proxy class or a C++ proxy struct.
Claim 30
Dependent Claim 19 words
The computer program product of claim 28 , wherein the proxy component includes one or more proxy support elements.
Claim 31
Dependent Claim 28 words
The computer program product of claim 29 , wherein one or more of the proxy support elements allow an instance of the C++ proxy class to be context-aware.
Claim 32
Dependent Claim 22 words
The computer program product of claim 28 , wherein the Java class is declared abstract, and the C++ proxy component is instantiable.
Claim 33
Dependent Claim 32 words
The computer program product of claim 9 , wherein the first component is a Java array type and the proxy component is either a C++ proxy class or a C++ proxy struct.
Claim 34
Dependent Claim 19 words
The computer program product of claim 32 , wherein the proxy component includes one or more proxy support elements.
Claim 35
Dependent Claim 27 words
The computer program product of claim 33 , wherein one or more of the proxy support elements allow an instance of the proxy component to be context-aware.
Claim 36
Dependent Claim 25 words
The computer program product of claim 32 , wherein the proxy component includes a length field corresponding to a length attribute of the Java array.
Claim 37
Dependent Claim 53 words
The computer program product of claim 32 , wherein the Java array has an element type and the proxy component has an element type corresponding to the Java array's element type, and wherein the proxy component includes one or more array subscript operators that return a context-aware instance of the proxy component's type.
Claim 38
Dependent Claim 46 words
The computer program product of claim 32 , wherein the Java array has a primitive element type, and the proxy component has a primitive element type corresponding to the lava array's element type and includes one or more array subscript operators that return a primitive value.
Claim 39
Dependent Claim 31 words
The computer program product of claim 9 , wherein the first component is a Java interface and the proxy component is either a C++ proxy class or a C++ proxy struct.
Claim 40
Dependent Claim 19 words
The computer program product of claim 38 , wherein the first component includes one or more proxy support elements.
Claim 41
Dependent Claim 27 words
The computer program product of claim 39 , wherein one or more of the proxy support elements allow an instance of the proxy component to be context-aware.
Claim 42
Dependent Claim 14 words
The computer program product of claim 38 , wherein the proxy component is instantiable.
Claim 43
Dependent Claim 25 words
The computer program product of claim 9 , wherein the first component is a Java method and the proxy component is a C++ proxy method.
Claim 44
Dependent Claim 24 words
The computer program product of claim 42 , wherein the C++ proxy method has a constness determined from a mutability of the Java method.
Claim 45
Dependent Claim 34 words
The computer program product of claim 42 , wherein the C++ proxy method declares a return type that has a mutability determined from a mutability of a return type declared by the Java method.
Claim 46
Dependent Claim 36 words
The computer program product of claim 42 , wherein the C++ proxy method passes one or more arguments, each argument having a mutability determined from a mutability of a corresponding argument passed by the Java method.
Claim 47
Dependent Claim 30 words
The computer program product of claim 42 , wherein the C++ proxy method is defined to throw an exception based on the Java method being defined to throw an exception.
Claim 48
Dependent Claim 31 words
The computer program product of claim 42 , wherein the C++ proxy method is defined not to throw an exception based on the Java method being defined to throw an exception.
Claim 49
Dependent Claim 39 words
The computer program product of claim 42 , wherein whether the C++ proxy method is declared virtual or not declared virtual is determined from one or more of the following aspects of the Java method: polymorphicability, mutability, and instantiability.
Claim 50
Dependent Claim 25 words
The computer program product of claim 9 , wherein the first component is a Java field and the proxy component is a C++ proxy field.
Claim 51
Dependent Claim 56 words
The computer program product of claim 49 , wherein the C++ proxy field is declared to be of type C++ proxy class, the C++ proxy class including one or more proxy support elements that allow an instance of the C++ proxy class to be context-aware, such that an instance of the C++ proxy field is context-aware.
Claim 52
Dependent Claim 31 words
The computer program product of claim 49 , wherein the Java field is of primitive type and the C++ proxy field is declared to be of type C++ primitive proxy class.
Claim 53
Dependent Claim 44 words
The computer program product of claim 51 , wherein the C++ primitive proxy class includes one or more proxy support elements that allow an instance of the C++primitive proxy class to be context-aware, such that an instance of the C++ proxy field is context-aware.
Claim 54
Dependent Claim 47 words
The computer program product of claim 45 , wherein one or more proxy support elements of the C++ primitive proxy class is an overloaded operator that permits instances the C++ primitive proxy class 52 to be used on the left-hand side of one or more syntactical productions.
Claim 55
Dependent Claim 24 words
The computer program product of claim 43 , wherein the C++ proxy field has a mutability determined from a mutability of the Java field.
Claim 56
Independent Claim 190 words
A system including instructions stored on a computer readable medium for modeling a first component of a first functional domain, wherein the first component defines a first concept and includes one or more subcomponents, the system comprising: means for receiving the first component; and means for generating a first model of the first component, including: means for generating, for each subcomponent of the first component, a discrete element of the first model to represent the subcomponent; and means for providing the first model with a property of relationship awareness such that, if a first discrete element or attribute of the first model is changed, the first model is operative to: determine if the first discrete element or attribute has one or more elements and attributes related to the first discrete element or attribute, if the first discrete element or attribute has one or more related elements and attributes, determine whether to change the one or more related elements, and if it is determined to change one or more related elements and attributes, change such one or more elements and attributes in accordance with the changed first discrete element or attribute.
Claim 57
Independent Claim 190 words
A system including instructions stored on a computer readable medium for modeling a first component of a first functional domain, wherein the first component defines a first concept and includes one or more subcomponents, the system comprising: means for receiving the first component; and means for generating a first model of the first component, including: means for generating, for each subcomponent of the first component, a discrete element of the first model to represent the subcomponent; and means for providing the first model with a property of relationship awareness such that, if a first discrete element or attribute of the first model is changed, the first model is operative to: determine if the first discrete element or attribute has one or more elements and attributes related to the first discrete element or attribute, if the first discrete element or attribute has one or more related elements and attributes, determine whether to change the one or more related elements, and if it is determined to change one or more related elements and attributes, change such one or more elements and attributes in accordance with the changed first discrete element or attribute.
Claim 58
Independent Claim 186 words
A system for modeling including instructions stored on a computer readable medium a first component of a first functional domain, wherein the first component defines a first concept and includes one or more subcomponents, the system comprising: a model generator to receive the first component, to generate a first model including: for each subcomponent of the first component, a discrete element of the first model representing the subcomponent; and one or more model concepts that provide the first model with a property of relationship awareness such that, if a first discrete element or attribute of the first model is changed, the first model is operative to: determine if the first discrete element or attribute has one or more elements and attributes related to the first discrete element or attribute, if the first discrete element or attribute has one or more related elements and attributes, determine whether to change the one or more related elements, and if it is determined to change one or more related elements and attributes, change such one or more elements and attributes in accordance with the changed first discrete element or attribute.
Claim 59
Independent Claim 186 words
A system for modeling including instructions stored on a computer readable medium a first component of a first functional domain, wherein the first component defines a first concept and includes one or more subcomponents, the system comprising: a model generator to receive the first component, to generate a first model including: for each subcomponent of the first component, a discrete element of the first model representing the subcomponent; and one or more model concepts that provide the first model with a property of relationship awareness such that, if a first discrete element or attribute of the first model is changed, the first model is operative to: determine if the first discrete element or attribute has one or more elements and attributes related to the first discrete element or attribute, if the first discrete element or attribute has one or more related elements and attributes, determine whether to change the one or more related elements, and if it is determined to change one or more related elements and attributes, change such one or more elements and attributes in accordance with the changed first discrete element or attribute.
Claim 60
Dependent Claim 192 words
A computer program product for modeling a first component of a first functional domain, wherein the first component defines a first concept and includes one or more subcomponents, the system comprising: a computer-readable medium having computer-readable signals stored thereon, wherein the signals define a model generator to receive the first component, to generate a first model including: for each subcomponent of the first component, a discrete element of the first model representing the subcomponent; and one or more model concepts that provide the first model with a property of relationship awareness such that, if a first discrete element or attribute of the first model is changed, the first model is operative to: determine if the first discrete element or attribute has one or more elements and attributes related to the first discrete element or attribute, if the first discrete element or attribute has one or more related elements and attributes, determine whether to change the one or more related elements, and if it is determined to change one or more related elements and attributes, change such one or more elements and attributes in accordance with the changed first discrete element or attribute.
Claim 61
Dependent Claim 192 words
A computer program product for modeling a first component of a first functional domain, wherein the first component defines a first concept and includes one or more subcomponents, the system comprising: a computer-readable medium having computer-readable signals stored thereon, wherein the signals define a model generator to receive the first component, to generate a first model including: for each subcomponent of the first component, a discrete element of the first model representing the subcomponent; and one or more model concepts that provide the first model with a property of relationship awareness such that, if a first discrete element or attribute of the first model is changed, the first model is operative to: determine if the first discrete element or attribute has one or more elements and attributes related to the first discrete element or attribute, if the first discrete element or attribute has one or more related elements and attributes, determine whether to change the one or more related elements, and if it is determined to change one or more related elements and attributes, change such one or more elements and attributes in accordance with the changed first discrete element or attribute.
Claim 62
Independent Claim 84 words
A method executed from instructions stored on a computer readable medium of transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the method comprising acts of: (a) analyzing the first component to determine its type; and (b) transforming the first component into the proxy component in accordance with the determined type, wherein the proxy component defines at least the concept defined by the first component.
Claim 63
Independent Claim 84 words
A method executed from instructions stored on a computer readable medium of transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the method comprising acts of: (a) analyzing the first component to determine its type; and (b) transforming the first component into the proxy component in accordance with the determined type, wherein the proxy component defines at least the concept defined by the first component.
Claim 64
Dependent Claim 14 words
The method of claim 58 , wherein the first component is in parsed form.
Claim 65
Dependent Claim 14 words
The method of claim 58 , wherein the first component is a source component.
Claim 66
Dependent Claim 14 words
The method of claim 58 , wherein the first component is a compiled component.
Claim 67
Dependent Claim 27 words
The method of claim 58 , wherein act (b) includes: (i) generating a model from the first component; and (ii) generating the proxy component from the model.
Claim 68
Dependent Claim 32 words
The method of claim 58 , wherein the proxy component has a semantic usability in the second domain closely corresponding to the semantic usability of the first component in the first domain.
Claim 69
Dependent Claim 28 words
The method of claim 63 , wherein the proxy component includes one or more proxy support elements to allow an instance of the proxy component to be context-aware.
Claim 70
Dependent Claim 15 words
The method of claim 58 , wherein the first domain is a first programming language.
Claim 71
Dependent Claim 16 words
The method of claim 65 , wherein the first programming language is a high-level programming language.
Claim 72
Dependent Claim 13 words
The method of claim 66 , wherein the first programming language is Java.
Claim 73
Dependent Claim 12 words
The method of claim 67 , wherein the second domain is C++.
Claim 74
Dependent Claim 35 words
The method of claim 68 , wherein: act (a) includes determining that the type of the first component is a Java class, and act (b) includes transforming the Java class into a C++ proxy class.
Claim 75
Dependent Claim 22 words
The method of claim 69 , wherein act (b) includes: generating, within the C++ proxy class, one or more proxy support elements.
Claim 76
Dependent Claim 26 words
The method of claim 70 , wherein one or more of the proxy support elements allow an instance of the C++ proxy class to be context-aware.
Claim 77
Dependent Claim 25 words
The method of claim 69 , wherein the Java class is declared abstract, and act (b) includes: defining the C++ proxy component to be instantiable.
Claim 78
Dependent Claim 35 words
The method of claim 68 , wherein: act (a) includes determining that the type of the first component is a Java array, and act (b) includes transforming the Java array into a C++ proxy class.
Claim 79
Dependent Claim 22 words
The method of claim 73 , wherein act (b) includes: generating, within the C++ proxy class, one or more proxy support elements.
Claim 80
Dependent Claim 25 words
The method of claim 74 , wherein one or more of the proxy support elements allow an instance of the proxy component to be context-aware.
Claim 81
Dependent Claim 36 words
The method of claim 73 , wherein the Java array has a length attribute, and act (b) includes: defining the proxy class to include a length field corresponding to the length attribute of the Java array.
Claim 82
Dependent Claim 60 words
The method of claim 73 , wherein the Java array has an element type, and act (b) includes: defining the C++ proxy class to have an element type corresponding to the element type of the Java array; and generating, within the C++ proxy class, one or more array subscript operators that return a context-aware instance of the proxy class's type.
Claim 83
Dependent Claim 51 words
The method of claim 73 , wherein the Java array has a primitive element type, and act (b) includes: defining the C++ proxy class to have a primitive element type corresponding to the Java array primitive element type; and generating one or more array subscript operators that return a primitive value.
Claim 84
Dependent Claim 35 words
The method of claim 68 , wherein: act (a) includes determining that the type of the first component is a Java method, and act (b) includes transforming the Java method into a C++ proxy method.
Claim 85
Dependent Claim 27 words
The method of claim 74 , wherein act (b) includes: defining the C++ proxy method to have a constness based on a mutability of the Java method.
Claim 86
Dependent Claim 37 words
The method of claim 79 , wherein act (b) includes: defining the C++ proxy method to declare a return type that has a mutability based on a mutability of a return type declared by the Java method.
Claim 87
Dependent Claim 42 words
The method of claim 79 , wherein act (b) includes: defining the C++ proxy method to pass one or more arguments; and defining each argument to have a mutability based on a mutability of a corresponding argument passed by the Java method.
Claim 88
Dependent Claim 30 words
The method of claim 79 , wherein act (b) includes: defining the C++ proxy method to throw an exception based on the Java method being defined to throw an exception.
Claim 89
Dependent Claim 31 words
The method of claim 79 , wherein act (b) includes: defining the C++ proxy method not to throw an exception based on the Java method being defined to throw an exception.
Claim 90
Dependent Claim 57 words
The method of claim 79 , wherein act (b) includes: determining whether the C++ proxy method is declared virtual or not declared virtual from one or more of the following aspects of the Java method: polymorphicability, mutability, and instantiability; and defining the C++ proxy method to be declared virtual or not declared virtual based on the determination.
Claim 91
Dependent Claim 35 words
The method of claim 68 , wherein: act (a) includes determining that the type of the first component is a Java field, and act (b) includes transforming the Java field into a C++ proxy field.
Claim 92
Dependent Claim 58 words
The method of claim 86 , wherein act (b) includes: declaring the C++ proxy field to be of type C++ proxy class; and generating, within the C++ proxy class, one or more proxy support elements that allow an instance of the C++ proxy class to be context-aware, such that an instance of the C++ proxy field is context-aware.
Claim 93
Dependent Claim 31 words
The method of claim 86 , wherein the Java field is of primitive type, act (b) including: defining the C++ proxy field to be declared of type C++ primitive proxy class.
Claim 94
Dependent Claim 59 words
The method of claim 88 , wherein act (b) further includes: declaring the C++ proxy field to be of type C++ proxy class; and generating, within the C++ proxy class, one or more proxy support elements that allow an instance of the C++ proxy class to be context-aware, such that an instance of the C++ proxy field is context-aware.
Claim 95
Dependent Claim 47 words
The method of claim 88 , wherein one or more of the proxy support elements of the C++ primitive proxy class is an overloaded operator that permits instances the C++ primitive proxy class 52 to be used on the left-hand side of one or more syntactical productions.
Claim 96
Dependent Claim 35 words
The method of claim 86 , wherein act (b) includes: determining a mutability of the Java field; and defining the C++ proxy field to have a mutability determined from the mutability of the Java field.
Claim 97
Dependent Claim 28 words
The method of claim 68 , wherein act (b) includes: (i) transforming the Java component into a C++ proxy class that includes one or more proxy support elements.
Claim 98
Dependent Claim 29 words
The method of claim 92 , wherein one or more proxy support elements of the C++ proxy class allow an instance of the C++ proxy class to be context-aware.
Claim 99
Dependent Claim 31 words
The method of claim 93 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy instance field.
Claim 100
Dependent Claim 31 words
The method of claim 93 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy static field.
Claim 101
Dependent Claim 31 words
The method of claim 93 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy array element.
Claim 102
Dependent Claim 31 words
The method of claim 93 , wherein one of the proxy support elements allows an instance of the C++ proxy class to be aware of being a C++ proxy stand-alone object.
Claim 103
Dependent Claim 26 words
The method of claim 93 , wherein act (b)(i) includes: generating a proxy layer, and wherein awareness of the contexts is required by the proxy layer.
Claim 104
Dependent Claim 18 words
The method claim 98 , wherein act (b)(i) includes: coding the proxy layer using the Java Native Interface.
Claim 105
Dependent Claim 36 words
The method of claim 92 , wherein at least one of the proxy support elements of the C++proxy class allows usage of null in C++ corresponding to usage of a null Java object reference in Java.
Claim 106
Dependent Claim 41 words
The method of claim 100 , wherein act (b)(i) includes: generating a conversion constructor within the C++ proxy class, the conversion constructor for creating a stand-alone proxy instance of the C++ proxy class initialized to not refer to any Java instance.
Claim 107
Dependent Claim 41 words
The method of claim 92 , wherein at least one of the proxy support elements provides a semantic usability to the C++ proxy class that closely corresponds to the semantic usability of a Java cast expression corresponding to the Java component.
Claim 108
Dependent Claim 50 words
The method of claim 102 , wherein act (b)(i) includes: generating a static class method within the C++ proxy class, the static class method providing the semantic usability to the C++ proxy class that closely corresponds to the semantic usability of a Java cast expression corresponding to the Java component.
Claim 109
Dependent Claim 35 words
The method of claim 92 , wherein at least one of the proxy support elements provides an ability to map an instance of the C++ proxy class to an object that represents the Java component.
Claim 110
Dependent Claim 44 words
The method of claim 104 , wherein act (b)(i) includes: generating a framework support method within the C++ proxy class, the framework support method providing the ability to map an instance of the C++ proxy class to an object that represents the Java component.
Claim 111
Dependent Claim 35 words
The method of claim 69 , wherein: act (a) includes determining that the type of the first component is a Java interface, and act (b) includes transforming the Java interface into a C++ proxy class.
Claim 112
Dependent Claim 22 words
The method of claim 106 , wherein act (b) includes: generating, within the C++ proxy class, one or more proxy support elements.
Claim 113
Dependent Claim 26 words
The method of claim 107 , wherein one or more of the proxy support elements allow an instance of the C++ proxy class to be context-aware.
Claim 114
Dependent Claim 18 words
The method of claim 106 , wherein act (b) includes: defining the C++ proxy class to be instantiable.
Claim 115
Dependent Claim 63 words
The method of claim 58 , wherein the first semantic usability of the first component is defined at least by a first mutability, and act (b) includes: (i) determining a second mutability of the proxy component from at least the first mutability of the first component, wherein the second semantic usability of the proxy component is defined at least by the second mutability.
Claim 116
Dependent Claim 63 words
The method of claim 58 , wherein the first semantic usability of the first component is defined at least by a first accessibility, and act (b) includes: (i) determining a second accessibility of the proxy component from at least the first accessibility of the first component, wherein the second semantic usability of the proxy component is defined at least by the second accessibility.
Claim 117
Dependent Claim 63 words
The method of claim 58 , wherein the first semantic usability of the first component is defined at least by a first instantiability, and act (b) includes: (i) determining a second instantiability of the proxy component from at least the first instantiability of the first component, wherein the second semantic usability of the proxy component is defined at least by the second instantiability.
Claim 118
Dependent Claim 63 words
The method of claim 58 , wherein the first semantic usability of the first component is defined at least by a first inheritability, and act (b) includes: (i) determining a second inheritability of the proxy component from at least the first inheritability of the first component, wherein the second semantic usability of the proxy component is defined at least by the second instantiability.
Claim 119
Dependent Claim 67 words
The method of claim 58 , wherein the first semantic usability of the first component is defined at least by a first context usability, and act (b) includes: (i) determining a second context usability of the proxy component from at least the first context usability of the first component, wherein the second semantic usability of the proxy component is defined at least by the second context usability.
Claim 120
Dependent Claim 63 words
The method of claim 58 , wherein the first semantic usability of the first component is defined at least by a first polymorphicability, and act (b) includes: (i) determining a second polymorphicability of the proxy component from at least the first polymorphicability of the first component, wherein the second semantic usability of the proxy component is defined at least by the second polymorphicability.
Claim 121
Independent Claim 83 words
A system including instructions stored on a computer readable medium for transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the system comprising: means for analyzing the first component to determine its type; and means for transforming the first component into the proxy component in accordance with the determined type, wherein the proxy component defines at least the concept defined by the first component.
Claim 122
Independent Claim 83 words
A system including instructions stored on a computer readable medium for transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the system comprising: means for analyzing the first component to determine its type; and means for transforming the first component into the proxy component in accordance with the determined type, wherein the proxy component defines at least the concept defined by the first component.
Claim 123
Independent Claim 96 words
A system including instructions stored on a computer readable medium for transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the system comprising: a component transformer to receive as input the first component, to analyze the first component to determine its type, to transform the first component into the proxy component in accordance with the determined type, and to output the proxy component, wherein the proxy component defines at least the concept defined by the first component.
Claim 124
Independent Claim 96 words
A system including instructions stored on a computer readable medium for transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the system comprising: a component transformer to receive as input the first component, to analyze the first component to determine its type, to transform the first component into the proxy component in accordance with the determined type, and to output the proxy component, wherein the proxy component defines at least the concept defined by the first component.
Claim 125
Dependent Claim 98 words
A computer program product for transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the computer program product comprising: a computer-readable medium having computer-readable signals thereon, wherein the signals define a component transformer to receive as input the first component, to analyze the first component to determine its type, and to transform the first component into the proxy component in accordance with the determined type, wherein the proxy component defines at least the concept defined by the first component.
Claim 126
Dependent Claim 98 words
A computer program product for transforming a first component of a first domain to a proxy component of a second domain, wherein the first component has a type and defines a first concept, the computer program product comprising: a computer-readable medium having computer-readable signals thereon, wherein the signals define a component transformer to receive as input the first component, to analyze the first component to determine its type, and to transform the first component into the proxy component in accordance with the determined type, wherein the proxy component defines at least the concept defined by the first component.
Claim 127
Independent Claim 122 words
A method executing on a computer comprising, for a program component expressed in a first domain, the component being of any arbitrary type belonging to a set of different types of program components expressed in the first domain, the type having first relationships to other types in the set, using a predefined mapping of relationships between types in the set to relationships between types in a second domain to transform the first component to a second component in the second domain, the second component being of a type belonging to a set of different types of program components in the second domain, the type having relationships to components of other types in the second domain that closely correspond to the first relationships.
Claim 128
Independent Claim 122 words
A method executing on a computer comprising, for a program component expressed in a first domain, the component being of any arbitrary type belonging to a set of different types of program components expressed in the first domain, the type having first relationships to other types in the set, using a predefined mapping of relationships between types in the set to relationships between types in a second domain to transform the first component to a second component in the second domain, the second component being of a type belonging to a set of different types of program components in the second domain, the type having relationships to components of other types in the second domain that closely correspond to the first relationships.

References Cited (Backward Citations)

US6324576B1 Cited
US6094688A Cited
US6353923B1 Cited
US6272537B1 Cited
US6148438A Cited
US6438614B2 Cited
US6269373B1 Cited
US6502213B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-05-30 2008-11-29 2009-05-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-05-30 2012-11-29 2013-05-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-05-30 2016-11-29 2017-05-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag