Abstract
In order to deal with the great diversity of execution contexts, modern software systems rely on feedback control loops and external monitoring services for observing them and their environment, and respond to context changes through adaptation. In this process, the monitoring services play a crucial role since the quality of the monitoring data (e.g., timeliness, freshness, accuracy, availability, etc.) affects directly the self-adaptation decisions. Most of the current approaches supporting monitoring for self-adaptive systems (SASs) assume that the monitors are static components and they do not change at runtime. Due to the dynamism of execution contexts mentioned before, this vision is not valid anymore. Nowadays, monitoring services need to be adaptive as well, in order to respond to context changes, e.g., new measures to collect are required or a monitor service failure occurs at runtime. The complexity of handling monitoring services adaptation in coordination with SASs operation challenges and offers new opportunities to software engineers. In order to address this challenge, this research proposes to extend the adaptation logic of modern SASs with an external MAPE-K loop for managing the adaptation process of the monitoring services participating in the SASs adaptation logic. Different algorithmic, statistical, modeling and stochastic analysis and decision-making techniques are being explored for implementing this loop. Moreover, a reusable architecture for enacting the adaptation decisions in the monitoring services is being developed. The approach will be evaluated in two systems: a self-adaptive smart vehicle and a real self-adaptive video streaming service.
Supervised by Prof. Xavier Franch and Dr. Jordi Marco.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
The complexity of modern software systems has increased dramatically over the years and is continuing to do so [1]. Users can access software applications using a variety of devices and since mobile technologies are on the rise, applications are becoming ubiquitous in our society. In order to deal with the great diversity of execution contexts, different user profiles, system faults, changing environmental conditions and user needs, etc., modern software systems provide self-adaptation capabilities at runtime.
In practice, these capabilities are usually realized by implementing the prominent MAPE-K feedback control loop [2, 3]. In MAPE-K, self-adaptation is achieved applying four steps: Monitor, Analyze, Plan, and Execute. In the Monitor step, runtime data from the targeted adaptive system and its environment is collected. The collected data is then Analyzed and, if needed (e.g. analysis results show a violation of the requirements), a system adaptation is Planned. Finally, the adaptation is enacted in the Execute step. In order to function properly, these four steps share a Knowledge base containing data such as measurements, logs, adaptation policies, etc.
Modern SASs rely on external monitoring services for observing them and their environment. In the MAPE-K loop, the monitoring services play a crucial role since the quality of the monitoring data (e.g., correctness, timeliness, freshness, accuracy, availability, etc.) affects directly the performance of the rest of the elements of the loop and in consequence the self-adaptation decisions made [2].
In order to guarantee the quality of the monitoring data at runtime, monitoring services supporting SASs have to be adaptive as well. The complexity of handling the monitoring services adaptation in coordination with SASs operation challenges and offers new opportunities to software engineers. In this research, alternatives for addressing this challenge are studied. The rest of the paper is organized as follows. Section 2 states the problem this research intends to solve. Section 3 details the proposed solution. Section 4 presents related work. And finally, Sect. 5 presents conclusions and future work.
2 Problem Statement
Several approaches have been proposed to support monitoring of SASs and their environment. However, most of them assume that the Monitor element (as well as the rest of elements) of the loop is a static component and it does not change at runtime. This implies that the systems’ owners should know everything to be monitored at design time and that the monitoring services that compose this MAPE-K element always behave the same. Due to the systems’ changing environment, monitoring services dynamism and evolving user and systems’ owners’ requirements, this vision is not valid anymore.
As mentioned before in Sect. 1, monitoring services supporting modern SASs need to be adaptive as well in order to guarantee monitoring data quality (e.g., correctness, timeliness, freshness, accuracy, availability, etc.) and the requirements’ satisfaction over time. The challenge of handling the monitoring services adaptation process in coordination with SASs operation motivates the study, specification, design and development of new and innovative methods and techniques for effectively, efficiently and accurately planning and applying adaptation decisions on monitoring services supporting SASs at runtime.
Motivated by this challenge, this research explores and experiments with new and existing methods and techniques in order to provide a solution to deal with the automatic adaptation of the monitoring services supporting MAPE-K-based SASs. In summary, the research addresses two main objectives:
-
Enable the automatic adaptation of monitoring services supporting MAPE-K-based SASs at runtime in order to respond to changes in the environment and the monitoring services themselves.
-
Compare the results of using adaptive monitoring services in MAPE-K-based SASs, against using non-adaptive (static) monitoring services.
In order to meet these research objectives we have to address the following research questions:
-
RQ1. How is monitoring adaptation supported by existing approaches?
-
RQ2. How is the monitoring services adaptation at runtime supported in current MAPE-K-based SASs by existing approaches?
-
RQ3. What can be improved or done for better supporting the adaptation of the monitoring services at runtime in MAPE-K-based SASs in the existing approaches?
3 Proposed Solution
In order to coordinate the adaptation of the monitoring services conforming the Monitor element of MAPE-K-based SASs, this research proposes: first, extend the IBM MAPE-K loop architecture [3] utilized by most of the modern SASs for conducting their adaptation process, with a second MAPE-K loop on top of the Monitor element in charge of managing the adaptation process of the monitoring services (see Fig. 1). This design decouples the monitoring services adaptation logic from the SASs adaptation logic, allowing the independent development of the modules and the adoption of the approach by existing SASs.
Second, we propose to explore different methods and techniques identified in RQ1 and RQ2 for implementing the MAPE-K loop in charge of the monitoring services adaptation. Then, determine which of them perform better for monitoring services supporting SASs. A flexible and generic design of the external MAPE-K loop elements (orange elements in Fig. 1) will be required for experimenting with the different techniques. At this point, we are exploring different algorithmic, statistical, modeling and stochastic analysis and decision-making techniques, through a systematic mapping in the domain of adaptive monitoring. Finally, we are developing a reusable high-level architecture for adaptive monitoring services participating in MAPE-K loops. The architecture is intended to serve as a reference for correctly managing the enactment process of monitoring adaptation decisions at runtime.
We plan to evaluate our solution in two systems: a self-adaptive smart vehicle and a real self-adaptive video streaming service, this second as part of the SUPERSEDE (SUpporting evolution and we adaptation of PERsonalized Software by Exploiting contextual Data and End-user feedback) H2020 research and innovation project (https://www.supersede.eu). In the first scenario, the monitoring services adaptation aims at providing energy-efficient monitoring for self-adaptive smart vehicles. In the second scenario, adaptation is performed in order to guarantee monitoring services resilience for the self-adaptive video streaming service. Techniques for implementing the external loops of both systems (orange elements in Fig. 2) are being studied.
Regarding the evaluation, we have already results about the adaptation of the target systems with static monitoring. For the smart vehicle a preliminary version of the implementation has been presented as a demo tool in the IEEE RE’15 conference [4]. On the other hand, the advances on the video streaming service are available in the public deliverable D4.5 of the SUPERSEDE project [5].
4 Related Work
So far, a lot of research has been performed on adapting monitoring systems in a diversity of domains, for instance, e-health monitoring services [6, 7], structural and environmental monitoring hardware and software systems [8, 9], network probing [10, 11] and software systems monitoring applications [12, 13]. In this work, due to space limitations, we reference only some of the studies dealing with the adaptation of monitoring systems; however, we know that there are several more since we are conducting a systematic mapping in which we are analyzing a final set of 115 papers related to this topic.
Although lot of effort has been done, only very few of existing works consider the adaptation of monitoring systems that support SASs. And in consequence the challenge of handling the adaptation process of the monitors in coordination with the normal operation of SASs is still open. On the other hand, the importance of making the MAPE-K loop elements adaptive has been remarked in the last years by other works [2, 14, 15]. However, the proposals are very superficial or designed for solving a particular problem. Unlike existing work, we propose to develop a reusable solution to place on top of any type of monitoring service in the adaptation logic of a SAS.
5 Conclusions and Future Work
In this paper details about our ongoing research on the adaptive monitoring service for MAPE-K-based SASs topic have been provided. We stated the motivation of the research and the research problem and challenge it tries to solve. Moreover, we described our initial proposal for addressing the research challenge as well as the systems in which we plan to evaluate this proposal. We have also presented the related work and pointed out the novelty of our research regarding existing proposals. For the advances on the research results, we have initial implementations of the self-adaptive smart vehicle and video streaming service with static monitoring services. The next step is to provide adaptation capabilities to these monitoring services applying our proposed solution and compare evaluation results using the static and the adaptive monitoring services in the same systems (i.e., address RQ3).
References
Krupitzer, C., Roth, F.M., VanSyckel, S., Schiele, G., Becker, C.: A survey on engineering approaches for self-adaptive systems. Pervasive Mob. Comput. 17, 184–206 (2015). https://doi.org/10.1016/j.pmcj.2014.09.009
Toueir, A., Broisin, J., Sibilla, M.: A goal-oriented approach for adaptive SLA monitoring: a cloud provider case study. In: 2nd IEEE Latin American Conference on Cloud Computing and Communications (LatinCloud), pp. 53–58. IEEE (2013)
IBM-Corporation: An architectural blueprint for autonomic computing. IBM White Paper 36, 34 (2006). https://doi.org/10.1021/am900608j
Zavala, E., Franch, X., Marco, J., Knauss, A., Damian, D.: SACRE: a tool for dealing with uncertainty in contextual requirements at runtime. In: 23rd IEEE International Requirements Engineering Conference (RE), pp. 278–279. IEEE (2015)
Gorroñogoitia, J., Zavala, E., Oriol, M., Motger, Q., Stevanetic, S.: D4.5: methods and tools to enact software adaptation and personalization, v2, Deliverable D4.5 of SUPERSEDE H2020 project (2016)
Mshali, H.H., Lemlouma, T., Magoni, D.: Context-aware adaptive framework for e-health monitoring. In: IEEE International Conference on Data Science and Data Intensive Systems (DSDIS), pp. 276–283. IEEE, USA (2016)
Fan, L., Xiong, L.: Real-time aggregate monitoring with differential privacy. In: 21st ACM International Conference on Information and Knowledge Management (CIKM), p. 2169. ACM Press, New York (2012)
Kim, S., Pakzad, S.: Wireless sensor networks for structural health monitoring: a multi-scale approach. In: 17th Analysis and Computation Specialty Conference at Structures Congress (ASCE) (2006)
Iacono, M., Romano, E., Marrone, S.: Adaptive monitoring of marine disasters with intelligent mobile sensor networks. In: IEEE Workshop on Environmental Energy and Structural Monitoring Systems (EESMS), pp. 38–45. IEEE (2010)
Shen, D., Tse, K.H., Chan, C.K.: Adaptive fault monitoring in all-optical networks utilizing real-time data traffic. J. Netw. Syst. Manag. 20, 76–96 (2012)
Shamsi, J., Brockmeyer, M.: Predictable service overlay networks: predictability through adaptive monitoring and efficient overlay construction and management. J. Parallel Distribut. Comput. 72, 70–82 (2012). https://doi.org/10.1016/j.jpdc.2011.09.005
Psiuk, M., Zielinski, K.: Goal-driven adaptive monitoring of SOA systems. J. Syst. Softw. 110, 101–121 (2015). https://doi.org/10.1016/j.jss.2015.08.015
Gonzalez-Herrera, I., Bourcier, J., Daubert, E., Rudametkin, W., Barais, O., Fouquet, F., Jézéquel, J.M., Baudry, B.: ScapeGoat: spotting abnormal resource usage in component-based reconfigurable software systems. J. Syst. Softw. 122, 398–415 (2016). https://doi.org/10.1016/j.jss.2016.02.027
Roth, F.M., Krupitzer, C., Becker, C.: Runtime evolution of the adaptation logic in self-adaptive systems. In: 12th IEEE International Conference on Autonomic Computing Runtime, pp. 141–142 (2015)
Klos, V., Gothel, T., Glesner, S.: Adaptive knowledge bases in self-adaptive system design. In: Proceedings of 41st Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2015, pp. 472–478 (2015). https://doi.org/10.1109/seaa.2015.48
Acknowledgments
Thanks to CONACYT and I2T2, for the PhD scholarship granted to Edith Zavala. This work is partially supported by the SUPERSEDE project, funded by the European Union’s Information and Communication Technologies Programme (H2020) under grant agreement no. 644018 and partially funded by the Spanish project GENESIS (TIN2016-79269-R).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Zavala, E. (2018). Towards Adaptive Monitoring Services for Self-Adaptive Software Systems. In: Braubach, L., et al. Service-Oriented Computing – ICSOC 2017 Workshops. ICSOC 2017. Lecture Notes in Computer Science(), vol 10797. Springer, Cham. https://doi.org/10.1007/978-3-319-91764-1_31
Download citation
DOI: https://doi.org/10.1007/978-3-319-91764-1_31
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-91763-4
Online ISBN: 978-3-319-91764-1
eBook Packages: Computer ScienceComputer Science (R0)