• No se han encontrado resultados

The adaptation control characteristic of the taxonomy for self-adaptation [229] describes general implementation issues, abstracted from the implementation of the adaptation logic for a specific use case. The adaptation logic can be inter- twined with the rest of the application or separated. For analyzing and plan- ning of the adaptation, the adaptation logic can use rules/policies, goals, mod- els, or utility functions. Another issue is the degree of decentralization of the logic resulting in a distribution of the adaptation control functionality on dif- ferent sub-system parts. Further, the task of the adaptation logic is to imple- ment functionality that addresses the other four dimensions of the taxonomy on self-adaptation [229] (cf. Section 2.1.3) as these are relevant for the adaptation decision. Next, Section 2.3 compares control structures for the adaptation logic.

Robustness Flexibility

Dead space Dead space

Z1

Z2 Z2

Z1

Figure 2.4.: Model of an adaptive system according to [327]. The left side shows a robust reconfiguration, the right side shows a flexible one.

2.3. Control Structures for Adaptation Control

The goal of the adaptation logic is to fulfill the adaptation targets. Accord- ing to [327], five dimensions describe the adaptation logic’s functionality. First, the adaptation logic has to determine the current state of the system and its environment. Second, it has to evaluate the current system performance w.r.t. some evaluation criteria. Third, if the system’s performance is not in the target space or acceptance space, it has to be adapted by the adaptation logic. Fourth, the adaptation logic has to tolerate disturbances of the system performance as long as the system is in a survival space, i.e., it can achieve a system state that

2.3. Control Structures for Adaptation Control

is acceptable through adaptation. Last, the adaptation logic has to define a re- configuration of the system for implementing changes in the resources. These reconfigurations lead to a reconfiguration path of different intermediate settings with the objective to either adjust the system to the given objectives, called ro- bustness, or the adjustment to new objectives, hence, new target and acceptance spaces, called flexibility [327]. Figure 2.4 presents this model of adaptive systems. In case of a robot, the adaptation Target could be to move to a certain tar- get. For the reconfiguration, the adaptation logic determines adaptation actions. These actions have an influence on both the environment and system resources. The adaptation logic detects these changes in a subsequent analysis. Using the example again, it could be that the robot moved a few steps, but appeared to be in front of an obstacle so the movement speed drops to zero. This way, a continuous feedback loop is created that is reinforced by positive feedback, while negative feedback triggers a change [56]. This feedback loop is a core principle of the adaptation logic [56, 76, 198].

Read symptoms Create plan Planner Load objectives Analyze data Analyzer Retrieve data Process data Monitor Split plan in actions Transform and send Executor Sensor Effector Analyzed Symptoms Adaptation Plan System & Context Model Managed Resources Adaptation Logic

Figure 2.5.: MAPE Cycle according to Kephart and Chess [198]. Own visualiza- tion based on [221]. The knowledge base is omitted here.

Figure 2.5 shows the MAPE cycle by Kephart and Chess [198], a specific feed- back loop structure from the Autonomic Computing domain. The MAPE cycle is named by its four main steps: monitor, analyze, plan, and execute. The mon- itor function collects data of the system and the environment and pre-processes it, e.g., through filtering, reliability analysis, or categorization. Afterwards, the analyzer decides if adaptation is needed by comparing the monitored data and system objectives. The planner computes the adaptation plan based on the mon- itored information and interpretations of the analyzer. If more than one possible adaptation is found, the planner has to decide which one matches the given sys- tem objectives best. Finally, the executor allocates the planning instructions and

2.3. Control Structures for Adaptation Control

sends them to the corresponding managed resources. This way, the adaptation is triggered in the managed resources. Afterwards, the process starts over again. Sensor and effectors are interfaces to gain data from managed resources or send instructions, respectively.

The MAPE cycle is the de facto standard for control loops of SASs [76, 229, 384]. Other authors propose similar feedback control for SASs, such as, the sense-plan-act control [218], the autonomic control loop [105], the mod- [email protected] reference architecture [21], the requirements reflection architec- ture [39], the observer/controller architecture [362], or the MIAC/MRAC con- trollers [56]. Patikirikorala et al. [288] provide an overview on such structures. However, all implement a feedback loop structure similar to the MAPE cycle. Some structures subsume analyzing and planning as reasoning [234]. Addition- ally, feed-forward loops can enable proactive adaptation. However, their complex- ity hinders implementation. Further, current machine learning frameworks elim- inate the need of proficient mathematical knowledge for implementing prediction of future system states. In combination with the increasing computational power as well as omnipresent cloud resources, proactive adaptation based on predictive analysis can be implemented on top of the well-known feedback loops. This is a suitable alternative for implementing proactive adaptation in feed-forward loops. The taxonomy on self-adaptation defines the required functionality an adap- tation logic has to offer. Obviously, the MAPE components have to integrate this functionality. In [229], we mapped the dimensions time, reason, level, and tech- nique of the taxonomy to the MAPE functionality. The time dimension influences the decision of analyzing algorithms as proactive recognition of the need for adap- tation has other requirements – especially the need for predictions – as reactive detection of changes. Monitoring should be continuous no matter whether the adaptation is proactive or reactive. The reason dimension influences monitoring, analyzing, and planning, as it describes the reasons for adaptation and, therefore, the aspects that should be monitored, where analyzing has to determine changes as well as the issues, that must be addressed with the adaptation plans. The level for adaptation is obviously important for planning and executing as these activities must be aware of the elements that should be adapted. Monitoring has to determine the elements for the levels that are present in the managed resources. The technique dimension influences the planning and executing, as