skip to main content
research-article

SimCA*: A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees

Published:19 July 2019Publication History
Skip Abstract Section

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.

References

  1. SimCA* project website. 2018. Retrieved from https://people.cs.kuleuven.be/danny.weyns/software/simplex/index.htm.Google ScholarGoogle Scholar
  2. Ian F. Akyildiz et al. 2002. A survey on sensor networks. IEEE Commun. Mag. 40, 8 (Aug. 2002), 102--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. Radu Calinescu, Simos Gerasimou, and Alec Banks. 2015. Self-adaptive Software with Decentralised Control Loops. Springer, Berlin, 235--251.Google ScholarGoogle Scholar
  8. Javier Camara et al. 2013. Assurances for Self-Adaptive Systems: Principles, Models, and Techniques. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. George B. Dantzig and Mukund Thapa. 1997. Linear Programming 1: Introduction. Springer-Verlag, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. George B. Dantzig and Mukund Thapa. 2003. Linear Programming 2: Theory and Extensions. Springer, New York.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. Ilenia Epifani et al. 2009. Model evolution by run-time parameter adaptation. In Proceedings of the International Conference on Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. Joseph L. Hellerstein et al. 2004. Feedback Control of Computing Systems. John Wiley 8 Sons. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. William H. Press et al. 1988. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. Stepan Shevtsov et al. 2018. Control-theoretical software adaptation: A systematic literature review. IEEE Trans. Softw. Eng. 44, 8 (2018), 784--810. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle ScholarCross RefCross Ref
  43. 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 ScholarGoogle ScholarCross RefCross Ref
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. Xiaoyun Zhu et al. 2009. What does control theory bring to systems research? SIGOPS Oper. Syst. Rev. 43, 1 (Jan. 2009), 62--69. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SimCA*: A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Autonomous and Adaptive Systems
            ACM Transactions on Autonomous and Adaptive Systems  Volume 13, Issue 4
            December 2018
            143 pages
            ISSN:1556-4665
            EISSN:1556-4703
            DOI:10.1145/3349607
            Issue’s Table of Contents

            Copyright © 2019 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 19 July 2019
            • Accepted: 1 April 2019
            • Revised: 1 March 2019
            • Received: 1 March 2018
            Published in taas Volume 13, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!