Nothing Special   »   [go: up one dir, main page]

Skip to main content

Perpetual Assurances for Self-Adaptive Systems

  • Conference paper
  • First Online:
Software Engineering for Self-Adaptive Systems III. Assurances

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 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. 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. 3.

    https://www.hpi.uni-potsdam.de/giese/public/selfadapt/exemplars/tas/.

References

  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

    Chapter  Google Scholar 

  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. 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. 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. 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

    Chapter  Google Scholar 

  6. Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P.: Validation of web service compositions. IET Software 1(6), 219–232 (2007)

    Article  Google Scholar 

  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. 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. 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. Beugnard, A., Jezequel, J., Plouzeau, N., Watkins, D.: Making components contract aware. IEEE Computer 32(7), 38–45 (1999)

    Article  Google Scholar 

  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. Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandla, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55, 9 (2012)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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

    Chapter  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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

    Chapter  Google Scholar 

  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. 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

    Google Scholar 

  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

    Chapter  Google Scholar 

  31. Filieri, A., Ghezzi, C., Tamburrelli, G.: Runtime efficient probabilistic model checking. In: International Conference on Software Engineering, ICSE 2011 (2011)

    Google Scholar 

  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. 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. Funtowicz, S., Ravetz, J.: Uncertainty and Quality in Science for Policy. Springer, Dordrecht (1990). https://doi.org/10.1007/978-94-009-0621-1

    Book  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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. 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. Inverardi, P., Mori, P.: Model checking requirements at runtime in adaptive systems. In: Workshop on Assurances for Self-adaptive Systems (2011)

    Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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. 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. 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

    Google Scholar 

  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. 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. 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)

    Article  Google Scholar 

  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. 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. 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. 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. 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. 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)

    Article  Google Scholar 

  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. Weyns, D., Iftikhar, U.: Model-based simulation at runtime for self-adaptive systems. In: Models at Runtime (2016)

    Google Scholar 

  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. 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. 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. 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. 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. 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)

    Article  MathSciNet  MATH  Google Scholar 

  68. Younes, H.L.S., Kwiatkowska, M.Z., Norman, G., Parker, D.: Numerical vs. statistical probabilistic model checking. STTT 8(3), 216–228 (2006)

    Article  MATH  Google Scholar 

  69. Zhang, J., Cheng, B.: Using temporal logic to specify adaptive program semantics. J. Syst. Softw. 79, 1361–1369 (2006)

    Article  Google Scholar 

  70. Zhang, J., Cheng, B.: Model-based development of dynamically adaptive software. In: 28th International Conference on Software Engineering (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Danny Weyns .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics