Sharing components between programming languages by use of polymorphic proxy
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
119 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
55. 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.
-
-
56. 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.
-
-
57. 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.
-
-
58. 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. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115)
-
-
116. 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.
-
117. 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.
-
-
118. 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.
-
-
119. 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.
Specification