Skip to content

Adaptation Strategies for mRUBiS

thomas-vogel edited this page Jan 30, 2018 · 3 revisions

We currently conceive the following adaptation strategies for self-healing and self-optimization. The strategies must follow the life cycle of a component as defined by the CompArch metamodel.

Self-Healing Adaptation Strategies

AS1: Restart Component

To restart a Component, stop and then restart the component by adjusting accordingly the state of the component.

AS2: Light-Weight Redeployment of a Component

For a light-weight redeployment of a Component, stop (if the component is STARTED), undeploy, deploy, and start the component by adjusting accordingly the state of the component.

AS3: Heavy-Weight Redeployment of a Component

For a heavy-weight redeployment of a Component, remove the component from the system if it still exists, and instantiate a new Component of the same ComponentType. Deploy and configure (set Parameter values and connect its RequiredInterfaces to other components) this newly instantiated component, then start it. Finally, connect other components to the ProvidedInterfaces of the newly instantiated component.

AS4: Component Replacement

Same as the heavy-weight redeployment of a Component except of that the replacing Component is of a different ComponentType than the replaced Component. However, the replacing component has at least the same ProvidedInterfaces as the replaced component. Thus, both components provide the same functionality but they realize it differently (different implementations).

AS5: Connector Recreation

To recreate a Connector, remove the existing connector if needed, create a new Connector and use it to wire a RequiredInterface to a ProvidedInterface.

Self-Optimization Adaptation Strategies

AS6: Reorder Filter Components

Relocate filter Components in the pipe of a Tenant architecture by re-wiring the components through removing existing and creating new Connectors.

AS7: Skip Filter Components from the Pipe

Iteratively skip filter Components from the end of the pipe by disconnecting the last filter component (removing the Connector to the last filter component), stopping, and finally undeploying this filter component. This results in a pipe with less filter components than before.

AS8: Add Filter Components to the Pipe

Use the undeployed filter Components in the model and add as many of them as needed to the pipe by deploying, starting, and integrating them into the pipe. The integration is done by re-wiring the filter components by removing and creating Connectors so that at the end the filter components are well-ordered in the pipe.

Clone this wiki locally