• No se han encontrado resultados

Objetivos generales y específicos

In document Darío Maximiliano González Alarcón (página 67-156)

CAPÍTULO 1: INTRODUCCIÓN

1.2 EXPOSICIÓN GENERAL DEL PROBLEMA

1.2.5 Objetivos generales y específicos

The reconfiguration planning algorithm is able to reduce the overall costs utilized at runtime on a long-term basis (c.f. Section 7.4.3). Furthermore, although the investigated path of contextual changes is always limited by the parameter m’, the computed cost prediction has the tendency to converge to a single estimation value (c.f. Section7.4.2).

A quantitative evaluation may never be complete and it is only natural that the presented evaluation has a number of limitations. The measurement setups of my proof-of-concept evaluation have been limited to (i) a single small-scale combination of aPA and a WA, (ii) a random assignment of costs, (iii) a random initial probability distribution of contextual changes, and (iv) a random topology in the state-transition automataPA and WA.

The most important and obvious restriction is that the quantitative assessment of my approach is based on a small-scale example consisting of 4 contextual states and 11 configuration states. The evaluation is restricted to such small automata due to scalability issues in the exhaustive exploration of all possible paths leaving from every possible target state for a contextual change.

Due to the restriction to such small automata it remains questionable how rep- resentative the results are for a large scale use-case scenario. For example, my first investigation of a dataset containing the usage behavior of smartphones for multiple users [KJD+10,LGPA+12] resulted in a feature model containing at least 16 features and 10 contexts. Based on this context-feature model 111 contextual states and 270 configuration states are derivable.

In order to provide representative results for the extent in the cost reduc- tion a representative cost model is required. For example, the (de-)activation of a WLAN-chip consumes a certain amount of energy. In addition to that, the WLAN-chip and related features consume energy while being active. However, the evaluation is based on a random assignment of costs, which range from 1 to 10 (c.f. Table7.3).

The evaluation shows that the investigated length of future contextual changes m’ is important for choosing the cheapest target configuration state on a long-term basis. Although it has been shown that the algorithm is capable to identify the cheapest configuration state, neither an overall best parameterization of m’ nor guidance criteria to derive such a parameterization can be determined due to the limitations discussed above.

The reduction of reconfiguration costs on a long-term basis w.r.t. predicted upcoming contextual changes is the last conceptual contribution of this thesis. The next chapter discusses related concepts and approaches to the contributions provided in this thesis.

C onclusion & F uture W ork

8

D I S C U S S I O N O F R E L AT E D W O R K

The concepts and techniques provided in the previous chapters of this thesis tackle well-known research chal- lenges in the domain of self-adaptive software systems (SAS) and dynamic software product lines (DSPLs). Thus, it is only natural that approaches exist, which address the principal topic of this thesis. In the fol- lowing, an overview of relevant and important related approaches from the different areas of (i) model-based runtime adaptation, (ii) context modelling, (iii) refinement of feature models, (iv) (re-)configuration state spaces, as well as (v) prediction and plan- ning of adaptations are discussed.

The approaches are, if possible, evaluated w.r.t. the research challenges (RCs) established in Chapter2of this thesis, i.e., the following four RCs for SAS

RC1. Systematic Engineering Approach,

RC2. Flexibility at Runtime,

RC3. Autonomous Adaptation, and

RC4. Non-Intrusive Adaptation,

as well as the following two RCs for DSPLs

RC5. Autonomous Reconfiguration and

RC6. Improvement of Resource Consumption.

8.1 Model-Based Runtime Adaptation

The domain of adaptive software systems is well established and provides a wide spectrum of approaches and solutions. Existing approaches, which tackle RC1 formally describe the possible adaptation behavior of a system to establish a model-based adaptation process. With such a description, a transition system is derived to coordinate or verify [CGKM12, Shi07] the adaptation process. Spe- cific approaches also include non-functional properties for an adaptation [PS09, SHMK10,SPA12]. For example, the MUSIC framework [FFF+13,RBD09] is a rep-

resentative implementation of model-based adaptation approaches to reconfigure service oriented architectures at runtime. Similar to the first goal of my thesis, they also aim to establish an autonomous, model-based adaptation process.

C onclusion & F uture W ork

More specifically, a component-based approach that deals with adaptivity in decentralized ad hoc systems is proposed by Pepper et al. [PS09]. The authors address the problem of resource limitation of mobile devices in self-adaptive ad hoc networks, i.e., RC4 and RC5. They provide an approach to uphold a certain quality of services. Services are composed by linking service units. Each service unit is characterized by its functionality and quality. Each service corresponds to a composition of features and each feature is characterized by its provided func- tionality and its attributes. The attributes are used to describe the non-functional qualitative nature of a feature, such as its stability or its performance. Dealing with quality and functional properties, the resulting matching problem to find an optimal configuration suitable for the stated requirements, i.e., best service vs. a minimal utilization of resources, is considered to be a major challenge. Pepper et al. present several challenges and possibilities how to deal with qualitative char- acteristics and how the derivation of a reconfiguration may be improved but they do not provide a solution.

FUSION is a framework for engineering SAS [EEM10] tackling RC3 by imple- menting a feedback loop similar to MAPE-K. The framework aims to continu- ously learn and optimize the reconfiguration process by taking non-functional system behavior into account, such as costs or responsiveness. Similar to my ap- proach, FUSION also relies on a feature-based adaptation process and specifies the adaptation knowledge on the basis of logic formulae. By continuously reason- ing about the current system state and the current contextual situation, FUSION is even capable to adapt to contextual changes unforeseen at design time and, thereby, addressing RC2. However, due to the continuous reasoning at runtime, the approach is costly, which is contradictory to RC4. In contrast to FUSION, my approach does not incorporate learning techniques but evaluates monitored be- havior to estimate cost-effective reconfiguration choices. My approach adapts to unforeseen contextual changes in one of two ways, either

• the contextual change triggers a reconfiguration of an unrestricted feature or

• a new (arbitrary) configuration state is derived on demand.

Although I aim for similar goal as the authors of [EEM10], I (i) do not try to find an optimal solution and (ii) shift the computational efforts for deriving a configuration at runtime to design-time.

Although FUSION relies on the concepts of features to describe the character- istics of a system, FUSION does not use any DSPL specific techniques. The next paragraph discusses in detail approaches that use DSPL techniques to realize an adaptive software system.

DSPL-Based Runtime Adaptation. Recent approaches propose to handle runtime adaptations on the basis of DSPL techniques [BHS12, Lee06, HSSF06]. Those approaches either derive a suitable configuration at runtime based on a feature model specification [BSBG08] or fully specify a reconfiguration automaton based on a complete configuration state space to model valid reconfigurations at runtime [WDSB09,BSBG08].

C onclusion & F uture W ork

Bencomo et al. study component-based technologies for runtime adaptivity us- ing a component model called OpenCOM [BSBG08]. OpenCOM offers a compo- nent framework for developers, to implement applications as well as middleware platforms. The adaptive behavior is specified by reconfiguration policies in the form of event-condition-action rules. An action triggers architectural changes in the component model, e.g., by re-wiring components to other components dur- ing runtime. Every possible variation of active components and their relations is called a configuration. Using context-aware monitors, OpenCOM tackles RC5 by capturing relevant information from the environment to trigger the event-do-ac- tion rules. The authors apply their approach to wireless sensor nodes within a case study for a flood warning system. Regarding resource limited devices, the runtime behavior remains still to be unknown and, therefore, RC6 is unaddressed. Possibilities for an optimization, like a pre-configuration step similar to my ap- proach to reduce a feature model, are proposed but not realized.

A comprehensive formalization of DSPL (re-)configuration semantics similar to my formalization is not yet provided, to the best of my knowledge. Instead, existing approaches provide tools and concepts to

• specify DSPL feature models and transition systems individually [PRC14] or

• derive a reconfiguration transition system from a feature model specification and an additional realization-model [CGF08].

In both cases, the authors investigate either component-based systems or ser- vice-oriented architectures as an application scenario for a DSPL. Further, they do not apply their approaches to resource constraint systems such as mobile devices.

Recent approaches that focus on a DSPL (re-)configuration process analyze fea- ture models and transition systems. In this regard, approaches, such as [RSAS11, BLL+14], investigate how and when a feature has to be configured to be active or inactive. Therefore, a step-wise (re-)configuration process is introduced that (de-)selects a feature at different stages in the life-cycle of a DSPL, e.g., design- time or runtime. Based on such a model, a sequence is derived in which order a feature has to be reconfigured. Furthermore, the model is analyzed in order to identify static features, i.e. non-reconfigurable features, or dead features.

Recent verification approaches for SPLs analyze feature model specifications by incrementally applying CSP, BDD, and SAT solvers in several stages [BTRCRC05, HCH09,WDSB09]. In each stage, a configuration is further refined. After a con- figuration-stage is finished, the feature model constraints are validated. However, those approaches aim at step-wise configuration semantics of feature models as- suming interactions with stakeholders. In contrast to that, I established a continu- ous reconfiguration process that implements an autonomous configuration refine- ment w.r.t. contextual changes. Thus, such an incremental approach is intended to derive one specific configuration that remains static. Therefore, the approaches [BTRCRC05,HCH09, WDSB09] are not applicable for a dynamic reconfiguration of an SAS at runtime. Furthermore, the continuous usage of a solver in each stage consumes a lot of resources, which is not beneficial for RC6.

C onclusion & F uture W ork

None of the approaches discussed above provide such a seamless integration of contexts into the reconfiguration process of a DSPL as context-feature models do (c.f. Section4.2.2). However, such an integration of contexts into feature models is, to the best of my knowledge, a novel concept. Therefore, I discuss state of the art approaches for context-modelling, which are comparable to context-feature models, in the next section.

In document Darío Maximiliano González Alarcón (página 67-156)

Documento similar