Abstract
Providing assurances for self-adaptive systems is challenging. A primary underlying problem is uncertainty that may stem from a variety of different sources, ranging from incomplete knowledge to sensor noise and uncertain behavior of humans in the loop. Providing assurances that the self-adaptive system complies with its requirements calls for an enduring process spanning the whole lifetime of the system. In this process, humans and the system jointly derive and integrate new evidence and arguments, which we coined perpetual assurances for self-adaptive systems. In this paper, we provide a background framework and the foundation for perpetual assurances for self-adaptive systems. We elaborate on the concrete challenges of offering perpetual assurances, requirements for solutions, realization techniques and mechanisms to make solutions suitable. We also present benchmark criteria to compare solutions. We then present a concrete exemplar that researchers can use to assess and compare approaches for perpetual assurances for self-adaptation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
If all necessary assurance evidence can be derived using knowledge available offline, then we assume that the system can be implemented as a non-adaptive system.
- 2.
It is important to distinguish the requirements that the self-adaptive system needs to realize (reliability, performance, etc.) and the requirements for approaches of perpetual assurances.
- 3.
References
Andersson, J., Baresi, L., Bencomo, N., de Lemos, R., Gorla, A., Inverardi, P., Vogel, T.: Software engineering processes for self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-adaptive Systems II. LNCS, vol. 7475, pp. 51–75. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_3
Amin, A., Colman, A., Grunske, L.: An approach to forecasting QoS attributes of web services based on ARIMA and GARCH models. In: International Conference on Web Services, ICWS 2012, pp. 74–81 (2012)
Amin, A., Grunske, L., Colman, A.: An automated approach to forecasting QoS attributes based on linear and non-linear time series modeling. In: ASE 2012, pp. 130–139 (2012)
Ardagna, D., Zhang, L. (eds.): Run-time Models for Self-managing Systems and Applications. Springer, Cham (2010). https://doi.org/10.1007/978-3-0346-0433-8
Autili, M., Cortellessa, V., Di Ruscio, D., Inverardi, P., Pelliccione, P., Tivoli, M.: Integration architecture synthesis for taming uncertainty in the digital space. In: Calinescu, R., Garlan, D. (eds.) Monterey Workshop 2012. LNCS, vol. 7539, pp. 118–131. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34059-8_6
Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P.: Validation of web service compositions. IET Software 1(6), 219–232 (2007)
Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and runtime. In: FSE/SDP Workshop on Future of Software Engineering Research. ACM (2010)
Bencomo, N.: QuantUn: quantification of uncertainty for the reassessment of requirements. In: Next! track at the 23rd International Requirements Engineering Conference (2015)
Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.): Models@run.time. LNCS, vol. 8378. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08915-7
Beugnard, A., Jezequel, J., Plouzeau, N., Watkins, D.: Making components contract aware. IEEE Computer 32(7), 38–45 (1999)
Calinescu, R., Kwiatkowska, M.: Using quantitative analysis to implement autonomic IT systems. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), pp. 100–110. IEEE Computer Society, Washington, DC, USA (2009)
Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandla, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55, 9 (2012)
Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimization in service-based systems. IEEE Trans. Software Eng. 37(3), 387–409 (2011)
Calinescu, R., Johnson, K., Rafiq, Y.: Developing self-verifying service-based systems. In: IEEE/ACM 28th International Conference on Automated Software Engineering (2013)
Calinescu, R., Johnson, K., Rafiq, Y.: Using observation ageing to improve markovian model learning in QoS engineering. In: 2nd ACM/SPEC International Conference on Performance Engineering. ACM, New York (2011)
Calinescu, R., Kikuchi, S., Johnson, K.: Compositional reverification of probabilistic safety properties for large-scale complex IT systems. In: Calinescu, R., Garlan, D. (eds.) Monterey Workshop 2012. LNCS, vol. 7539, pp. 303–329. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34059-8_16
Calinescu, R., Rafiq, Y., Johnson, K., Bakır, M.E.: Adaptive model learning for continual verification of non-functional properties. In: 5th ACM/SPEC International Conference on Performance Engineering, pp. 87–98. ACM, New York (2014)
Cámara, J., de Lemos, R., Laranjeiro, N., Ventura, R., Vieira, M.: Testing the robustness of controllers for self-adaptive systems. J. Braz. Comput. Soc. 20, 1 (2014)
Camara, J., Moreno, G., Garlan, D., Schmerl, B.: Analyzing latency-aware self-adaptation using stochastic games and simulations. ACM Trans. Auton. Adapt. Syst. 10(4), 23:1–23:28 (2016)
Cardellini, V., Casalicchio, E., Grassi, V., Iannucci, S., Lo, P.F., Mirandola, R.: MOSES: a framework for QoS driven runtime adaptation of service-oriented systems. IEEE Trans. Softw. Eng. 38(5), 1138–1159 (2012)
Cavallo, B., Di Penta, M., Canfora, G.: An empirical comparison of methods to support QoS-aware service selection. In: PESOS 2010, pp. 64–70 (2010)
Cheng, B.H.C.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_1
Cheng, B.H.C., et al.: Using models at runtime to address assurance for self-adaptive systems. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 101–136. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08915-7_4
David, A., Larsen, K., Legay, A., Mikuaionis, M., Poulsen, D.: Uppaal SMC tutorial. Int. J. Softw. Tools Technol. Transfer 17(4), 397–415 (2015)
de la Iglesia, D.G., Weyns, D.: Guaranteeing robustness in a mobile learning application using formally verified MAPE loops. In: Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2013 (2013)
de la Iglesia, D.G., Weyns, D.: MAPE-K formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans. Auton. Adaptive Syst. 10(3), 15 (2015)
de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-adaptive Systems II. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_1
Epifani, I., Ghezzi, C., Tamburrelli, G.: Change-point detection for black-box services. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering (2010)
Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by runtime parameter adaptation. In: Proceedings of the 31st International Conference on Software Engineering IEEE Computer Society (2009). 2009.5070513
Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-adaptive Systems II. LNCS, vol. 7475, pp. 214–238. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_9
Filieri, A., Ghezzi, C., Tamburrelli, G.: Runtime efficient probabilistic model checking. In: International Conference on Software Engineering, ICSE 2011 (2011)
Filieri, A., Grunske, L., Leva, A.: Lightweight adaptive filtering for efficient learning and updating of probabilistic models. In: International Conference on Software Engineering, ICSE 2015, pp. 200–211 (2015)
Fredericks, E.M., Ramirez, A.J., Cheng, B.H.C.: Towards runtime testing of dynamic adaptive systems. In: 8th International Symposium on Software Engineering for Adaptive and Self-managing Systems (2013)
Funtowicz, S., Ravetz, J.: Uncertainty and Quality in Science for Policy. Springer, Dordrecht (1990). https://doi.org/10.1007/978-94-009-0621-1
Garlan, D.: Software engineering in an uncertain world. In: Future of Software Engineering Research Workshop, FoSER, New York, NY, USA (2010)
Giese, H., Bencomo, N., Pasquale, L., Ramirez, Andres J., Inverardi, P., Wätzoldt, S., Clarke, S.: Living with uncertainty in the age of runtime models. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 47–100. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08915-7_3
Grunske, L., Zhang, P.: Monitoring probabilistic properties. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 183–192. ACM (2009)
Hahn, E.M., Hermanns, H., Wachter, B., Zhang, L.: PARAM: a model checker for parametric Markov Models. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 660–664. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14295-6_56
Iftikhar, U., Weyns, D.: ActivFORMS: active formal models for self-adaptation. In: Software Engineering for Adaptive and Self-managing Systems, SEAMS 2014 (2014)
Iftikhar, U., Weyns, D.: A case for runtime statistical model checking for self-adaptive systems, Techical report Katholieke Universiteit Leuven CW 693 (2016). http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW693.abs.html
Inverardi, P., Mori, P.: Model checking requirements at runtime in adaptive systems. In: Workshop on Assurances for Self-adaptive Systems (2011)
Inverardi, P.: Software of the future is the future of software? In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2006. LNCS, vol. 4661, pp. 69–85. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75336-0_5
Johnson, K., Calinescu, R., Kikuchi, S.: An incremental verification framework for component-based software systems. In: CBSE 2013, pp. 33–42 (2013)
Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22110-1_47
Kwiatkowska, M., Norman, G., Parker, D., Qu, H.: Assume-guarantee verification for probabilistic systems. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 23–37. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12002-2_3
Kwiatkowska, M., Parker, D., Qu, H.: Incremental quantitative verification for Markov decision processes. In: Proceedings 2011 IEEE/IFIP International Conference Dependable Systems and Networks (2011)
Legay, A., Delahaye, B., Bensalem, S.: Statistical model checking: an overview. In: Barringer, H., et al. (eds.) RV 2010. LNCS, vol. 6418, pp. 122–135. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16612-9_11
Mahdavi-Hezavehi, S., Avgeriou, P., Weyns, D.: A classification of current architecture-based approaches tackling uncertainty in self-adaptive systems with multiple requirements. In: Managing Trade-offs in Adaptable Software Architectures. Elsevier (2016)
Mula, J., Poler, R., Garcia-Sabater, J., Lario, F.: Models for production planning under uncertainty: a review. IJPE 103(1), 271–285 (2006)
Pavese, E., Braberman, V., Uchitel, S.: Probabilistic environments in the quantitative analysis of (non-probabilistic) behaviour models. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 335–344. ACM, New York
Perez-Palacin, D., Mirandola, R.: Uncertainties in the modeling of self-adaptive systems: a taxonomy and an example of availability evaluation. In: Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering. ACM, New York (2014)
Ramirez, A., Jensen, A., Cheng, B.: A taxonomy of uncertainty for dynamically adaptive systems. In: Software Engineering for Adaptive and Self-Managing Systems (2012)
Refsgaard, J.C., van der Sluijs, J.P., Højberg, A.L., Vanrolleghem, P.A.: Uncertainty in the environmental modeling process - a framework and guidance. Environ. Model. Softw. 22(11), 1543–1556 (2007)
Shevtsov, S., Iftikhar, U., Weyns, D., SimCA vs ActivFORMS: comparing control- and architecture-based adaptation on the TAS exemplar. In: Control Theory and Software Engineering, CTSE 2015 (2015)
Sykes, D., Corapi, D., Magee, J., Kramer, J., Russo, A., Inoue, K.: Learning revised models for planning in adaptive systems. In: Proceedings of the 2013 International Conference on Software Engineering (ICSE 2013), pp. 63–71. IEEE Press, Piscataway (2013)
Uttamchandani, S., Yin, L., Alvarez, G., Palmer, J., Agha, G.: CHAMELEON: a self-evolving, fully-adaptive resource arbitrator for storage systems. In: USENIX Technical Conference 2005 (2005)
Villegas, N., Müller, H., Tamura, G., Duchien, L., Casallas, R.: A framework for evaluating quality-driven self-adaptive software systems. In: 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 80–89 (2011)
Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with EUREMA. ACM Trans. Auton. Adapt. Syst. 8(4), Article 18 (2014)
Walker, W., Harremos, P., Romans, J., van der Sluus, J., van Asselt, M., Janssen, P., Krauss, M.: Defining uncertainty. a conceptual basis for uncertainty management in model-based decision support. Integr. Assess. 4(1), 5–17 (2003)
Weyns, D., Calinescu, R.: Tele assistance: a self-adaptive service-based system exemplar. In: Software Engineering for Adaptive and Self-Managing Systems (2015)
Weyns, D., Iftikhar, U.: Model-based simulation at runtime for self-adaptive systems. In: Models at Runtime (2016)
Weyns, D.: Software engineering of self-adaptive systems: an organised tour and future challenges. In: Dick Taylor, R., Kang, K., Cha, S. (eds.) Handbook of Software Engineering, Springer (2018, forthcoming). https://people.cs.kuleuven.be/danny.weyns/papers/2017HSE.pdf
Weyns, D., Iftikhar, M.U., de la Iglesia, D.G., Ahmad, T.: A survey of formal methods in self-adaptive systems. In: Fifth International C* Conference on Computer Science and Software Engineering, C3S2E 2012, pp. 67–79. ACM, New York (2012)
Weyns, D., Malek, S., Andersson, J.: FORMS: unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auton. Adaptive Syst. TAAS 7(1), 8 (2012)
Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H., Bruel, J.M.: Relax: incorporating uncertainty into the specification of self-adaptive systems. In: Requirements Engineering Conference (2009)
Ye, C., Cheung, S.C., Chan, W.K.: Process evolution with atomicity consistency. In: Software Engineering of Adaptive and Self-Managing Systems, SEAMS 2007 (2007)
Younes, H.L.S., Simmons, R.G.: Statistical probabilistic model checking with a focus on time-bounded properties. Inform. Comput. 204(9), 1368–1409 (2006)
Younes, H.L.S., Kwiatkowska, M.Z., Norman, G., Parker, D.: Numerical vs. statistical probabilistic model checking. STTT 8(3), 216–228 (2006)
Zhang, J., Cheng, B.: Using temporal logic to specify adaptive program semantics. J. Syst. Softw. 79, 1361–1369 (2006)
Zhang, J., Cheng, B.: Model-based development of dynamically adaptive software. In: 28th International Conference on Software Engineering (2006)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Weyns, D. et al. (2017). Perpetual Assurances for Self-Adaptive Systems. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds) Software Engineering for Self-Adaptive Systems III. Assurances. Lecture Notes in Computer Science(), vol 9640. Springer, Cham. https://doi.org/10.1007/978-3-319-74183-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-74183-3_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-74182-6
Online ISBN: 978-3-319-74183-3
eBook Packages: Computer ScienceComputer Science (R0)