Skip to main content

Self-Adaptation of Software Using Automatically Generated Control-Theoretical Solutions

  • Chapter
  • First Online:
Book cover Engineering Adaptive Software Systems

Abstract

Control theory has contributed a set of foundational techniques to handle “change” at runtime in software applications. These techniques however have fundamental limitations as well: (i) they require the development and understanding of mathematical models; (ii) synthesizing solutions is often done on a per-problem basis, discouraging flexibility and generality. Software engineering, as a discipline, has always aimed at finding reusable and modular solutions. The combination of the desire to apply formally grounded control-theoretical principles and reuse existing solutions has motivated research on the topic of automatically generated control solutions. This research aims at designing control strategies in an automated way from data that qualifies the given problem at hand. This chapter provides an overview of the research topic of automatically generated control-theoretical solutions, explaining the key research contributions and paving the way for future research.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In this chapter, we restrict ourselves to continuous- and discrete-time control [8, 54]. Discrete event systems are out of our scope.

  2. 2.

    Other model synthesis techniques can be used to produce system model. But historically, automated approaches used system identification as it is fast and approximates software well enough for controllers to work.

References

  1. Abdelwahed, S., Kandasamy, N., Neema, S.: Online control for self-management in computing systems. In: Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, Toronto, pp. 368–375 (2004)

    Google Scholar 

  2. Abdelzaher, T.F., Shin, K.G., Bhatti, N.: Performance guarantees for web server end-systems: a control-theoretical approach. IEEE Trans. Parallel Distrib. Syst. 13(1), 80–96 (2002)

    Article  Google Scholar 

  3. Abdelzaher, T., Stankovic, J., Lu, C., Zhang, R., Lu, Y.: Feedback performance control in software services. IEEE Control Syst. 23(3), 74–90 (2003)

    Article  Google Scholar 

  4. Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems, pp. 27–47. Springer Berlin/Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_2

    Chapter  Google Scholar 

  5. Angelopoulos, K., Papadopoulos, A.V., Mylopoulos, J.: Adaptive predictive control for software systems. In: Proceedings of the 1st International Workshop on Control Theory for Software Engineering, CTSE 2015, Bergamo, pp. 17–21. ACM (2015)

    Google Scholar 

  6. Angelopoulos, K., Souza, V.E.S., Mylopoulos, J.: Capturing variability in adaptation spaces: a three-peaks approach. In: Johannesson, P., Lee, M.L., Liddle, S.W., Opdahl, A.L., Pastor López, Ó. (eds.) Proceedings of Conceptual Modeling: 34th International Conference, ER 2015, Stockholm, 19–22 Oct 2015, pp. 384–398. Springer International Publishing, Cham (2015). https://doi.org/10.1007/978-3-319-25264-3_28

    Chapter  Google Scholar 

  7. Angelopoulos, K., Papadopoulos, A.V., Silva Souza, V.E., Mylopoulos, J.: 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, Austin, pp. 35–46. ACM, New York (2016). https://doi.org/10.1145/2897053.2897054

  8. Åström, K.J., Murray, R.M.: Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press, Princeton (2008)

    Google Scholar 

  9. Babu, S.: Towards automatic optimization of mapreduce programs. In: SoCC, pp. 137–142. ACM, New York (2010)

    Google Scholar 

  10. Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. Lect. Notes Comput. Sci. 5525, 48–70 (2009)

    Article  Google Scholar 

  11. Brun, Y., Desmarais, R., Geihs, K., Litoiu, M., Lopes, A., Shaw, M., Smit, M.: A design space for self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II: International Seminar, Dagstuhl Castle, 24–29 Oct 2010 Revised Selected and Invited Papers, pp. 33–50. Springer, Berlin/Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_2

    Chapter  Google Scholar 

  12. Cai, K.Y., Cangussu, J., DeCarlo, R.A., Mathur, A.: An overview of software cybernetics. In: Eleventh Annual International Workshop on Software Technology and Engineering Practice, Amsterdam, pp. 77–86 (2003)

    Google Scholar 

  13. Campi, M.C., Savaresi, S.M.: Direct nonlinear control design: the virtual reference feedback tuning (VRFT) approach. IEEE Trans. Autom. Control 51(1), 14–27 (2006)

    Article  MATH  Google Scholar 

  14. Cangussu, J.A.W., Cooper, K., Li, C.: A control theory based framework for dynamic adaptable systems. In: Proceedings of the 2004 ACM Symposium on Applied Computing SAC ’04, Nicosia, pp. 1546–1553. ACM, New York (2004). https://doi.org/10.1145/967900.968209

  15. Cheng, B.H., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C. (eds.) Software Engineering for Self-Adaptive Systems, LNCS, vol. 5525. Springer, Berlin/New York (2009)

    Chapter  Google Scholar 

  16. Dantzig, G.B., Thapa, M.N.: Linear Programming 1: Introduction. Springer, New York (1997)

    MATH  Google Scholar 

  17. de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475. Springer, Berlin/Heidelberg (2013)

    Google Scholar 

  18. de Lemos, R., Garlan, D., Giese, H.: Software Engineering for Self-Adaptive Systems: Assurances, Dagstuhl Seminar 13511 (2013)

    Book  Google Scholar 

  19. Desmeurs, D., Klein, C., Papadopoulos, A., Tordsson, J.: Event-driven application brownout: reconciling high utilization and low tail response times. In: 2015 International Conference on Cloud and Autonomic Computing (ICCAC), Cambridge, pp. 1–12 (2015)

    Google Scholar 

  20. Diao, Y., Gandhi, N., Hellerstein, J., Parekh, S., Tilbury, D.: Using MIMO feedback control to enforce policies for interrelated metrics with application to the apache web server. In: NOMS 2002. 2002 IEEE/IFIP Network Operations and Management Symposium, Florence, pp. 219–234 (2002)

    Google Scholar 

  21. Durango, J., Dellkrantz, M., Maggio, M., Klein, C., Papadopoulos, A., Hernandez-Rodriguez, F., Elmroth, E., Arzen, K.E.: Control-theoretical load-balancing for cloud applications with brownout. In: 2014 IEEE 53rd Annual Conference on Decision and Control (CDC), Los Angeles, pp. 5320–5327 (2014)

    Google Scholar 

  22. Filieri, A., Hoffmann, H., Maggio, M.: Automated design of self-adaptive software with control-theoretical formal guarantees. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, Hyderabad, pp. 299–310. ACM (2014)

    Google Scholar 

  23. Filieri, A., Hoffmann, H., Maggio, M.: Automated multi-objective control for self-adaptive software design. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015, Bergamo, pp. 13–24. ACM, New York (2015). https://doi.org/10.1145/2786805.2786833

  24. Filieri, A., Maggio, M., Angelopoulos, K., D’Ippolito, N., Gerostathopoulos, I., Hempel, A., Hoffmann, H., Jamshidi, P., Kalyvianaki, E., Klein, C., Krikava, F., Misailovic, S., Papadopoulos, Alessandro, V., Ray, S., Sharifloo, Amir, M., Shevtsov, S., Ujma, M., Vogel, T.: Software engineering meets control theory. In: Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Florence (2015). https://hal.inria.fr/hal-01119461

  25. Fliess, M., Join, C.: Model-free control. Int. J. Control. 86(12), 2228–2252 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  26. Hellerstein, J.L., Diao, Y., Parekh, S., Tilbury, D.M.: Feedback Control of Computing Systems. Wiley, New York (2004)

    Book  Google Scholar 

  27. Herodotou, H., Babu, S.: Profiling, what-if analysis, and cost-based optimization of mapreduce programs. PVLDB 4(11), 1111–1122 (2011)

    Google Scholar 

  28. Hoffmann, H., Eastep, J., Santambrogio, M.D., Miller, J.E., Agarwal, A.: Application heartbeats: A generic interface for specifying program performance and goals in autonomous computing environments. In: Proceedings of the 7th International Conference on Autonomic Computing, ICAC ’10, Reston, pp. 79–88. ACM, New York (2010). https://doi.org/10.1145/1809049.1809065

  29. Hou, Z., Jin, S.: Data-driven model-free adaptive control for a class of MIMO nonlinear discrete-time systems. IEEE Trans. Neural Netw. 22(12), 2173–2188 (2011)

    Article  Google Scholar 

  30. Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  31. Kihl, M., Robertsson, A., Wittenmark, B.: Performance modelling and control of server systems using non-linear control theory. In: J. Charzinski, R.L., Tran-Gia, P. (eds.) Providing Quality of Service in Heterogeneous Environments Proceedings of the 18th International Teletraffic Congress – ITC-18, Teletraffic Science and Engineering, vol. 5, pp. 1151–1160. Elsevier (2003). http://www.sciencedirect.com/science/article/pii/S1388343703802640

  32. Klein, C., Papadopoulos, A., Dellkrantz, M., Durango, J., Maggio, M., Arzen, K.E., Hernandez-Rodriguez, F., Elmroth, E.: Improving cloud service resilience using brownout-aware load-balancing. In: 2014 IEEE 33rd International Symposium on Reliable Distributed Systems (SRDS), Nara, pp. 31–40 (2014)

    Google Scholar 

  33. Klein, C., Maggio, M., Årzén, K.E., Hernández-Rodriguez, F.: Brownout: building more robust cloud applications. In: Proceedings of the 36th International Conference on Software Engineering, Hyderabad, pp. 700–711. ICSE 2014. ACM (2014)

    Google Scholar 

  34. Ljung, L.: System Identification: Theory for the User. Prentice-Hall, Inc., Upper Saddle River (1986)

    MATH  Google Scholar 

  35. Maggio, M., Klein, C., Årzén, K.E.: Control strategies for predictable brownouts in cloud computing. In: IFAC Proceedings Volumes, vol. 47, pp. 689–694 (2014)

    Google Scholar 

  36. Maggio, M., Papadopoulos, A.V., Filieri, A., Hoffmann, H.: Automated control of multiple software goals using multiple actuators. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. ESEC/FSE 2017, Paderborn, pp. 373–384. ACM, New York (2017). https://doi.org/10.1145/3106237.3106247

  37. Mars, J., Tang, L., Hundt, R., Skadron, K., Soffa, M.L.: Bubble-up: increasing utilization in modern warehouse scale computers via sensible co-locations. In: Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO-44, Porto Alegre, pp. 248–259. ACM, New York (2011). https://doi.org/10.1145/2155620.2155650

  38. Moreno, G.A., Cámara, J., Garlan, D., Schmerl, B.: Proactive self-adaptation under uncertainty: a probabilistic model checking approach. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ESEC/FSE 2015, Bergamo, pp. 1–12. ACM, New York (2015). https://doi.org/10.1145/2786805.2786853

  39. Moreno, G.A., Cámara, J., Garlan, D., Schmerl, B.: Efficient decision-making under uncertainty for proactive self-adaptation. In: 2016 IEEE International Conference on Autonomic Computing (ICAC), Würzburg, pp. 147–156. IEEE (2016)

    Google Scholar 

  40. Moreno, G.A., Papadopoulos, A.V., Angelopoulos, K., Cámara, J., Schmerl, B.: Comparing model-based predictive approaches to self-adaptation: CobRA and PLA. In: Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. SEAMS ’17, Buenos Aires, pp. 42–53. IEEE Press, Piscataway (2017). https://doi.org/10.1109/SEAMS.2017.2

  41. Oreizy, P., Medvidovic, N., Taylor, R.N.: Runtime software adaptation: framework, approaches, and styles. In: Companion of the 30th International Conference on Software Engineering. ICSE Companion ’08, Leipzig, pp. 899–910. ACM, New York (2008). https://doi.org/10.1145/1370175.1370181

  42. Rizvandi, N., Taheri, J., Zomaya, A.: On using pattern matching algorithms in mapreduce applications. In: ISPA, pp. 75–80 (2011)

    Google Scholar 

  43. Sayyad, A.S., Menzies, T., Ammar, H.: On the value of user preferences in search-based software engineering: a case study in software product lines. In: Proceedings of the 2013 International Conference on Software Engineering. ICSE ’13, San Francisco, pp. 492–501. IEEE Press, Piscataway (2013). http://dl.acm.org/citation.cfm?id=2486788.2486853

  44. Schwarzkopf, M., Konwinski, A., Abd-El-Malek, M., Wilkes, J.: Omega: flexible, scalable schedulers for large compute clusters. In: Proceedings of the 8th ACM European Conference on Computer Systems. EuroSys ’13, Prague, pp. 351–364. ACM, New York (2013). https://doi.org/10.1145/2465351.2465386

  45. Shevtsov, S., Weyns, D.: Keep it simplex: satisfying multiple goals with guarantees in control-based self-adaptive systems. In: 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering. FSE 2016, Seattle (2016)

    Google Scholar 

  46. Shevtsov, S., Iftikhar, M.U., Weyns, D.: 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, CTSE 2015, Bergamo, pp. 1–8. ACM, New York (2015). https://doi.org/10.1145/2804337.2804338

  47. Shevtsov, S., Berekmeri, M., Weyns, D., Maggio, M.: Control-theoretical software adaptation: a systematic literature review. IEEE Trans. Softw. Eng. 44(8), 784–810 (2018)

    Article  Google Scholar 

  48. Shevtsov, S., Weyns, D., Maggio, M.: 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, Buenos Aires, pp. 12–23. IEEE Press, Piscataway (2017). https://doi.org/10.1109/SEAMS.2017.3

  49. Silva Souza, V.E., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. SEAMS ’11, Waikiki, pp. 60–69. ACM, New York (2011). https://doi.org/10.1145/1988008.1988018

  50. Souza, V.E.S., Lapouchnian, A., Mylopoulos, J.: (Requirement) evolution requirements for adaptive systems. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. SEAMS ’12, Zurich, pp. 155–164. IEEE Press, Piscataway (2012). http://dl.acm.org/citation.cfm?id=2666795.2666820

  51. Weyns, D.: Software engineering of self-adaptive systems: an organised tour and future challenges. In: Cha, S., Taylor, R.N., Kang, K.C. (eds.) Handbook of Software Engineering. Springer, Cham (2018)

    Google Scholar 

  52. Weyns, D., Schmerl, B., Grassi, V., Malek, S., Mirandola, R., Prehofer, C., Wuttke, J., Andersson, J., Giese, H., Göschka, K.M.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II: International Seminar, Dagstuhl Castle, 24–29 Oct 2010 Revised Selected and Invited Papers, pp. 76–107. Springer, Berlin/Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4

    Chapter  Google Scholar 

  53. Weyns, D., Bencomo, N., Calinescu, R., Camara, J., Ghezzi, C., Grassi, V., Grunske, L., Inverardi, P., Jezequel, J.M., Malek, S., Mirandola, R., Mori, M., Tamburrelli, G.: Perpetual assurances for self-adaptive systems. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds.) Software Engineering for Self-Adaptive Systems III: Assurances, Lecture Notes in Computer Science, vol. 9640. Springer, Cham (2017)

    Google Scholar 

  54. Wittenmark, B., Åström, K., Årzén, K.E.: Computer control: an overview. Technical report (2002)

    Google Scholar 

  55. Zhu, X., Wang, Z., Singhal, S.: Utility-driven workload management using nested control design. In: American Control Conference, Minneapolis, p. 6 (2006)

    Google Scholar 

  56. Zhu, X., Uysal, M., Wang, Z., Singhal, S., Merchant, A., Padala, P., Shin, K.: What does control theory bring to systems research? SIGOPS Oper. Syst. Rev. 43(1), 62–69 (2009). https://doi.org/10.1145/1496909.1496922

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stepan Shevtsov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Shevtsov, S., Weyns, D., Maggio, M. (2019). Self-Adaptation of Software Using Automatically Generated Control-Theoretical Solutions. In: Yu, Y., et al. Engineering Adaptive Software Systems. Springer, Singapore. https://doi.org/10.1007/978-981-13-2185-6_2

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-2185-6_2

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-2184-9

  • Online ISBN: 978-981-13-2185-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics