US9063711B2ActiveUtilityA1

Software engineering system and method for self-adaptive dynamic software components

63
Assignee: IBMPriority: Oct 22, 2007Filed: Oct 21, 2013Granted: Jun 23, 2015
Est. expiryOct 22, 2027(~1.3 yrs left)· nominal 20-yr term from priority
Inventors:Ock Kee Baek
G06F 8/20
63
PatentIndex Score
1
Cited by
122
References
12
Claims

Abstract

There is disclosed a software engineering system and method for engineering software components. In an embodiment, the method comprises providing the software component with an input interface, an output interface, and a control interface, the control interface being configurable to receive external conditions or parameters that are specific to an environment or to a domain; and providing one or more externally modifiable adapters, the one or more externally modifiable adapters having environment-specific or domain-specific data, and being configurable to be dynamically bound to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method of engineering a software component, comprising:
 providing the software component with an input interface, an output interface, and a control interface, the control interface being configurable to receive external conditions or parameters that are specific to an environment or to a domain, and to allow said software component to automatically and dynamically adapt to said received external conditions or parameters during runtime, wherein said automatic and dynamic adaptation is not dictated by the activation of preprogrammed code within said software component; 
 providing one or more externally modifiable adapters, the one or more externally modifiable adapters having environment-specific or domain-specific data, and being configurable to be dynamically bound to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed; 
 providing a feedback loop configured to communicate output data from the output interface to the one or more externally modifiable adapters; and 
 modifying the one or more externally modifiable adapters in dependence upon the output data received via the feedback loop. 
 
     
     
       2. The method of  claim 1 , further comprising:
 selecting an externally modifiable adapter in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed; and 
 dynamically binding the selected externally modifiable adapter to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed. 
 
     
     
       3. The method of  claim 2 , wherein the selected externally modifiable adapter is dynamically bound to the software component using dynamic binding capability of a programming language in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed. 
     
     
       4. The method of  claim 1 , wherein the one or more externally modifiable adapters are human readable and modifiable by a human expert. 
     
     
       5. A system for engineering a software component, comprising:
 input data; 
 output data; 
 an input interface that receives input data, an output interface that produces the output data based on the input data, and a control interface provided on the software component, the control interface being configurable to receive external conditions or parameters that are specific to an environment or to a domain, and to allow said software component to automatically and dynamically adapt to said received external conditions or parameters during runtime, wherein said automatic and dynamic adaptation is not dictated by the activation of preprogrammed code within said software component; 
 one or more externally modifiable adapters, the one or more externally modifiable adapters comprising a non-transitory storage medium having environment-specific or domain-specific data stored thereon, and being configurable to be dynamically bound to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed; 
 a feedback loop configured to communicate output data from the output interface to the one or more externally modifiable adapters; and 
 means for modifying the one or more externally modifiable adapters in dependence upon the output data received via the feedback loop. 
 
     
     
       6. The system of  claim 5 , further comprising:
 means for selecting an externally modifiable adapter in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed; and 
 means for dynamically binding the selected externally modifiable adapter to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed. 
 
     
     
       7. The system of  claim 6 , wherein the selected externally modifiable adapter is configured to be dynamically bound to the software component using dynamic binding capability of a programming language in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed. 
     
     
       8. The system of  claim 5 , wherein the one or more externally modifiable adapters are human readable and modifiable by a human expert. 
     
     
       9. A data processor non-transitory readable medium storing data processor code that when loaded into a data processor adapts the data processor to perform a method of engineering a software component, comprising:
 code for providing the software component with an input interface, an output interface, and a control interface, the control interface being configurable to receive external conditions or parameters that are specific to an environment or to a domain, and to allow said software component to automatically and dynamically adapt to said received external conditions or parameters during runtime, wherein said automatic and dynamic adaptation is not dictated by the activation of preprogrammed code within said software component; 
 code for providing one or more externally modifiable adapters, the one or more externally modifiable adapters having environment-specific or domain-specific data, and being configurable to be dynamically bound to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed; 
 code for providing a feedback loop configured to communicate output data from the output interface to the one or more externally modifiable adapters; and 
 code for modifying the one or more externally modifiable adapters in dependence upon the output data received via the feedback loop. 
 
     
     
       10. The data processor non-transitory readable medium of  claim 9 , further comprising:
 code for selecting an externally modifiable adapter in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed; and 
 code for dynamically binding the selected externally modifiable adapter to the software component in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed. 
 
     
     
       11. The data processor non-transitory medium of  claim 10 , further comprising code for dynamically binding the selected externally modifiable adapter to the software component using dynamic binding capability of a programming language in dependence upon external conditions or parameters that are specific to an environment or to a domain in which the software component is to be executed. 
     
     
       12. The data processor non-transitory readable medium of  claim 9 , further comprising code for configuring the externally modifiable adapters to be human readable and modifiable by a human expert.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.