{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:44:44Z","timestamp":1780346684790,"version":"3.54.1"},"reference-count":45,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2018,12,31]],"date-time":"2018-12-31T00:00:00Z","timestamp":1546214400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Auton. Adapt. Syst."],"published-print":{"date-parts":[[2018,12,31]]},"abstract":"<jats:p>Self-adaptation provides a principled way to deal with software systems\u2019 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.<\/jats:p>","DOI":"10.1145\/3328730","type":"journal-article","created":{"date-parts":[[2019,7,19]],"date-time":"2019-07-19T13:17:14Z","timestamp":1563542234000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["SimCA*"],"prefix":"10.1145","volume":"13","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0098-9376","authenticated-orcid":false,"given":"Stepan","family":"Shevtsov","sequence":"first","affiliation":[{"name":"Linnaeus University, Sweden, and KU Leuven, Belgium"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Danny","family":"Weyns","sequence":"additional","affiliation":[{"name":"KU Leuven, Belgium, and Linnaeus University, Sweden"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Martina","family":"Maggio","sequence":"additional","affiliation":[{"name":"Lund University, Sweden"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2019,7,19]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"SimCA* project website. 2018. Retrieved from https:\/\/people.cs.kuleuven.be\/danny.weyns\/software\/simplex\/index.htm. SimCA* project website. 2018. Retrieved from https:\/\/people.cs.kuleuven.be\/danny.weyns\/software\/simplex\/index.htm."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCOM.2002.1024422"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10115-016-0987-z"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897053.2897054"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-02161-9_3"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.92"},{"key":"e_1_2_1_7_1","volume-title":"Self-adaptive Software with Decentralised Control Loops","author":"Calinescu Radu","unstructured":"Radu Calinescu , Simos Gerasimou , and Alec Banks . 2015. Self-adaptive Software with Decentralised Control Loops . Springer , Berlin , 235--251. Radu Calinescu, Simos Gerasimou, and Alec Banks. 2015. Self-adaptive Software with Decentralised Control Loops. Springer, Berlin, 235--251."},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Javier Camara et al. 2013. Assurances for Self-Adaptive Systems: Principles Models and Techniques. Springer. Javier Camara et al. 2013. Assurances for Self-Adaptive Systems: Principles Models and Techniques. Springer.","DOI":"10.1007\/978-3-642-36249-1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-02161-9_1"},{"key":"e_1_2_1_10_1","volume-title":"Activity Analysis of Production and Allocation","author":"Dantzig George B.","unstructured":"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. 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."},{"key":"e_1_2_1_11_1","volume-title":"Dantzig and Mukund Thapa","author":"George","year":"1997","unstructured":"George B. Dantzig and Mukund Thapa . 1997 . Linear Programming 1: Introduction. Springer-Verlag , New York. George B. Dantzig and Mukund Thapa. 1997. Linear Programming 1: Introduction. Springer-Verlag, New York."},{"key":"e_1_2_1_12_1","volume-title":"Dantzig and Mukund Thapa","author":"George","year":"2003","unstructured":"George B. Dantzig and Mukund Thapa . 2003 . Linear Programming 2: Theory and Extensions. Springer , New York. George B. Dantzig and Mukund Thapa. 2003. Linear Programming 2: Theory and Extensions. Springer, New York."},{"key":"e_1_2_1_13_1","unstructured":"Rog\u00e9rio de Lemos etal 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. Rog\u00e9rio 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."},{"key":"e_1_2_1_14_1","doi-asserted-by":"crossref","unstructured":"Rog\u00e9rio de Lemos etal 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. Rog\u00e9rio 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.","DOI":"10.1007\/978-3-319-74183-3"},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Rog\u00e9rio 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\/. Rog\u00e9rio 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\/.","DOI":"10.1007\/978-3-642-35813-5"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070513"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568272"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786833"},{"key":"e_1_2_1_19_1","volume-title":"Hellerstein et al","author":"Joseph","year":"2004","unstructured":"Joseph L. Hellerstein et al . 2004 . Feedback Control of Computing Systems. John Wiley 8 Sons. Joseph L. Hellerstein et al. 2004. Feedback Control of Computing Systems. John Wiley 8 Sons."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/SEAMS.2017.21"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593929.2593944"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2724719"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1002\/sam.10124"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2003.1160055"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106247"},{"key":"e_1_2_1_26_1","volume-title":"Managing Trade-Offs in Adaptable Software Architectures","author":"Mahdavi-Hezavehi Sara","unstructured":"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. 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."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786853"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICAC.2016.59"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1370175.1370181"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568088.2568095"},{"key":"e_1_2_1_31_1","volume-title":"Press et al","author":"William","year":"1988","unstructured":"William H. Press et al . 1988 . Numerical Recipes in C : The Art of Scientific Computing. Cambridge University Press , New York, NY. William H. Press et al. 1988. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, New York, NY."},{"key":"e_1_2_1_32_1","volume-title":"Introduction to autonomy for marine robots","author":"Seto Mae","unstructured":"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. 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."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2704579"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950301"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/SEAMS.2017.3"},{"key":"e_1_2_1_36_1","volume-title":"Engineering Adaptive Software Systems","author":"Shevtsov Stepan","unstructured":"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 . 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."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS\u201912)","author":"Silva Souza V\u00edtor E.","year":"2012","unstructured":"V\u00edtor 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\u201912) . IEEE Press, Piscataway, NJ, 155--164. V\u00edtor 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\u201912). IEEE Press, Piscataway, NJ, 155--164."},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","unstructured":"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. 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.","DOI":"10.1007\/978-3-642-35813-5_5"},{"key":"e_1_2_1_39_1","volume-title":"Handbook of Software Engineering","author":"Weyns Danny","unstructured":"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 . 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."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2347583.2347592"},{"key":"e_1_2_1_41_1","doi-asserted-by":"crossref","unstructured":"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. 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.","DOI":"10.1007\/978-3-319-74183-3_2"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-73117-9_5"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/TAC.1976.1101146"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/775047.775148"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1496909.1496922"}],"container-title":["ACM Transactions on Autonomous and Adaptive Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3328730","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3328730","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:54:01Z","timestamp":1750204441000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3328730"}},"subtitle":["A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees"],"short-title":[],"issued":{"date-parts":[[2018,12,31]]},"references-count":45,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,12,31]]}},"alternative-id":["10.1145\/3328730"],"URL":"https:\/\/doi.org\/10.1145\/3328730","relation":{},"ISSN":["1556-4665","1556-4703"],"issn-type":[{"value":"1556-4665","type":"print"},{"value":"1556-4703","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,12,31]]},"assertion":[{"value":"2018-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-07-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}