Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3106237.3106247acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Automated control of multiple software goals using multiple actuators

Published: 21 August 2017 Publication History

Abstract

Modern software should satisfy multiple goals simultaneously: it should provide predictable performance, be robust to failures, handle peak loads and deal seamlessly with unexpected conditions and changes in the execution environment. For this to happen, software designs should account for the possibility of runtime changes and provide formal guarantees of the software's behavior. Control theory is one of the possible design drivers for runtime adaptation, but adopting control theoretic principles often requires additional, specialized knowledge. To overcome this limitation, automated methodologies have been proposed to extract the necessary information from experimental data and design a control system for runtime adaptation. These proposals, however, only process one goal at a time, creating a chain of controllers. In this paper, we propose and evaluate the first automated strategy that takes into account multiple goals without separating them into multiple control strategies. Avoiding the separation allows us to tackle a larger class of problems and provide stronger guarantees. We test our methodology's generality with three case studies that demonstrate its broad applicability in meeting performance, reliability, quality, security, and energy goals despite environmental or requirements changes.

References

[1]
Konstantinos Angelopoulos, Alessandro Vittorio Papadopoulos, Vítor E. Silva Souza, and John Mylopoulos. Model predictive control for software systems with cobra. SEAMS ’16, pages 35–46. ACM, 2016.
[2]
Luciano Baresi, Sam Guinea, Alberto Leva, and Giovanni Quattrocchi. A discretetime feedback controller for containerized cloud applications. In Proceedings of the 2016 11th Joint Meeting on Foundations of Software Engineering, FSE 2016, 2016.
[3]
Yuriy Brun, Giovanna Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzé, and Mary Shaw. Engineering self-adaptive systems through feedback loops. In Software Engineering for Self-Adaptive Systems, pages 48–70. 2009.
[4]
E.F. Camacho and C. Bordons. Model Predictive Control. Springer London, 2004.
[5]
Betty Cheng, Rogerio de Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Giovanna Di Marzo Serugendo, Schahram Dustdar, Anthony Finkelstein, Cristina Gacek, Kurt Geihs, Vincenzo Grassi, Gabor Karsai, Holger Kienle, Jeff Kramer, Marin Litoiu, Sam Malek, Raffaela Mirandola, Hausi Müller, Sooyong Park, Mary Shaw, Matthias Tichy, Massimo Tivoli, Danny Weyns, and Jon Whittle. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems. Springer, 2009.
[6]
Joan Daemen and Vincent Rijmen. The Design of Rijndael. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2002.
[7]
Elisabetta Di Nitto, Carlo Ghezzi, Andreas Metzger, Mike Papazoglou, and Klaus Pohl. A journey to highly dynamic, self-adaptive service-based applications. Automated Software Engineering, 15(3-4):313–341, 2008.
[8]
Yixin Diao, Joseph L. Hellerstein, Sujay Parekh, Rean Griffith, Gail Kaiser, and Dan Phung. Self-managing systems: A control theory foundation. ECBS. IEEE CS, 2005.
[9]
Nicolas D’Ippolito, Víctor Braberman, Jeff Kramer, Jeff Magee, Daniel Sykes, and Sebastian Uchitel. Hope for the best, prepare for the worst: Multi-tier control for adaptive systems. In Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, pages 688–699, New York, NY, USA, 2014. ACM.
[10]
Xavier Dutreilh, Aurélien Moreau, Jacques Malenfant, Nicolas Rivierre, and Isis Truck. From data center resource allocation to control theory and back. CLOUD, pages 410–417. IEEE CS, 2010.
[11]
Anne Farrell and Henry Hoffmann. Meantime: Achieving both minimal energy and timeliness with approximate computing. In 2016 USENIX Annual Technical Conference (USENIX ATC 16), pages 421–435, Denver, CO, June 2016. USENIX Association.
[12]
Antonio Filieri, Carlo Ghezzi, Alberto Leva, and Martina Maggio. Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. ASE, pages 283–292. IEEE CS, 2011.
[13]
Antonio Filieri, Carlo Ghezzi, and Giordano Tamburrelli. Run-time efficient probabilistic model checking. In Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, pages 341–350, New York, NY, USA, 2011. ACM.
[14]
Antonio Filieri, Lars Grunske, and Alberto Leva. Lightweight adaptive filtering for efficient learning and updating of probabilistic models. In Proceedings of the 37th International Conference on Software Engineering, ICSE 2015, pages 200–211. IEEE, May 2015.
[15]
Antonio Filieri, Henry Hoffmann, and Martina Maggio. Automated design of self-adaptive software with control-theoretical formal guarantees. In Proceedings of the 36th International Conference on Software Engineering, ICSE, pages 299–310, New York, NY, USA, 2014. ACM.
[16]
Antonio Filieri, Henry Hoffmann, and Martina Maggio. Automated multiobjective control for self-adaptive software design. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015, pages 13–24, New York, NY, USA, 2015. ACM.
[17]
Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolas D’Ippolito, Ilias Gerostathopoulos, Andreas Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro Vittorio Papadopoulos, Suprio Ray, Molzam Sharifloo, Amir, Stepan Shevtsov, Mateusz Ujma, and Thomas Vogel. Software Engineering Meets Control Theory. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Firenze, Italy, May 2015.
[18]
Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolás D’ippolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro V. Papadopoulos, Suprio Ray, Amir M. Sharifloo, Stepan Shevtsov, Mateusz Ujma, and Thomas Vogel. Control strategies for self-adaptive software systems. ACM Trans. Auton. Adapt. Syst., 11(4):1–31, February 2017.
[19]
Antonio Filieri, Giordano Tamburrelli, and Carlo Ghezzi. Supporting selfadaptation via quantitative verification and sensitivity analysis at run time. IEEE Transactions on Software Engineering, 42(1):75–99, January 2016.
[20]
H. Ghanbari, M. Litoiu, P. Pawluk, and C. Barna. Replica placement in cloud through simple stochastic model predictive control. In Cloud Computing (CLOUD), 2014 IEEE 7th International Conference on, pages 80–87, June 2014.
[21]
Graham C. Goodwin, Stefan F. Graebe, and Mario E. Salgado. Control System Design. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2000.
[22]
Mark Harman, Yue Jia, William B. Langdon, Justyna Petke, Iman Hemati Moghadam, Shin Yoo, and Fan Wu. Genetic improvement for adaptive software engineering (keynote). SEAMS, pages 1–4. ACM, 2014.
[23]
Joseph L. Hellerstein, Yixin Diao, Sujay Parekh, and Dawn M. Tilbury. Feedback Control of Computing Systems. John Wiley & Sons, 2004.
[24]
Henry Hoffmann. Coadapt: Predictable behavior for accuracy-aware applications running on power-aware systems. In 26th Euromicro Conference on Real-Time Systems, ECRTS 2014, Madrid, Spain, July 8-11, 2014, ECRTS 2014, pages 223–232, Washington, DC, USA. IEEE Computer Society.
[25]
Henry Hoffmann. Jouleguard: energy guarantees for approximate applications. In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP 2015, Monterey, CA, USA, October 4-7, 2015, pages 198–214, 2015.
[26]
Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, and Anant Agarwal. A generalized software framework for accurate and efficient management of performance goals. EMSOFT, pages 1–10. IEEE Press, 2013.
[27]
Connor Imes, David H. K. Kim, Martina Maggio, and Henry Hoffmann. POET: a portable approach to minimizing energy under soft real-time constraints. In 21st IEEE Real-Time and Embedded Technology and Applications Symposium, Seattle, WA, USA, April 13-16, 2015, pages 75–86, 2015.
[28]
J.L. Jerez, P.J. Goulart, S. Richter, G.A. Constantinides, E.C. Kerrigan, and M. Morari. Embedded online optimization for model predictive control at megahertz rates. Automatic Control, IEEE Transactions on, 59(12):3238–3251, Dec 2014.
[29]
Juan L. Jerez, Eric C. Kerrigan, and George A. Constantinides. A sparse and condensed QP formulation for predictive control of LTI systems. Automatica, 48(5):999–1002, 2012.
[30]
Christos Karamanolis, Magnus Karlsson, and Xiaoyun Zhu. Designing controllable computer systems. HOTOS, pages 9–15. USENIX Association, 2005.
[31]
David HK Kim, Connor Imes, and Henry Hoffmann. Racing and pacing to idle: Theoretical and empirical analysis of energy optimization heuristics. In Cyber-Physical Systems, Networks, and Applications (CPSNA), 2015 IEEE 3rd International Conference on, pages 78–85. IEEE, 2015.
[32]
Basil Kouvaritakis and Mark Cannon. Model Predictive Control – Classical, Robust and Stochastic. Springer International Publishing, 2016.
[33]
Jeff Kramer and Jeff Magee. Self-managed systems: An architectural challenge. In 2007 Future of Software Engineering, FOSE, pages 259–268, Washington, DC, USA, 2007. IEEE CS.
[34]
D. Kusic, J.O. Kephart, J.E. Hanson, Nagarajan Kandasamy, and Guofei Jiang. Power and performance management of virtualized computing environments via lookahead control. In Autonomic Computing, 2008. ICAC ’08. International Conference on, June 2008.
[35]
Dara Kusic and Nagarajan Kandasamy. Risk-aware limited lookahead control for dynamic resource provisioning in enterprise computing systems. Cluster Computing, 10(4):395–408, 2007.
[36]
William S Levine. The control handbook. CRC, 1996.
[37]
Lennart Ljung. System Identification: Theory for the User. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1999.
[38]
Chenyang Lu, Ying Lu, Tarek F. Abdelzaher, John A. Stankovic, and Sang Hyuk Son. Feedback control architecture and design methodology for service delay guarantees in web servers. IEEE Trans. Parallel Distrib. Syst., 17(9):1014–1027, 2006.
[39]
J.M. Maciejowski. Predictive Control: With Constraints. Prentice Hall, 2002.
[40]
M. Maggio, H. Hoffmann, M.D. Santambrogio, A Agarwal, and A Leva. Controlling software applications via resource allocation within the heartbeats framework. CDC, pages 3736–3741. IEEE, 2010.
[41]
M. Maggio, H. Hoffmann, M.D. Santambrogio, A. Agarwal, and A. Leva. Power optimization in embedded systems via feedback control of resource allocation. IEEE Trans. Control Syst. Technol., 21(1):239–246, 2013.
[42]
Martina Maggio, Alessandro Vittorio Papadopoulos, Antonio Filieri, and Henry Hoffmann. Self-adaptive video encoder: Comparison of multiple adaptation strategies made simple. In Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’17, pages 123–128, Piscataway, NJ, USA, 2017. IEEE Press.
[43]
Martina Maggio, Alessandro Vittorio Papadopoulos, Antonio Filieri, and Henry Hoffmann. Self-Adaptive Video Encoder: Comparison of Multiple Adaptation Strategies Made Simple (Artifact). Dagstuhl Artifacts Series, 3(1):2:1–2:3, 2017.
[44]
Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. Proactive self-adaptation under uncertainty: A probabilistic model checking approach. In Proceedings of Foundations of Software Engineering, ESEC/FSE 2015, pages 1–12, New York, NY, USA, 2015. ACM.
[45]
Simon Oberthür, Carsten Böke, and Björn Griese. Dynamic online reconfiguration for customizable and self-optimizing operating systems. EMSOFT. ACM, 2005.
[46]
T. Patikirikorala, A Colman, J. Han, and Liuping Wang. A systematic survey on the design of self-adaptive software systems using control engineering approaches. In Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 2012 ICSE Workshop on, SEAMS, pages 33–42, June 2012.
[47]
Raghavendra Pothukuchi, Amin Ansari, Petros Voulgaris, and Josep Torrellas. ESEC/FSE’17, September 4–8, 2017, Paderborn, Germany M. Maggio, A.V. Papadopoulos, A. Filieri, H. Hoffmann Using multiple input, multiple output formal control to maximize resource efficiency in architectures. 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), 00:658–670, 2016.
[48]
S. Richter, C. N. Jones, and M. Morari. Computational complexity certification for real-time mpc with input constraints based on the fast gradient method. IEEE Transactions on Automatic Control, 57(6):1391–1403, June 2012.
[49]
Mazeiar Salehie and Ladan Tahvildari. Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst., 4(2), May 2009.
[50]
Stepan Shevtsov and Danny Weyns. Keep it simplex: Satisfying multiple goals with guarantees in control-based self-adaptive systems. In Proceedings of the 2016 11th Joint Meeting on Foundations of Software Engineering, FSE 2016, 2016.
[51]
Sebastian Uchitel, Victor A. Braberman, and Nicolas D’Ippolito. Runtime controller synthesis for self-adaptation: Be discrete! In Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’16, pages 1–3, New York, NY, USA, 2016. ACM.
[52]
G. van der Veen, J.-W. van Wingerden, M. Bergamasco, M. Lovera, and M. Verhaegen. Closed-loop subspace identification methods: an overview. Control Theory Applications, IET, 7(10), July 2013.
[53]
Michel Verhaegen and Vincent Verdult. Filtering and System Identification: A Least Squares Approach. Cambridge University Press, New York, NY, USA, 2012.
[54]
Lixi Wang, Jing Xu, H.A. Duran-Limon, and Ming Zhao. Qos-driven cloud resource management through fuzzy model predictive control. In Autonomic Computing (ICAC), 2015 IEEE International Conference on, pages 81–90, July 2015.
[55]
Yang Wang and S. Boyd. Fast model predictive control using online optimization. Control Systems Technology, IEEE Transactions on, 18(2), March 2010.
[56]
Zhou Wang, A.C. Bovik, H.R. Sheikh, and E.P. Simoncelli. Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4):600–612, 2004.
[57]
Danny Weyns, M. Usman Iftikhar, Didac Gil de la Iglesia, and Tanvir Ahmad. A survey of formal methods in self-adaptive systems. C3S2E, pages 67–79, 2012.
[58]
Chu-Pan Wong, Christian Kästner, Thomas Thüm, and Gunter Saake. On essential configuration complexity: Measuring interactions in highly-configurable systems jens meinicke. ASE. IEEE CS, 2016.
[59]
Eric Yuan, Naeem Esfahani, and Sam Malek. A systematic survey of selfprotecting software systems. ACM Trans. Auton. Adapt. Syst., 8(4), 2014.
[60]
Melanie N. Zeilinger, Davide M. Raimondo, Alexander Domahidi, Manfred Morari, and Colin N. Jones. On real-time robust model predictive control. Automatica, 50(3):683–694, 2014.
[61]
Qi Zhang, Quanyan Zhu, M.F. Zhani, and R. Boutaba. Dynamic service placement in geographically distributed clouds. In Distributed Computing Systems (ICDCS), 2012 IEEE 32nd International Conference on, pages 526–535, June 2012.

Cited By

View all
  • (2024)Active Monitoring Mechanism for Control-Based Self-Adaptive SystemsProceedings of the ACM on Software Engineering10.1145/36607891:FSE(1841-1864)Online publication date: 12-Jul-2024
  • (2024)Reliable proactive adaptation via prediction fusion and extended stochastic model predictive controlJournal of Systems and Software10.1016/j.jss.2024.112166217:COnline publication date: 1-Nov-2024
  • (2023)Enhancing Cyber-Resilience in Self-Healing Cyber-Physical Systems with Implicit Guarantees2023 IEEE International Conference on Cyber Security and Resilience (CSR)10.1109/CSR57506.2023.10224943(359-366)Online publication date: 31-Jul-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
August 2017
1073 pages
ISBN:9781450351058
DOI:10.1145/3106237
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Adaptive Software
  2. Control Theory
  3. Dynamic Systems
  4. Non-Functional Requirements

Qualifiers

  • Research-article

Funding Sources

Conference

ESEC/FSE'17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)2
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Active Monitoring Mechanism for Control-Based Self-Adaptive SystemsProceedings of the ACM on Software Engineering10.1145/36607891:FSE(1841-1864)Online publication date: 12-Jul-2024
  • (2024)Reliable proactive adaptation via prediction fusion and extended stochastic model predictive controlJournal of Systems and Software10.1016/j.jss.2024.112166217:COnline publication date: 1-Nov-2024
  • (2023)Enhancing Cyber-Resilience in Self-Healing Cyber-Physical Systems with Implicit Guarantees2023 IEEE International Conference on Cyber Security and Resilience (CSR)10.1109/CSR57506.2023.10224943(359-366)Online publication date: 31-Jul-2023
  • (2022)GOAL: Supporting General and Dynamic Adaptation in Computing SystemsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3567655(16-32)Online publication date: 29-Nov-2022
  • (2022)AgileCtrl: a self-adaptive framework for configuration tuningProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549136(459-471)Online publication date: 7-Nov-2022
  • (2022)Testing Self-Adaptive Software With Probabilistic Guarantees on Performance Metrics: Extended and Comparative ResultsIEEE Transactions on Software Engineering10.1109/TSE.2021.310113048:9(3554-3572)Online publication date: 1-Sep-2022
  • (2022)Lifelong Dynamic Optimization for Self-Adaptive Systems: Fact or Fiction?2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00022(78-89)Online publication date: Mar-2022
  • (2022)Designing Self-Adaptive Software Systems with Control Theory: An Overview2022 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOSC56246.2022.00027(51-52)Online publication date: Sep-2022
  • (2022)Online adaptation for autonomous unmanned systems driven by requirements satisfaction modelSoftware and Systems Modeling10.1007/s10270-022-00981-721:4(1295-1319)Online publication date: 22-Feb-2022
  • (2022)Decision-making under uncertainty: be aware of your prioritiesSoftware and Systems Modeling10.1007/s10270-021-00956-021:6(2213-2242)Online publication date: 25-Jan-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media