Software engineering system and method for self-adaptive dynamic software components
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-modifiedThe 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.