Towards Understanding Adaptation Latency in Self-adaptive Systems

A major advantage of service-based and cloud-based systems is their ability to perform self-adaptation. Through self-adaptation, such systems can automatically react to changes and thus ensure the continued satisfaction of their functional and non-functional requirements. Self-adaptation may take non-negligible time (which we term adaptation latency), and during this period the self-adaptive system may exhibit degraded performance or other negative impact. Hence, it is important to understand how long self-adaptations take and what influences the adaptation latency. However, we are not aware of a systematic study of this question in the literature. This paper is a first step in this direction. We present (i) a model of adaptation latency that breaks it down into four components and (ii) a preliminary survey to analyze information about adaptation latency in the available literature on self-adaptive systems. According to our findings, although some components of the adaptation latency are studied in some publications, the whole adaptation delay is seldom considered.

[1]  Rogério de Lemos,et al.  Evaluation of resilience in self-adaptive systems using probabilistic model-checking , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[2]  Thomas Vogel,et al.  Software Engineering Meets Control Theory , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[3]  David Garlan,et al.  Stochastic game analysis and latency awareness for proactive self-adaptation , 2014, SEAMS 2014.

[4]  Bradley R. Schmerl,et al.  Efficient Decision-Making under Uncertainty for Proactive Self-Adaptation , 2016, 2016 IEEE International Conference on Autonomic Computing (ICAC).

[5]  Zoltán Ádám Mann Two Are Better Than One: An Algorithm Portfolio Approach to Cloud Resource Management , 2017, ESOCC.

[6]  Hausi A. Müller,et al.  Improving context-awareness in self-adaptation using the DYNAMICO reference model , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[7]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[8]  Hausi A. Müller,et al.  A framework for evaluating quality-driven self-adaptive software systems , 2011, SEAMS '11.

[9]  Zoltán Ádám Mann,et al.  Resource Optimization Across the Cloud Stack , 2018, IEEE Transactions on Parallel and Distributed Systems.

[10]  Ingrid Nunes,et al.  Cleaning Up the Mess: A Formal Framework for Autonomously Reverting BDI Agent Actions , 2018, 2018 IEEE/ACM 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[11]  Christian Prehofer,et al.  Timing constraints for runtime adaptation in real-time, networked embedded systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[12]  Samuel Kounev,et al.  BUNGEE: An Elasticity Benchmark for Self-Adaptive IaaS Cloud Environments , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[13]  Andrea Zisman,et al.  Proactive adaptation of service composition , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[14]  Thomas Vogel,et al.  Control Strategies for Self-Adaptive Software Systems , 2017, ACM Trans. Auton. Adapt. Syst..

[15]  Lidia Fuentes,et al.  Run-time adaptation of mobile applications using genetic algorithms , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[16]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[17]  Bradley R. Schmerl,et al.  Proactive self-adaptation under uncertainty: a probabilistic model checking approach , 2015, ESEC/SIGSOFT FSE.

[18]  Patricia Lago,et al.  Self-Adaptation in Mobile Apps: a Systematic Literature Study , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[19]  Andrea Zisman,et al.  Won't Take No for an Answer: Resource-Driven Requirements Adaptation , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[20]  Rogério de Lemos,et al.  Dynamic plans for integration testing of self-adaptive software systems , 2011, SEAMS '11.

[21]  Bradley Schmerl,et al.  Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Autonomous Robots , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[22]  Sagar Chaki,et al.  Decision-Making with Cross-Entropy for Self-Adaptation , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[23]  David Garlan,et al.  DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[24]  Jie Li,et al.  Cloud auto-scaling with deadline and budget constraints , 2010, 2010 11th IEEE/ACM International Conference on Grid Computing.

[25]  Iulian Neamtiu Elastic executions from inelastic programs , 2011, SEAMS '11.

[26]  David Garlan,et al.  Managing Uncertainty in Self-Adaptive Systems with Plan Reuse and Stochastic Search , 2018, 2018 IEEE/ACM 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[27]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[28]  Andreas Metzger,et al.  Auto-Adjusting Self-Adaptive Software Systems , 2018, 2018 IEEE International Conference on Autonomic Computing (ICAC).

[29]  Marin Litoiu,et al.  Model-based adaptive DoS attack mitigation , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[30]  Radu Calinescu,et al.  Self-Adaptive Role-Based Access Control for Business Processes , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[31]  Daniel Moldovan,et al.  On estimating actuation delays in elastic computing systems , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[32]  Carlo Ghezzi,et al.  Managing non-functional uncertainty via model-driven adaptivity , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[33]  Bradley R. Schmerl,et al.  Evolving an adaptive industrial software system to use architecture-based self-adaptation , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[34]  Walter Rudametkin,et al.  Extending Dynamic Software Product Lines with Temporal Constraints , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[35]  Sander van der Burg,et al.  A self-adaptive deployment framework for service-oriented systems , 2011, SEAMS '11.

[36]  Bradley R. Schmerl,et al.  Evaluating the effectiveness of the Rainbow self-adaptive system , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[37]  Gauthier Picard,et al.  Criteria for the evaluation of self-* systems , 2010, SEAMS '10.

[38]  Thomas Vogel,et al.  mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization , 2018, 2018 IEEE/ACM 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).