-
Notifications
You must be signed in to change notification settings - Fork 1
Adaptation Strategies for mRUBiS
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.
To restart a Component
, stop and then restart the component by adjusting accordingly the state
of the 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.
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.
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).
To recreate a Connector
, remove the existing connector if needed, create a new Connector
and use it to wire a RequiredInterface
to a ProvidedInterface
.
Relocate filter Components
in the pipe of a Tenant
architecture by re-wiring the components through removing existing and creating new Connectors
.
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.
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.
mRUBiS Exemplar by Thomas Vogel (2018)