Advertisement

Perpetual Assurances for Self-Adaptive Systems

  • Danny Weyns
  • Nelly Bencomo
  • Radu Calinescu
  • Javier Camara
  • Carlo Ghezzi
  • Vincenzo Grassi
  • Lars Grunske
  • Paola Inverardi
  • Jean-Marc Jezequel
  • Sam Malek
  • Raffaela Mirandola
  • Marco Mori
  • Giordano Tamburrelli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9640)

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.

References

  1. 1.
    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 CrossRefGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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 Google Scholar
  5. 5.
    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 CrossRefGoogle Scholar
  6. 6.
    Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P.: Validation of web service compositions. IET Software 1(6), 219–232 (2007)CrossRefGoogle Scholar
  7. 7.
    Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and runtime. In: FSE/SDP Workshop on Future of Software Engineering Research. ACM (2010)Google Scholar
  8. 8.
    Bencomo, N.: QuantUn: quantification of uncertainty for the reassessment of requirements. In: Next! track at the 23rd International Requirements Engineering Conference (2015)Google Scholar
  9. 9.
    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 Google Scholar
  10. 10.
    Beugnard, A., Jezequel, J., Plouzeau, N., Watkins, D.: Making components contract aware. IEEE Computer 32(7), 38–45 (1999)CrossRefGoogle Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandla, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55, 9 (2012)CrossRefGoogle Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Calinescu, R., Johnson, K., Rafiq, Y.: Developing self-verifying service-based systems. In: IEEE/ACM 28th International Conference on Automated Software Engineering (2013)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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 CrossRefGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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 CrossRefGoogle Scholar
  23. 23.
    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 CrossRefGoogle Scholar
  24. 24.
    David, A., Larsen, K., Legay, A., Mikuaionis, M., Poulsen, D.: Uppaal SMC tutorial. Int. J. Softw. Tools Technol. Transfer 17(4), 397–415 (2015)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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 CrossRefGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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.5070513Google Scholar
  30. 30.
    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 CrossRefGoogle Scholar
  31. 31.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: Runtime efficient probabilistic model checking. In: International Conference on Software Engineering, ICSE 2011 (2011)Google Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    Funtowicz, S., Ravetz, J.: Uncertainty and Quality in Science for Policy. Springer, Dordrecht (1990).  https://doi.org/10.1007/978-94-009-0621-1 CrossRefGoogle Scholar
  35. 35.
    Garlan, D.: Software engineering in an uncertain world. In: Future of Software Engineering Research Workshop, FoSER, New York, NY, USA (2010)Google Scholar
  36. 36.
    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 CrossRefGoogle Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    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 CrossRefGoogle Scholar
  39. 39.
    Iftikhar, U., Weyns, D.: ActivFORMS: active formal models for self-adaptation. In: Software Engineering for Adaptive and Self-managing Systems, SEAMS 2014 (2014)Google Scholar
  40. 40.
    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
  41. 41.
    Inverardi, P., Mori, P.: Model checking requirements at runtime in adaptive systems. In: Workshop on Assurances for Self-adaptive Systems (2011)Google Scholar
  42. 42.
    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 CrossRefGoogle Scholar
  43. 43.
    Johnson, K., Calinescu, R., Kikuchi, S.: An incremental verification framework for component-based software systems. In: CBSE 2013, pp. 33–42 (2013)Google Scholar
  44. 44.
    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 CrossRefGoogle Scholar
  45. 45.
    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 CrossRefGoogle Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    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 CrossRefGoogle Scholar
  48. 48.
    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)Google Scholar
  49. 49.
    Mula, J., Poler, R., Garcia-Sabater, J., Lario, F.: Models for production planning under uncertainty: a review. IJPE 103(1), 271–285 (2006)Google Scholar
  50. 50.
    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 YorkGoogle Scholar
  51. 51.
    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)Google Scholar
  52. 52.
    Ramirez, A., Jensen, A., Cheng, B.: A taxonomy of uncertainty for dynamically adaptive systems. In: Software Engineering for Adaptive and Self-Managing Systems (2012)Google Scholar
  53. 53.
    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)CrossRefGoogle Scholar
  54. 54.
    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)Google Scholar
  55. 55.
    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)Google Scholar
  56. 56.
    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)Google Scholar
  57. 57.
    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)Google Scholar
  58. 58.
    Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with EUREMA. ACM Trans. Auton. Adapt. Syst. 8(4), Article 18 (2014)Google Scholar
  59. 59.
    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)CrossRefGoogle Scholar
  60. 60.
    Weyns, D., Calinescu, R.: Tele assistance: a self-adaptive service-based system exemplar. In: Software Engineering for Adaptive and Self-Managing Systems (2015)Google Scholar
  61. 61.
    Weyns, D., Iftikhar, U.: Model-based simulation at runtime for self-adaptive systems. In: Models at Runtime (2016)Google Scholar
  62. 62.
    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
  63. 63.
    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)Google Scholar
  64. 64.
    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)Google Scholar
  65. 65.
    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)Google Scholar
  66. 66.
    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)Google Scholar
  67. 67.
    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)MathSciNetCrossRefMATHGoogle Scholar
  68. 68.
    Younes, H.L.S., Kwiatkowska, M.Z., Norman, G., Parker, D.: Numerical vs. statistical probabilistic model checking. STTT 8(3), 216–228 (2006)CrossRefMATHGoogle Scholar
  69. 69.
    Zhang, J., Cheng, B.: Using temporal logic to specify adaptive program semantics. J. Syst. Softw. 79, 1361–1369 (2006)CrossRefGoogle Scholar
  70. 70.
    Zhang, J., Cheng, B.: Model-based development of dynamically adaptive software. In: 28th International Conference on Software Engineering (2006)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Danny Weyns
    • 1
    • 2
  • Nelly Bencomo
    • 3
  • Radu Calinescu
    • 4
  • Javier Camara
    • 5
  • Carlo Ghezzi
    • 6
  • Vincenzo Grassi
    • 7
  • Lars Grunske
    • 8
  • Paola Inverardi
    • 9
  • Jean-Marc Jezequel
    • 10
  • Sam Malek
    • 11
  • Raffaela Mirandola
    • 6
  • Marco Mori
    • 12
  • Giordano Tamburrelli
    • 13
  1. 1.Katholieke Universiteit LeuvenLouvainBelgium
  2. 2.Linnaeus University SwedenVäxjöSweden
  3. 3.Aston UniversityBirminghamUK
  4. 4.University of YorkYorkUK
  5. 5.Carnegie Mellon UniversityPittsburghUSA
  6. 6.Politecnico di MilanoMilanItaly
  7. 7.University of RomeRomeItaly
  8. 8.Humboldt University of BerlinBerlinGermany
  9. 9.University of L’AquilaL’AquilaItaly
  10. 10.IRISARennesFrance
  11. 11.University of IrvineIrvineUSA
  12. 12.University of FlorenceFlorenceItaly
  13. 13.Vrije Universiteit AmsterdamAmsterdamThe Netherlands

Personalised recommendations