lnu.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 12) Show all publications
Shevtsov, S. (2019). A Control-theoretic Approach to Realize Self-adaptive Software Systems with Guarantees. (Doctoral dissertation). Växjö: Linnaeus University Press
Open this publication in new window or tab >>A Control-theoretic Approach to Realize Self-adaptive Software Systems with Guarantees
2019 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Engineering modern software systems is a challenging task as these systems are subject to different types of uncertainties. Examples of such uncertainties are disturbances in the environment that are difficult to predict and goals that may change during operation. The idea of self-adaptation is to handle these uncertainties at runtime, when the knowledge becomes available to resolve them. As more software systems with strict requirements are designed to be self-adaptive, the need for adaptation guarantees is becoming a high-priority concern. Providing such guarantees with traditional architecture-based approaches has shown to be challenging, calling for new approaches to engineer self-adaptive systems. To tackle this challenge, this thesis studies control-based software adaptation (CBSA). CBSA applies principles from control theory to design self-adaptive software systems. More specifically, we address the following research problem using CBSA: how to realize self-adaptive software systems that satisfy multiple stakeholder requirements with guarantees in the presence of uncertainties.

The thesis addresses the research problem in two subsequent stages. The first stage focuses on satisfying multiple stakeholder requirements of different types, and providing adaptation guarantees. This stage starts with a systematic literature review of CBSA, which provides a comprehensive overview of the field, including existing CBSA approaches, applied models and controllers, and analyzed guarantees. From the review, we identify a number of gaps in the existing research and concrete challenges in addressing the research problem. Then, we devise SimCA, a control-theoretic approach to realize self-adaptive software systems that satisfy multiple requirements with guarantees. SimCA combines mathematical models of software system, a control-based adaptation mechanism, and formal analysis of the required guarantees. SimCA is also reusable, meaning that it can be applied to a family of cooperative software systems with strict requirements. The second research stage focuses on handling different types of uncertainty.We first discuss the types of uncertainty and study whether existing CBSA approaches try to deal with these types. We then introduce an enhanced approach called SimCA* that includes components to deal with uncertainty in software parameters, addition or removal of requirements at runtime and software component interactions. In order to obtain evidence about the applicability and reusability of SimCA and SimCA*, we apply informal exploratory case studies with three software systems with strict requirements from different domains.

Place, publisher, year, edition, pages
Växjö: Linnaeus University Press, 2019
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-81037 (URN)978-91-88898-49-4 (ISBN)978-91-88898-50-0 (ISBN)
Public defence
2019-03-29, D1136, Universitetsplatsen 1, Hud B/D, Vaxjo, 13:00 (English)
Opponent
Supervisors
Funder
Swedish Research Council
Available from: 2019-03-12 Created: 2019-03-11 Last updated: 2019-09-16Bibliographically approved
Shevtsov, S., Weyns, D. & Maggio, M. (2019). SimCA*: A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees. ACM Transactions on Autonomous and Adaptive Systems, 13(4), 1-34, Article ID 17.
Open this publication in new window or tab >>SimCA*: A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees
2019 (English)In: ACM Transactions on Autonomous and Adaptive Systems, ISSN 1556-4665, E-ISSN 1556-4703, Vol. 13, no 4, p. 1-34, article id 17Article in journal (Refereed) Published
Abstract [en]

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.

Place, publisher, year, edition, pages
ACM Publications, 2019
Keywords
Software, uncertainty, self-adaptation, control theory, SimCA*, IoT, UUV
National Category
Computer and Information Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-90330 (URN)10.1145/3328730 (DOI)000496481100002 ()
Available from: 2019-11-29 Created: 2019-11-29 Last updated: 2019-11-29Bibliographically approved
Shevtsov, S., Berekmeri, M., Weyns, D. & Maggio, M. (2018). Control-Theoretical Software Adaptation: A Systematic Literature Review. IEEE Transactions on Software Engineering, 44(8), 784-810
Open this publication in new window or tab >>Control-Theoretical Software Adaptation: A Systematic Literature Review
2018 (English)In: IEEE Transactions on Software Engineering, ISSN 0098-5589, E-ISSN 1939-3520, Vol. 44, no 8, p. 784-810Article in journal (Refereed) Published
Abstract [en]

Modern software applications are subject to uncertain operating conditions, such as dynamics in the availability of services and variations of system goals. Consequently, runtime changes cannot be ignored, but often cannot be predicted at design time. Control theory has been identified as a principled way of addressing runtime changes and it has been applied successfully to modify the structure and behavior of software applications. Most of the times, however, the adaptation targeted the resources that the software has available for execution (CPU, storage, etc.) more than the software application itself. This paper investigates the research efforts that have been conducted to make software adaptable by modifying the software rather than the resource allocated to its execution. This paper aims to identify: the focus of research on control-theoretical software adaptation; how software is modeled and what control mechanisms are used to adapt software; what software qualities and controller guarantees are considered. To that end, we performed a systematic literature review in which we extracted data from 42 primary studies selected from 1512 papers that resulted from an automatic search. The results of our investigation show that even though the behavior of software is considered non-linear, research efforts use linear models to represent it, with some success. Also, the control strategies that are most often considered are classic control, mostly in the form of Proportional and Integral controllers, and Model Predictive Control. The paper also discusses sensing and actuating strategies that are prominent for software adaptation and the (often neglected) proof of formal properties. Finally, we distill open challenges for control-theoretical software adaptation.

Place, publisher, year, edition, pages
IEEE, 2018
Keywords
self-adaptive software, control theory, software adaptation
National Category
Computer Systems
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-69336 (URN)10.1109/TSE.2017.2704579 (DOI)000441791100004 ()2-s2.0-85052241956 (Scopus ID)
Available from: 2017-12-16 Created: 2017-12-16 Last updated: 2019-08-29Bibliographically approved
Shevtsov, S. (2017). A Control-based Approach for Self-adaptive Software Systems with Formal Guarantees. (Licentiate dissertation). Växjö: Linnaeus University Press
Open this publication in new window or tab >>A Control-based Approach for Self-adaptive Software Systems with Formal Guarantees
2017 (English)Licentiate thesis, comprehensive summary (Other academic)
Place, publisher, year, edition, pages
Växjö: Linnaeus University Press, 2017. p. 172
Series
Lnu Licentiate ; 5
National Category
Computer Systems
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-69338 (URN)978-91-88357-95-3 (ISBN)
Presentation
2017-12-15, D1136A, 13:00 (English)
Opponent
Supervisors
Available from: 2017-12-18 Created: 2017-12-16 Last updated: 2017-12-18Bibliographically approved
Filieri, A., Maggio, M., Angelopoulos, K., D'Ippolito, N. R., Gerostathopoulos, I. T., Hempel, A. B., . . . Vogel, T. (2017). Control strategies for self-adaptive software systems. ACM Transactions on Autonomous and Adaptive Systems, 11(4), Article ID 24.
Open this publication in new window or tab >>Control strategies for self-adaptive software systems
Show others...
2017 (English)In: ACM Transactions on Autonomous and Adaptive Systems, ISSN 1556-4665, E-ISSN 1556-4703, Vol. 11, no 4, article id 24Article, review/survey (Refereed) Published
Abstract [en]

The pervasiveness and growing complexity of software systems are challenging software engineering to design systems that can adapt their behavior to withstand unpredictable, uncertain, and continuously changing execution environments. Control theoretical adaptation mechanisms have received growing interest from the software engineering community in the last few years for their mathematical grounding, allowing formal guarantees on the behavior of the controlled systems. However, most of these mechanisms are tailored to specific applications and can hardly be generalized into broadly applicable software design and development processes. This article discusses a reference control design process, from goal identification to the verification and validation of the controlled system. A taxonomy of the main control strategies is introduced, analyzing their applicability to software adaptation for both functional and nonfunctional goals. A brief extract on how to deal with uncertainty complements the discussion. Finally, the article highlights a set of open challenges, both for the software engineering and the control theory research communities.

Place, publisher, year, edition, pages
ACM Digital Library, 2017
National Category
Embedded Systems
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-74991 (URN)10.1145/3024188 (DOI)
Available from: 2018-06-04 Created: 2018-06-04 Last updated: 2019-09-05Bibliographically approved
Shevtsov, S., Weyns, D. & Maggio, M. (2017). Handling New and Changing Requirements with Guarantees in Self-Adaptive Systems using SimCA*. In: Proceedings - 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2017, 3 July 2017 -  23 May 2017, Buenos Aires: . Paper presented at The 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, May 22-23, 2017, Buenos Aires (pp. 12-23). IEEE, Article ID 7968128.
Open this publication in new window or tab >>Handling New and Changing Requirements with Guarantees in Self-Adaptive Systems using SimCA*
2017 (English)In: Proceedings - 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2017, 3 July 2017 -  23 May 2017, Buenos Aires, IEEE, 2017, p. 12-23, article id 7968128Conference paper, Published paper (Refereed)
Abstract [en]

Self-adaptation provides a principled way to deal with change during operation. As more systems with strict goals require self-adaptation, the need for guarantees in self-adaptive systems is becoming a high-priority concern. Designing adaptive software using principles from control theory has been identified as one of the approaches to provide guarantees. However, current solutions can only handle pre-specified requirements either in the form of setpoint values (S-reqs) or values to be optimized (O-reqs). This paper presents SimCA* that makes two contributions to control-based self-adaptation: (a) it allows the user to specify a third type of requirement that keeps a value above/below a threshold (T-reqs); and (b) it can deal with requirement sets that change at runtime (i.e., requirements can be adjusted, activated, and deactivated on the fly). SimCA* offers robustness to disturbances and provides adaptation guarantees. We evaluate SimCA* for two systems with strict goals from different domains: an underwater vehicle system used for oceanic surveillance, and a tele-assistance system for health care support. The test results demonstrate that SimCA* can deal with the three types of requirements (STO-reqs) operating under various types of dynamics and the set of requirements can be changed on the fly.

Place, publisher, year, edition, pages
IEEE, 2017
Keywords
self-adaptation, software, control theory
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-62009 (URN)10.1109/SEAMS.2017.3 (DOI)2-s2.0-85027154401 (Scopus ID)9781538615508 (ISBN)
Conference
The 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, May 22-23, 2017, Buenos Aires
Available from: 2017-03-31 Created: 2017-03-31 Last updated: 2019-08-29Bibliographically approved
Gerasimou, S., Calinescu, R., Shevtsov, S. & Weyns, D. (2017). UNDERSEA: An Exemplar for EngineeringSelf-Adaptive Unmanned Underwater Vehicles. In: 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS): . Paper presented at 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 22-23 May 2017, Buenos Aires, Argentina (pp. 83-89). IEEE
Open this publication in new window or tab >>UNDERSEA: An Exemplar for EngineeringSelf-Adaptive Unmanned Underwater Vehicles
2017 (English)In: 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), IEEE, 2017, p. 83-89Conference paper, Published paper (Refereed)
Abstract [en]

Recent advances in embedded systems and underwater communications raised the autonomy levels in unmanned underwater vehicles (UUVs) from human-driven and scripted to adaptive and self-managing. UUVs can execute longer and more challenging missions, and include functionality that enables adaptation to unexpected oceanic or vehicle changes. As such, the simulated UUV exemplar UNDERSEA introduced in our paper facilitates the development, evaluation and comparison of self-adaptation solutions in a new and important application domain. UNDERSEA comes with predefined oceanic surveillance UUV missions, adaptation scenarios, and a reference controller implementation, all of which can easily be extended or replaced.

Place, publisher, year, edition, pages
IEEE, 2017
National Category
Embedded Systems
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-74990 (URN)10.1109/SEAMS.2017.19 (DOI)2-s2.0-85027200841 (Scopus ID)978-1-5386-1550-8 (ISBN)978-1-5386-1551-5 (ISBN)
Conference
2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 22-23 May 2017, Buenos Aires, Argentina
Available from: 2018-06-04 Created: 2018-06-04 Last updated: 2019-08-29Bibliographically approved
Shevtsov, S. (2016). Developing a Reusable Control-Based Approach to Build Self-Adaptive Software Systems with Formal Guarantees. In: Zimmermann, T; ClelandHuang, J; Su, Z (Ed.), FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING. Paper presented at 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), NOV 13-18, 2016, Seattle, WA (pp. 1060-1062). ACM Publications
Open this publication in new window or tab >>Developing a Reusable Control-Based Approach to Build Self-Adaptive Software Systems with Formal Guarantees
2016 (English)In: FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING / [ed] Zimmermann, T; ClelandHuang, J; Su, Z, ACM Publications, 2016, p. 1060-1062Conference paper, Published paper (Refereed)
Abstract [en]

An increasingly important concern of software engineers is handling uncertainty at runtime. Over the last decade researchers have applied architecture-based self-adaptation approaches to address this concern. However, providing guarantees required by current software systems has shown to be challenging with these approaches. To tackle this challenge, we study the application of control theory to realize self-adaptation and develop novel control-based adaptation mechanisms that guarantee desired system properties. Results are validated on systems with strict requirements.

Place, publisher, year, edition, pages
ACM Publications, 2016
Keywords
control theory, software, self-adaptive, guarantees
National Category
Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-60256 (URN)10.1145/2950290.2983949 (DOI)000391133400111 ()2-s2.0-84997272324 (Scopus ID)978-1-4503-4218-6 (ISBN)
Conference
24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), NOV 13-18, 2016, Seattle, WA
Available from: 2017-01-26 Created: 2017-01-26 Last updated: 2018-01-13Bibliographically approved
Shevtsov, S. & Weyns, D. (2016). Keep It SIMPLEX: Satisfying Multiple Goals with Guarantees in Control-Based Self-Adaptive Systems. In: FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING. Paper presented at 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), NOV 13-18, 2016, Seattle, WA (pp. 229-241). ACM Publications
Open this publication in new window or tab >>Keep It SIMPLEX: Satisfying Multiple Goals with Guarantees in Control-Based Self-Adaptive Systems
2016 (English)In: FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, ACM Publications, 2016, p. 229-241Conference paper, Published paper (Refereed)
Abstract [en]

An increasingly important concern of software engineers is handling uncertainties at design time, such as environment dynamics that may be difficult to predict or requirements that may change during operation. The idea of self-adaptation is to handle such uncertainties at runtime, when the knowledge becomes available. As more systems with strict requirements require self-adaptation, providing guarantees for adaptation has become a high-priority. Providing such guarantees with traditional architecture-based approaches has shown to be challenging. In response, researchers have studied the application of control theory to realize self-adaptation. However, existing control-theoretic approaches applied to adapt software systems have primarily focused on satisfying only a single adaptation goal at a time, which is often too restrictive for real applications. In this paper, we present Simplex Control Adaptation, SimCA, a new approach to self-adaptation that satisfies multiple goals, while being optimal with respect to an additional goal. SimCA offers robustness to measurement inaccuracy and environmental disturbances, and provides guarantees. We evaluate SimCA for two systems with strict requirements that have to deal with uncertainties: an underwater vehicle system used for oceanic surveillance, and a tele-assistance system for health care support.

Place, publisher, year, edition, pages
ACM Publications, 2016
Keywords
Self-adaptive system, control theory, simplex, multiple goals
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-60255 (URN)10.1145/2950290.2950301 (DOI)000391133400025 ()2-s2.0-84997501213 (Scopus ID)978-1-4503-4218-6 (ISBN)
Conference
24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), NOV 13-18, 2016, Seattle, WA
Available from: 2017-01-26 Created: 2017-01-26 Last updated: 2018-01-13Bibliographically approved
Shevtsov, S., Iftikhar, M. U. & Weyns, D. (2015). SimCA vs ActivFORMS: comparing control- and architecture-based adaptation on the TAS exemplar. In: Proceedings of the 1st International Workshop on Control Theory for Software Engineering: . Paper presented at CTSE 2015 (pp. 1-8). New York, NY, USA: ACM Press
Open this publication in new window or tab >>SimCA vs ActivFORMS: comparing control- and architecture-based adaptation on the TAS exemplar
2015 (English)In: Proceedings of the 1st International Workshop on Control Theory for Software Engineering, New York, NY, USA: ACM Press, 2015, p. 1-8Conference paper, Published paper (Refereed)
Abstract [en]

Today 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 that are different in nature - control theory-based SimCA and architecture-based ActivFORMS - to endow software systems with self-adaptation, providing guarantees on desired behavior. However, it is unclear which of the two approaches should be used in different adaptation scenarios and how effective they are in comparison to each other. In this paper, we apply SimCA and ActivFORMS to the Tele Assistance System (TAS) exemplar and compare obtained results, demonstrating the difference in achieved qualities and formal guarantees.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Press, 2015
National Category
Computer Sciences
Identifiers
urn:nbn:se:lnu:diva-51287 (URN)10.1145/2804337.2804338 (DOI)2-s2.0-84960465280 (Scopus ID)978-1-4503-3814-1 (ISBN)
Conference
CTSE 2015
Available from: 2016-03-23 Created: 2016-03-23 Last updated: 2018-01-10Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-0098-9376

Search in DiVA

Show all publications