Claims
- 1. A method of minimizing the cost of using a component of a computer program, said method comprising the steps of;
a) providing said component with a plurality of explicit selectable alternative implementations which share a common component interface and semantics; b) instrumenting said component to gather cost-related information during at least a partial run of said program; c) providing said component with a cost estimator for using said cost-related information to estimate a cost for using each of said explicitly selectable implementations in running said program; d) based on the costs estimated in step (c), selecting one of said explicitly selectable implementations for a subsequent at least partial run of said program.
- 2. A method as set forth in claim 1, wherein a default implementation is used during said at least partial run.
- 3. A method as set forth in claim 1, wherein selecting step (d) is carried out by an other component operable as a controller.
- 4. A method as set forth in claim 1, wherein selecting step (d) is carried out by an application program.
- 5. A computer readable medium readable by a computer and including computer instructions for carrying out a method of minimizing the cost of using a component of a computer program, said method comprising the steps of;
a) providing said component with a plurality of explicit selectable alternative implementations which share a common component interface and semantics; b) instrumenting said component to gather cost-related information during at least a partial run of said program; c) providing said component with a cost estimator for using said cost-related information to estimate a cost for using each of said explicitly selectable implementations in running said program; d) based on the costs estimated in step (c), selecting one of said explicitly selectable implementations for a subsequent at least partial run of said program.
- 6. A computer readable medium as set forth in claim 5, wherein a default implementation is used during said at least partial run.
- 7. A computer readable medium as set forth in claim 5, wherein selecting step (d) is carried out by an other component operable as a controller.
- 8. A computer readable medium as set forth in claim 5, wherein selecting step (d) is carried out by an application program.
- 9. A computer program comprising a plurality of components which interact during running thereof, at least one of said components comprising:
a) a plurality of explicit selectable alternative implementations; b) a common interface and semantics for receiving messages from an other one of said components and sending messages thereto; c) an instrumentation for gathering cost-related information during at least a partial run of said computer program; d) a cost estimator for using said cost-related information to estimate a cost for using each of said explicit selectable alternative implementations; and e) a selector for choosing one of said alternative implementations in response to a message received at said interface from one of an application program and an other one of said components.
- 10. A computer program as set forth in claim 9, wherein one of said alternative implementations comprises a default implementation which is operational before operation of said selector.
- 11. A computer program as set forth in claim 9, said selector being operable to choose an alternative implementation based upon a cost measurement by said instrumentation.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/267,573, filed Feb. 9, 2001.
[0002] The present application is related to the present inventors' applications entitled “Minimizing Interaction Costs Among Components Of Computer Programs” Ser. No. ______ (IBM Docket YOR920020022), and “Characterization Of Objects Of A Computer Program While Running Same” Ser. No. ______ (IBM Docket YOR920020050), which were filed on the same day as the present application. These related application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60267573 |
Feb 2001 |
US |