Skip to main content

What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems?

  • Conference paper
  • First Online:
Software Engineering for Self-Adaptive Systems III. Assurances

Abstract

Self-adaptive software (SAS) systems monitor their own behavior and autonomously make dynamic adjustments to maintain desired properties in response to changes in the systems’ operational contexts. Control theory provides verifiable feedback models to realize this kind of autonomous control for a broad class of systems for which precise quantitative or logical discrete models can be defined. Recent MAPE-K models, along with variants such as the hierarchical ACRA, address a broader range of tasks. However, they do not provide the inherent assurance mechanisms that control theory does, as they do not explicitly identify and establish the properties that reliable controllers should have. These properties, in general, result not from the abstract models, but from the specifics of control strategies, which are precisely what these models fail to analyze. We show that, even for systems too complex for direct application of classical control theory, the abstractions of control theory provide design guidance that identifies important control characteristics and raises critical design issues about the details of the strategy that determine the controllability of the resulting systems. This in turn enables careful reasoning about whether the control characteristics are in fact achieved. In this chapter we examine the control theory approach, explain several control strategies illustrated with examples from both domains, classical control theory and SAS, and show how the issues addressed by these strategies can and should be seriously considered for the assurance of self-adaptive software systems. From this examination we distill challenges for developing principles that may serve as the basis of a control theory for the assurance of self-adaptive software systems.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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.

    If appropriate, the process P can be described by a model and the controller C might use that model to determine changes of u.

  2. 2.

    In many cases the models include explicitly the modelling and measurement noise; to keep the presentation simple, in this chapter we do not represent noise explicitly.

  3. 3.

    Here we assume a time invariant case, but those values can depend on time as well.

  4. 4.

    To stay closer to the continuous case, we consider here the case of a discrete controller with an own state space distinct from the state space of the controller process that is more general than the supervisory control approach.

  5. 5.

    https://www.grid5000.fr.

  6. 6.

    We often describe “self-adaptation” in terms of strategic changes to maintain the system behavior as close as possible to the reference value. Note that a system can also self-adapt by changing the control discipline (adaptive control). This is another reason to make explicit design decisions about the control strategy.

  7. 7.

    http://www.wolframalpha.com

  8. 8.

    Hadoop does not support the addition of processing nodes that have not been considered during initial deployment.

  9. 9.

    https://www.ecobee.com

References

  1. 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 

  2. AlBahnassi, W., Mudur, S.P., Goswami, D.: A design pattern for parallel programming of games. In: 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), pp. 1007–1014. IEEE (2012)

    Google Scholar 

  3. Arcelli, D., Cortellessa, V., Filieri, A., Leva, A.: Control theory for model-based performance-driven software adaptation. In: Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures, pp. 11–20. ACM (2015)

    Google Scholar 

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

    Google Scholar 

  5. Åström, K., Wittenmark, B.: Adaptive Control. Addison-Wesley series in Electrical Engineering: Control Engineering. Addison-Wesley, Reading (1995)

    Google Scholar 

  6. Aubin, J.P., Bayen, A.M., Saint-Pierre, P.: Viability Theory: New Firections. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-16684-6

    Book  MATH  Google Scholar 

  7. Babaoglu, O., Canright, G., Deutsch, A., Caro, G.A.D., Ducatelle, F., Gambardella, L.M., Ganguly, N., Jelasity, M., Montemanni, R., Montresor, A., et al.: Design patterns from biology for distributed computing. ACM Trans. Auton. Adapt. Syst. (TAAS) 1(1), 26–66 (2006)

    Article  Google Scholar 

  8. Balzer, B., Litoiu, M., Müller, H., Smith, D., Storey, M.A., Tilley, S., Wong, K.: 4th International Workshop on Adoption-Centric Software Engineering. In: Proceedings of the 26th International Conference on Software Engineering, ICSE 2004, pp. 748–749. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  9. Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Saar, Y.: Synthesis of reactive (1) designs. J. Comput. Syst. Sci. 78(3), 911–938 (2012)

    Google Scholar 

  10. Braberman, V., D’Ippolito, N., Kramer, J., Sykes, D., Uchitel, S.: MORPH: a reference architecture for configuration and behaviour self-adaptation. In: Proceedings of the 1st International Workshop on Control Theory for Software Engineering, CTSE 2015, pp. 9–16. ACM, New York (2015)

    Google Scholar 

  11. Bronstein, M.: Integration of elementary functions. J. Symbolic Comput. 9(2), 117–173 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  12. Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_3

    Chapter  Google Scholar 

  13. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-oriented Software Architecture: A System of Patterns. Wiley, New York (1996)

    Google Scholar 

  14. Cassandras, C., Lafortune, S.: Introduction to Discrete Event Systems. Springer, New York (2008). https://doi.org/10.1007/978-0-387-68612-7

    Book  MATH  Google Scholar 

  15. Checiu, L., Solomon, B., Ionescu, D., Litoiu, M., Iszlai, G.: Observability and controllability of autonomic computing systems for composed web services. In: Proceedings of the 2011 6th IEEE International Symposium on Applied Computational Intelligence and Informatics (SACI), pp. 269–274. IEEE (2011)

    Google Scholar 

  16. Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_1

    Chapter  Google Scholar 

  17. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  18. Dahm, W.: Technology Horizons a Vision for Air Force Science & Technology During 2010–2030. Tech. rep., U.S. Air Force (2010), http://www.af.mil/information/technologyhorizons.asp

  19. Delaval, G., Gueye, S.M.K., Rutten, E., De Palma, N.: Modular coordination of multiple autonomic managers. In: Proceedings of the 17th International ACM Sigsoft Symposium on Component-Based Software Engineering, CBSE 2014, pp. 3–12. ACM, New York (2014)

    Google Scholar 

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

    Google Scholar 

  21. D’Ippolito, N., Braberman, V., Kramer, J., Magee, J., Sykes, D., Uchitel, S.: 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, pp. 688–699. ACM, New York (2014)

    Google Scholar 

  22. D’Ippolito, N., Braberman, V., Piterman, N., Uchitel, S.: Synthesizing nonanomalous event-based controllers for liveness goals. ACM Trans. Software Eng. Methodol. 22(1), 9:1–9:36 (2013)

    Google Scholar 

  23. Elkhodary, A., Esfahani, N., Malek, S.: FUSION: a framework for engineering self-tuning self-adaptive software systems. In: Proceedings of 18th ACM International Symposium on Foundations of Software Engineering, FSE 2010, pp. 7–16. ACM (2010)

    Google Scholar 

  24. 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, pp. 299–310. ACM (2014)

    Google Scholar 

  25. Filieri, A., Maggio, M., Angelopoulos, K., D’Ippolito, N., Gerostathopoulos, I., Hempel, A.B., Hoffmann, H., Jamshidi, P., Kalyvianaki, E., Klein, C., Krikava, F., Misailovic, S., Papadopoulos, A.V., Ray, S., Sharifloo, A.M., Shevtsov, S., Ujma, M., Vogel, T.: Software engineering meets control theory. In: Proceedings of 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2015), pp. 71–82. IEEE Press (2015)

    Google Scholar 

  26. Gergin, I., Simmons, B., Litoiu, M.: A decentralized autonomic architecture for performance control in the cloud. In: 2014 IEEE International Conference on Cloud Engineering (IC2E), pp. 574–579. IEEE (2014)

    Google Scholar 

  27. Ghanbari, H., Litoiu, M., Pawluk, P., Barna, C.: Replica placement in cloud through simple stochastic model predictive control. In: Proceedings of the 2014 IEEE 7th International Conference on Cloud Computing (CLOUD), pp. 80–87. IEEE (2014)

    Google Scholar 

  28. Ghanbari, H., Simmons, B., Litoiu, M., Iszlai, G.: Feedback-based optimization of a private cloud. Future Gener. Comput. Syst. 28(1), 104–111 (2012)

    Article  Google Scholar 

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

    Book  Google Scholar 

  30. IBM Corporation: An Architectural Blueprint for Autonomic Computing, Technical report, IBM Corporation (2006)

    Google Scholar 

  31. Janert, P.K.: Feedback Control for Computer Systems. O’Reilly Media Inc., Sebastopol (2013)

    Google Scholar 

  32. Kalyvianaki, E., Charalambous, T., Hand, S.: Self-adaptive and self-configured CPU resource provisioning for virtualized servers using kalman filters. In: Proceedings of the 6th International Conference on Autonomic Computing, pp. 117–126. ACM (2009)

    Google Scholar 

  33. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)

    Article  Google Scholar 

  34. Kramer, J., Magee, J.: Self-Managed systems: an architectural challenge. In: FOSE 2007: 2007 Future of Software Engineering, pp. 259–268. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  35. Kusic, D., Kephart, J.O., Hanson, J.E., Kandasamy, N., Jiang, G.: Power and performance management of virtualized computing environments via lookahead control. Cluster Comput. 12(1), 1–15 (2009)

    Article  Google Scholar 

  36. Laddaga, R.: Guest Editor’s introduction: creating robust software through self-adaptation. IEEE Intell. Syst. 14(3), 26–29 (1999)

    Article  Google Scholar 

  37. Laddaga, R.: Active software. In: Robertson, P., Shrobe, H., Laddaga, R. (eds.) IWSAS 2000. LNCS, vol. 1936, pp. 11–26. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44584-6_2

    Chapter  Google Scholar 

  38. 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. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_1

    Chapter  Google Scholar 

  39. Lennart, L.: Perspectives on system identification. Annu. Rev. Control 34(1), 1–12 (2010)

    Article  Google Scholar 

  40. Mattson, T., Sanders, B., Massingill, B.: Patterns for Parallel Programming, 1st edn. Addison-Wesley Professional, Reading (2004)

    Google Scholar 

  41. Müller, H., Pezzè, M., Shaw, M.: Visibility of control in adaptive systems. In: Proceedings of the 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems, pp. 23–26. ACM (2008)

    Google Scholar 

  42. Müller, H., Villegas, N.: Runtime evolution of highly dynamic software. In: Mens, T., Serebrenik, A., Cleve, A. (eds.) Evolving Software Systems. LNCS, pp. 229–264. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-45398-4_8

    Chapter  Google Scholar 

  43. Murray, R.M.: Control in an Information Rich World: Report of the Panel on Future Directions in Control, Dynamics, and Systems. SIAM, Philadelphia (2003)

    Book  MATH  Google Scholar 

  44. Northrop, L., Feiler, P., Gabriel, R., Goodenough, J., Longstaff, T., Kazman, R., Klein, M., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-Large-Scale Systems-The Software Challenge of the Future. Technical report, Carnegie Mellon University Software Engineering Institute (2006), http://www.sei.cmu.edu/uls

  45. Oreizy, P., Medvidovic, N., Taylor, R.N.: Runtime software adaptation: framework, approaches, and styles. In: Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), pp. 899–910 (2008)

    Google Scholar 

  46. Patikirikorala, T., Colman, A., Han, J., Wang, L.: A systematic survey on the design of self-adaptive software systems using control engineering approaches. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2012), pp. 33–42. IEEE Press (2012)

    Google Scholar 

  47. Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206–230 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  48. Rutten, E., Marchand, N., Simon, D.: Feedback control as MAPE-K loop in autonomic computing. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds.) Self-Adaptive Systems III. LNCS, vol. 9640, pp. 349–373. Springer, Cham (2016)

    Google Scholar 

  49. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4, 14:1–14:42 (2009)

    Article  Google Scholar 

  50. Shannon, C.: Communication in the presence of noise. Proc. IEEE 86(2), 447–457 (1998)

    Article  Google Scholar 

  51. Cowpertwait, Paul S.P., Metcalfe, Andrew V.: System Identification. In: Introductory Time Series with R. UR, pp. 201–209. Springer, New York (2009). https://doi.org/10.1007/978-0-387-88698-5_10

    Chapter  Google Scholar 

  52. Solomon, B., Ionescu, D., Litoiu, M., Iszlai, G.: Autonomic computing control of composed web services. In: Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010), pp. 94–103. ACM (2010)

    Google Scholar 

  53. Solomon, B., Ionescu, D., Litoiu, M., Iszlai, G., Prostean, O.: Measurements and identification of autonomic computing processes. In: Proceedings of the 2010 IEEE International Conference on Computational Intelligence for Measurement Systems and Applications (CIMSA), pp. 72–77. IEEE (2010)

    Google Scholar 

  54. Sykes, D., Corapi, D., Magee, J., Kramer, J., Russo, A., Inoue, K.: Learning revised models for planning in adaptive systems. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE 2013, pp. 63–71. IEEE Press, Piscataway (2013)

    Google Scholar 

  55. Tamura, G., Casallas, R., Cleve, A., Duchien, L.: QoS contract preservation through dynamic reconfiguration: a formal semantics approach. Sci. Comput. Program. (SCP) 94(3), 307–332 (2014)

    Article  Google Scholar 

  56. Tamura, G., et al.: Towards practical runtime verification and validation of self-adaptive software systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 108–132. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_5

    Chapter  Google Scholar 

  57. Truex, D.P., Baskerville, R., Klein, H.: Growing systems in emergent organizations. Commun. ACM 42(8), 117–123 (1999)

    Article  Google Scholar 

  58. Villegas, N., Müller, H., Tamura, G., Duchien, L., Casallas, R.: A framework for evaluating quality-driven self-adaptive software systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2011), pp. 80–89. ACM (2011)

    Google Scholar 

  59. Villegas, N.M.: Context Management and Self-Adaptivity for Situation-Aware Smart Software Systems. Ph.D. thesis, University of Victoria (2013)

    Google Scholar 

  60. Villegas, N.M., Tamura, G., Müller, H.A., Duchien, L., Casallas, R.: DYNAMICO: a reference model for governing control objectives and context relevance in self-adaptive software systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 265–293. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_11

    Chapter  Google Scholar 

  61. Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: Proceedings of 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2011), pp. 202–207. ACM (2011)

    Google Scholar 

  62. Wang, Y., Lafortune, S., Kelly, T., Kudlur, M., Mahlke, S.: The Theory of Deadlock Avoidance Via Discrete Control. Principles of Programming Languages. POPL, Savannah, USA, pp. 252–263 (2009)

    Google Scholar 

  63. Weyns, D., et al.: 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. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4

    Chapter  Google Scholar 

  64. Zhang, Q., Zhu, Q., Zhani, M.F., Boutaba, R., Hellerstein, J.L.: Dynamic service placement in geographically distributed clouds. IEEE J. Sel. Areas Commun. 31(12), 762–772 (2013)

    Article  Google Scholar 

  65. Zheng, T., Woodside, M., Litoiu, M.: Performance model estimation and tracking using optimal filters. IEEE Trans. Software Eng. 34(3), 391–406 (2008)

    Article  Google Scholar 

  66. Zheng, T., Yang, J., Woodside, M., Litoiu, M., Iszlai, G.: Tracking time-varying parameters in software systems with extended Kalman filters. In: Proceedings of the 2005 Conference of the Centre for Advanced Studies on Collaborative research (CASCON), pp. 334–345. IBM Press (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Norha M. Villegas .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Litoiu, M. et al. (2017). What Can Control Theory Teach Us About Assurances in Self-Adaptive Software 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. https://doi.org/10.1007/978-3-319-74183-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74183-3_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74182-6

  • Online ISBN: 978-3-319-74183-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics