Abstract
Self-adaptation provides a principled way to deal with software systems’ uncertainty during operation. Examples of such uncertainties are disturbances in the environment, variations in sensor readings, and changes in user requirements. As more systems with strict goals require self-adaptation, the need for formal guarantees in self-adaptive systems is becoming a high-priority concern. Designing self-adaptive software using principles from control theory has been identified as one of the approaches to provide guarantees. In general, self-adaptation covers a wide range of approaches to maintain system requirements under uncertainty, ranging from dynamic adaptation of system parameters to runtime architectural reconfiguration. Existing control-theoretic approaches have mainly focused on handling requirements in the form of setpoint values or as quantities to be optimized. Furthermore, existing research primarily focuses on handling uncertainty in the execution environment. This article presents SimCA*, which provides two contributions to the state-of-the-art in control-theoretic adaptation: (i) it supports requirements that keep a value above and below a required threshold, in addition to setpoint and optimization requirements; and (ii) it deals with uncertainty in system parameters, component interactions, system requirements, in addition to uncertainty in the environment. SimCA* provides guarantees for the three types of requirements of the system that is subject to different types of uncertainties. We evaluate SimCA* for two systems with strict requirements from different domains: an Unmanned Underwater Vehicle system used for oceanic surveillance and an Internet of Things application for monitoring a geographical area. The test results confirm that SimCA* can satisfy the three types of requirements in the presence of different types of uncertainty.
- SimCA* project website. 2018. Retrieved from https://people.cs.kuleuven.be/danny.weyns/software/simplex/index.htm.Google Scholar
- Ian F. Akyildiz et al. 2002. A survey on sensor networks. IEEE Commun. Mag. 40, 8 (Aug. 2002), 102--114. Google Scholar
Digital Library
- Samaneh Aminikhanghahi and Diane J. Cook. 2017. A survey of methods for time series change point detection. Knowl. Inf. Syst. 51, 2 (May 2017), 339--367. Google Scholar
Digital Library
- Konstantinos Angelopoulos, Alessandro V. Papadopoulos, Vítor E. Silva Souza, and John Mylopoulos. 2016. Model predictive control for software systems with CobRA. In Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’16). ACM, New York, NY, 35--46. Google Scholar
Digital Library
- Yuriy Brun et al. 2009. Engineering self-adaptive systems through feedback loops. In Software Engineering for Self-Adaptive Systems (Lecture Notes in Computer Science, vol. 5525). Springer, 48--70. Google Scholar
Digital Library
- Radu Calinescu et al. 2011. Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37, 3 (May 2011), 387--409. Google Scholar
Digital Library
- Radu Calinescu, Simos Gerasimou, and Alec Banks. 2015. Self-adaptive Software with Decentralised Control Loops. Springer, Berlin, 235--251.Google Scholar
- Javier Camara et al. 2013. Assurances for Self-Adaptive Systems: Principles, Models, and Techniques. Springer. Google Scholar
Digital Library
- Betty H. Cheng et al. 2009. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems (Lecture Notes in Computer Science, vol. 5525). Springer, 1--26. Google Scholar
Digital Library
- George B. Dantzig. 1951. Maximization of a linear function of variables subject to linear inequalities. In Activity Analysis of Production and Allocation. Wiley, New York, chapter 21.Google Scholar
- George B. Dantzig and Mukund Thapa. 1997. Linear Programming 1: Introduction. Springer-Verlag, New York. Google Scholar
Digital Library
- George B. Dantzig and Mukund Thapa. 2003. Linear Programming 2: Theory and Extensions. Springer, New York.Google Scholar
- Rogério de Lemos et al. 2013. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II, (Lecture Notes in Computer Science, vol. 7475). Springer.Google Scholar
- Rogério de Lemos et al. 2017. Software engineering for self-adaptive systems: Research challenges in the provision of assurances. In Software Engineering for Self-Adaptive Systems III. Assurances. Springer International Publishing, Cham, 3--30.Google Scholar
- Rogério de Lemos, David Garlan, and Holger Giese. 2013. Software engineering for self-adaptive systems: Assurances, (Dagstuhl seminar 13511). Retrieved from http://drops.dagstuhl.de/opus/volltexte/2014/4508/.Google Scholar
- Ilenia Epifani et al. 2009. Model evolution by run-time parameter adaptation. In Proceedings of the International Conference on Software Engineering. Google Scholar
Digital Library
- Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2014. Automated design of self-adaptive software with control-theoretical formal guarantees. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). ACM, New York, NY, 299--310. Google Scholar
Digital Library
- Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2015. Automated multi-objective control for self-adaptive software design. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. Google Scholar
Digital Library
- Joseph L. Hellerstein et al. 2004. Feedback Control of Computing Systems. John Wiley 8 Sons. Google Scholar
Digital Library
- M. Usman Iftikhar et al. 2017. DeltaIoT: A self-adaptive Internet of Things exemplar. In Proceedings of the 12th IEEE/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’17). 76--82. Google Scholar
Digital Library
- M. Usman Iftikhar and Danny Weyns. 2014. ActivFORMS: Active formal models for self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, New York, NY, 125--134. Google Scholar
Digital Library
- Didac Gil De La Iglesia and Danny Weyns. 2015. MAPE-K formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 10, 3, Article 15 (Sept. 2015), 31 pages. Google Scholar
Digital Library
- Yoshinobu Kawahara and Masashi Sugiyama. 2012. Sequential change-point detection based on direct density-ratio estimation. Stat. Anal. Data Min. 5, 2 (Apr. 2012), 114--127. Google Scholar
Digital Library
- Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003). Google Scholar
Digital Library
- Martina Maggio et al. 2017. Automated control of multiple software goals using multiple actuators. In Proceedings of the 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’17). ACM, New York, NY, 373--384. Google Scholar
Digital Library
- Sara Mahdavi-Hezavehi, Paris Avgeriou, and Danny Weyns. 2017. A classification framework of uncertainty in architecture-based self-adaptive systems with multiple quality requirements. In Managing Trade-Offs in Adaptable Software Architectures. Elsevier, 45--77.Google Scholar
- Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2015. Proactive self-adaptation under uncertainty: A probabilistic model checking approach. In Proceedings of the 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). ACM, New York, NY, 1--12. Google Scholar
Digital Library
- Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2016. Efficient decision-making under uncertainty for proactive self-adaptation. In Proceedings of the IEEE International Conference on Autonomic Computing (ICAC’16). IEEE, 147--156.Google Scholar
Cross Ref
- Peyman Oreizy, Nenad Medvidovic, and Richard N. Taylor. 2008. Runtime software adaptation: Framework, approaches, and styles. In Proceedings of the 30th International Conference on Software Engineering (ICSE’08). ACM, New York, NY, 899--910. Google Scholar
Digital Library
- Diego Perez-Palacin and Raffaela Mirandola. 2014. 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 (ICPE’14). ACM, New York, NY, 3--14. Google Scholar
Digital Library
- William H. Press et al. 1988. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, New York, NY. Google Scholar
Digital Library
- Mae Seto, Liam Paull, and Sajad Saeedi. 2013. Introduction to autonomy for marine robots. In Marine Robot Autonomy, Mae L. Seto (Ed.). Springer, New York, NY, 1--46.Google Scholar
- Stepan Shevtsov et al. 2018. Control-theoretical software adaptation: A systematic literature review. IEEE Trans. Softw. Eng. 44, 8 (2018), 784--810. Google Scholar
Digital Library
- Stepan Shevtsov and Danny Weyns. 2016. Keep it SIMPLEX: Satisfying multiple goals with guarantees in control-based self-adaptive systems. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 229--241. Google Scholar
Digital Library
- Stepan Shevtsov, Danny Weyns, and Martina Maggio. 2017. Handling new and changing requirements with guarantees in self-adaptive systems using SimCA*. In Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’17). IEEE Press, Piscataway, NJ, 12--23. Google Scholar
Digital Library
- Stepan Shevtsov, Danny Weyns, and Martina Maggio. 2018. Self-adaptation of software using automatically generated control-theoretical solutions. In Engineering Adaptive Software Systems. Springer Singapore.Google Scholar
- Vítor E. Silva Souza, Alexei Lapouchnian, and John Mylopoulos. 2012. (Requirement) evolution requirements for adaptive systems. In Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’12). IEEE Press, Piscataway, NJ, 155--164. Google Scholar
Digital Library
- Gabriel Tamura et al. 2013. Towards practical runtime verification and validation of self-adaptive software systems. In Software Engineering for Self-Adaptive Systems II. (Lecture Notes in Computer Science, vol. 7475). Springer.Google Scholar
- Danny Weyns. 2018. Software engineering of self-adaptive systems: An organised tour and future challenges. In Handbook of Software Engineering, Sungdeok Cha, Richard Taylor, and Kyo Chul Kang (Eds.). Springer.Google Scholar
- Danny Weyns et al. 2012. A survey of formal methods in self-adaptive systems. In Proceedings of the 5th International C* Conference on Computer Science and Software Engineering (C3S2E’12). ACM, New York, NY, 67--79. Google Scholar
Digital Library
- Danny Weyns et al. 2016. Perpetual assurances for self-adaptive systems. In Software Engineering for Self-Adaptive Systems IV: Assurances, (Lecture Notes in Computer Science, vol. 9640). Springer.Google Scholar
- Danny Weyns, Gowri Sankar Ramachandran, and Ritesh Kumar Singh. 2018. Self-managing Internet of Things. In Proceedings of the 44th International Conference on Current Trends in Theory and Practice of Computer Science—SOFSEM 2018: Theory and Practice of Computer Science. Springer, 67--84.Google Scholar
Cross Ref
- Alan S. Willsky and Harold L. Jones. 1976. A generalized likelihood ratio approach to the detection and estimation of jumps in linear systems. IEEE Trans. Automat. Control 21, 1 (Feb 1976), 108--112.Google Scholar
Cross Ref
- Kenji Yamanishi and Jun-ichi Takeuchi. 2002. A unifying framework for detecting outliers and change points from non-stationary time series data. In Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD’02). ACM, New York, NY, 676--681. Google Scholar
Digital Library
- Xiaoyun Zhu et al. 2009. What does control theory bring to systems research? SIGOPS Oper. Syst. Rev. 43, 1 (Jan. 2009), 62--69. Google Scholar
Digital Library
Index Terms
SimCA*: A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees
Recommendations
SimCA vs ActivFORMS: comparing control- and architecture-based adaptation on the TAS exemplar
CTSE 2015: Proceedings of the 1st International Workshop on Control Theory for Software EngineeringToday customers require software systems to provide particular levels of qualities, while operating under dynamically changing conditions. These requirements can be met with different self-adaptation approaches. Recently, we developed two approaches ...
Uncertainty in Self-adaptive Systems: A Research Community Perspective
One of the primary drivers for self-adaptation is ensuring that systems achieve their goals regardless of the uncertainties they face during operation. Nevertheless, the concept of uncertainty in self-adaptive systems is still insufficiently understood. ...
RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems
RE '09: Proceedings of the 2009 17th IEEE International Requirements Engineering Conference, RESelf-adaptive systems have the capability to autonomously modify their behaviour at run-time in response to changes in their environment. Self-adaptation is particularly necessary for applications that must run continuously, even under adverse ...






Comments