Software Engineering System and Method for Self-Adaptive Dynamic Software Components
AssigneeInternational Business Machines Corporation
InventorOck Kee Baek
Life of this patent
Estimating the term…
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.
Claims18
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.
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 data processor 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.
Dependencies are inferred from the claim text.