Advertisement

Feedback Control as MAPE-K Loop in Autonomic Computing

  • Eric Rutten
  • Nicolas Marchand
  • Daniel Simon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9640)

Abstract

Computing systems are becoming more and more dynamically reconfigurable or adaptive, to be flexible w.r.t. their environment and to automate their administration. Autonomic computing proposes a general structure of feedback loop to take this into account. In this paper, we are particularly interested in approaches where this feedback loop is considered as a case of control loop where techniques stemming from Control Theory can be used to design efficient safe, and predictable controllers. This approach is emerging, with separate and dispersed effort, in different areas of the field of reconfigurable or adaptive computing, at software or architecture level. This paper surveys these approaches from the point of view of control theory techniques, continuous and discrete (supervisory), in their application to the feedback control of computing systems, and proposes detailed interpretations of feedback control loops as MAPE-K loop, illustrated with case studies.

Keywords

Autonomic managers Administration loops Control theory 

References

  1. 1.
    Abdelzaher, T.: Research challenges in feedback computing: an interdisciplinary agenda. In: 8th International Workshop on Feedback Computing, San Jose, California (2013)Google Scholar
  2. 2.
    Aboubekr, A.S., Gwenaël, D., Pissard-Gibollet, R., Rutten, É., Simon, D.: Automatic generation of discrete handlers of real-time continuous control tasks. In: IFAC World Congress 2011, Milano, Italie, August 2011Google Scholar
  3. 3.
    Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)CrossRefMATHGoogle Scholar
  4. 4.
    Akesson, K.: Supremica. http://www.supremica.org/
  5. 5.
    Albus, J.S., Barbera, A.J., Nagel, R.N.: Theory and practice of hierarchical control. National Bureau of Standards (1980)Google Scholar
  6. 6.
    Altisen, K., Clodic, A., Maraninchi, F., Rutten, E.: Using controller-synthesis techniques to build property-enforcing layers. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 174–188. Springer, Heidelberg (2003).  https://doi.org/10.1007/3-540-36575-3_13 CrossRefGoogle Scholar
  7. 7.
    Årzén, K.-E., Robertsson, A., Henriksson, D., Johansson, M., Hjalmarsson, H., Johansson, K.H.: Conclusions of the ARTIST2 roadmap on control of computing systems. ACM SIGBED (Special Interest Group on Embedded Systems) Rev. 3(3), 11–20 (2006)Google Scholar
  8. 8.
    Åström, K.J., Murray, R.M.: Feedback Systems: An Introduction for Scientists and Engineers, 2nd edn. Princeton University Press, Princeton (2015). http://www.cds.caltech.edu/~murray/amwiki/index.php/Main_Page
  9. 9.
    Åström, K.J., Wittenmark, B.: Computer-Controlled Systems. Information and System Sciences Series, 3rd edn. Prentice Hall, Upper Saddle River (1997)Google Scholar
  10. 10.
    Auer, A., Dingel, J., Rudie, K.: Concurrency control generation for dynamic threads using discrete-event systems. In: 2009 47th Annual Allerton Conference on Communication, Control, and Computing, Allerton 2009, 30 September–2 October 2009, pp. 927–934 (2009)Google Scholar
  11. 11.
    Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages twelve years later. Proc. IEEE 91(1), 64–83 (2003). Special issue on embedded systemsCrossRefGoogle Scholar
  12. 12.
    Berthier, N., Marchand, H.: Discrete controller synthesis for infinite state systems with ReaX. In: 12th International Workshop on Discrete Event Systems, WODES 2014. IFAC, May 2014Google Scholar
  13. 13.
    Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Saar, Y.: Synthesis of reactive(1) designs. J. Comput. Syst. Sci. 78(3), 911–938 (2012)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Bodik, R., Chandra, S., Galenson, J., Kimelman, D., Tung, N., Barman, S., Rodarmor, C.: Programming with angelic nondeterminism. In: Principles of Programming Languages, POPL, pp. 339–352, January 2010Google Scholar
  15. 15.
    Bonakdarpour, B., Kulkarni, S.S.: On the complexity of synthesizing relaxed and graceful bounded-time 2-phase recovery. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 660–675. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-05089-3_42 CrossRefGoogle Scholar
  16. 16.
    Bouhadiba, T., Sabah, Q., Delaval, G., Rutten, E.: Synchronous control of reconfiguration in fractal component-based systems: a case study. In: Proceedings of the Ninth ACM International Conference on Embedded Software, EMSOFT 2011, Taipei, Taiwan, pp. 309–318, October 2011Google Scholar
  17. 17.
    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
  18. 18.
    Cassandras, C., Lafortune, S.: Introduction to Discrete Event Systems. Springer, New York (2008).  https://doi.org/10.1007/978-0-387-68612-7 CrossRefMATHGoogle Scholar
  19. 19.
    Cervin, A., Eker, J., Bernhardsson, B., Årzén, K.E.: Feedback-feedforward scheduling of control tasks. Real-Time Syst. 23(1–2), 25–53 (2002)CrossRefMATHGoogle Scholar
  20. 20.
    Chakrabarti, A., de Alfaro, L., Henzinger, T.A., Mang, F.Y.C.: Synchronous and bidirectional component interfaces. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 414–427. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45657-0_34 CrossRefGoogle Scholar
  21. 21.
  22. 22.
    Control for Embedded Systems Cluster: Roadmap on control of real-time computing systems. Technical report, EU/IST FP6 Artist2 NoE (2006)Google Scholar
  23. 23.
    Delaval, G.: Bzr. http://bzr.inria.fr
  24. 24.
    Delaval, G.: Modular distribution and application to discrete controller synthesis. In: International Workshop on Model-driven High-level Programming of Embedded Systems (SLA++P 2008), Budapest, Hungary, April 2008Google Scholar
  25. 25.
    Delaval, G., Rutten, E.: A domain-specific language for multi-task systems, applying discrete controller synthesis. J. Embed. Syst. 2007(84192), 17 (2007)Google Scholar
  26. 26.
    Delaval, G., Rutten, É., Marchand, H.: Integrating discrete controller synthesis into a reactive programming language compiler. Discrete Event Dyn. Syst. 23(4), 385–418 (2013)CrossRefMATHGoogle Scholar
  27. 27.
    Delaval, G., Marchand, H., Rutten, É.: Contracts for modular discrete controller synthesis. In: ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2010), Stockholm, Sweden, pp. 57–66, April 2010Google Scholar
  28. 28.
    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
  29. 29.
    D’ippolito, N., Braberman, V., Piterman, N., Uchitel, S.: Synthesizing nonanomalous event-based controllers for liveness goals. ACM Trans. Softw. Eng. Methodol. 22(1), 9:1–9:36 (2013)Google Scholar
  30. 30.
    Dragert, C., Dingel, J., Rudie, K.: Generation of concurrency control code using discrete-event systems theory. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT 2008/FSE-16, pp. 146–157. ACM, New York (2008)Google Scholar
  31. 31.
    Dumitrescu, E., Girault, A., Marchand, H., Rutten, E.: Multicriteria optimal discrete controller synthesis for fault-tolerant tasks. In: Proceedings of the 10th IFAC International Workshop on Discrete Event Systems (WODES 2010), September 2010Google Scholar
  32. 32.
    Durand, S., Alt, A.-M., Simon, D., Marchand, N.: Energy-aware feedback control for a H.264 video decoder. Int. J. Syst. Sci. 46(8), August 2013Google Scholar
  33. 33.
    Filieri, A., Ghezzi, C., Leva, A., Maggio, M.: Self-adaptive software meets control theory: a preliminary approach supporting reliability requirements. In: Proceedings of 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 283–292 (2011)Google Scholar
  34. 34.
    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. ACM, New York (2014)Google Scholar
  35. 35.
    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 the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2015, pp. 71–82. IEEE Press, Piscataway (2015)Google Scholar
  36. 36.
    Gamatié, A., Yu, H., Delaval, G., Rutten, E.: A case study on controller synthesis for data-intensive embedded systems. In: Proceedings of the 6th IEEE International Conference on Embedded Software and Systems (ICESS 2009), HangZhou, Zhejiang, China, May 2009Google Scholar
  37. 37.
    Gaudin, B., Nixon, P.: Supervisory control for software runtime exception avoidance. In: Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering, C3S2E 2012, pp. 109–112. ACM, New York (2012)Google Scholar
  38. 38.
    Gaudin, B., Vassev, E.I., Nixon, P., Hinchey, M.: A control theory based approach for self-healing of un-handled runtime exceptions. In: Proceedings of the 8th ACM International Conference on Autonomic Computing, ICAC 2011, pp. 217–220. ACM, New York (2011)Google Scholar
  39. 39.
    Girault, A., Rutten, E.: Automating the addition of fault tolerance with discrete controller synthesis. Int. J. Formal Methods Syst. Des. 35(2), 190–225 (2009).  https://doi.org/10.1007/s10703-009-0084-y CrossRefMATHGoogle Scholar
  40. 40.
    Gueye, S.M.-K., de Palma, N., Rutten, E.: Coordination control of component-based autonomic administration loops. In: Proceedings of the 15th International Conference on Coordination Models and Languages, COORDINATION, 3–6 June 2013, Florence, Italy (2013)Google Scholar
  41. 41.
    Harel, D.: Can programming be liberated, period? Computer 41(1), 28–37 (2008)CrossRefGoogle Scholar
  42. 42.
    Harel, D., Kugler, H., Pnueli, A.: Synthesis revisited: generating statechart models from scenario-based requirements. In: Kreowski, H.-J., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds.) Formal Methods in Software and Systems Modeling. LNCS, vol. 3393, pp. 309–324. Springer, Heidelberg (2005).  https://doi.org/10.1007/978-3-540-31847-7_18 CrossRefGoogle Scholar
  43. 43.
    Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K.R. (eds.) Logics and Models of Concurrent Systems. NATO ASI Series (Series F: Computer and Systems Sciences), vol. 13, pp. 477–498. Springer, Heidelberg (1985).  https://doi.org/10.1007/978-3-642-82453-1_17
  44. 44.
    Hellerstein, J., Diao, Y., Parekh, S., Tilbury, D.: Feedback Control of Computing Systems. Wiley-IEEE (2004)Google Scholar
  45. 45.
    Iordache, M., Antsaklis, P.: Concurrent program synthesis based on supervisory control. In: 2010 American Control Conference (2010)Google Scholar
  46. 46.
    Iordache, M.V., Antsaklis, P.J.: Petri nets and programming: a survey. In: Proceedings of the 2009 American Control Conference, pp. 4994–4999 (2009)Google Scholar
  47. 47.
    Kalyon, G., Gall, T.L.: SMACS. http://www.smacs.be/
  48. 48.
    Karamanolis, C., Karlsson, M., Zhu, X.: Designing controllable computer systems. In: Proceedings of the 10th Conference on Hot Topics in Operating Systems, HOTOS 2005, vol. 10, p. 9. USENIX Association, Berkeley (2005)Google Scholar
  49. 49.
    Kephart, J.: Feedback on feedback in autonomic computing systems. In: 7th International Workshop on Feedback Computing, San Jose, California (2012)Google Scholar
  50. 50.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)CrossRefGoogle Scholar
  51. 51.
    Khakpour, N., Arbab, F., Rutten, E.: Supervisory controller synthesis for safe software adaptation. In: 12th IFAC - IEEE International Workshop on Discrete Event Systems, WODES, Cachan, France, 14–16 May 2014 (2014)Google Scholar
  52. 52.
    Kugler, H., Plock, C., Pnueli, A.: Controller synthesis from LSC requirements. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 79–93. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-00593-0_6 CrossRefGoogle Scholar
  53. 53.
    Kulkarni, S.S., Ebnenasir, A.: Automated synthesis of multitolerance. In: DSN 2004 Proceedings of the 2004 International Conference on Dependable Systems and Networks, pp. 209–219 (2004)Google Scholar
  54. 54.
    Lalanda, P., McCann, J.A., Diaconescu, A.: Autonomic Computing - Principles, Design and Implementation. Undergraduate Topics in Computer Science Series. Springer, London (2013)Google Scholar
  55. 55.
    Lindberg, M., Årzén, K.-E.: Feedback control of cyber-physical systems with multi resource dependencies and model uncertainties. In: 31st IEEE Real-Time Systems Symposium, San Diego, California, USA, November 2010Google Scholar
  56. 56.
    Litoiu, M., Shaw, M., Tamura, G., Villegas, N.M., Müller, H.A., Giese, H., Rouvoy, R., Rutten, E.: What can control theory teach us about assurances in self-adaptive software systems? In: de Lemos, R., et al. (eds.) Self-Adaptive Systems III. LNCS, vol. 9640, pp. 90–134. Springer, Heidelberg (2017)Google Scholar
  57. 57.
    Litoiu, M., Woodside, M., Zheng, T.: Hierarchical model-based autonomic control of software systems. ACM SIGSOFT Softw. Eng. Notes 30(4), 1–7 (2005)CrossRefGoogle Scholar
  58. 58.
    Liu, C., Kondratyev, A., Watanabe, Y., Desel, J., Sangiovanni-Vincentelli, A.: Schedulability analysis of petri nets based on structural properties. In: 2006 Sixth International Conference on Application of Concurrency to System Design, ACSD 2006, pp. 69–78, June 2006Google Scholar
  59. 59.
    Lu, C., Stankovic, J., Abdelzaher, T., Tao, G., Son, S., Marley, M.: Performance specifications and metrics for adaptive real-time systems. In: Real-Time Systems Symposium, December 2000Google Scholar
  60. 60.
    Lu, C., Stankovic, J.A., Son, S.H., Tao, G.: Feedback control real-time scheduling: framework, modeling and algorithms. Real-Time Syst. 23(1/2), 85–126 (2002). Journal, Special Issue on Control-Theoretical Approaches to Real-Time ComputingCrossRefMATHGoogle Scholar
  61. 61.
    Maggio, M., Bini, E., Chasparis, G., Årzén, K.-E.: A game-theoretic resource manager for RT applications. In: 25th Euromicro Conference on Real-Time Systems, ECRTS13, Paris, France, July 2013Google Scholar
  62. 62.
    Malrait, L., Bouchenak, S., Marchand, N.: Experience with ConSer: a system for server control through fluid modeling. IEEE Trans. Comput. 60(7), 951–963 (2011)MathSciNetCrossRefMATHGoogle Scholar
  63. 63.
  64. 64.
    Marchand, H., Bournai, P., Le Borgne, M., Le Guernic, P.: Synthesis of discrete-event controllers based on the signal environment. Discrete Event Dyn. Syst. Theor. Appl. 10(4), 325–346 (2000)MathSciNetCrossRefMATHGoogle Scholar
  65. 65.
    Moulavi, M.A., Al-Shishtawy, A., Vlassov, V.: State-space feedback control for elastic distributed storage in a cloud environment. In: ICAS 2012, The Eighth International Conference on Autonomic and Autonomous Systems, pp. 18–27 (2012)Google Scholar
  66. 66.
    Patikirikorala, T., Colman, A., Han, J., Wang, L.: A systematic survey on the design of self-adaptive software systems using control engineering approaches. In: 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Zurich, Switzerland (2012)Google Scholar
  67. 67.
    Patikirikorala, T., Wang, L., Colman, A., Han, J.: Hammerstein Wiener nonlinear model based predictive control for relative QoS performance and resource management of software systems. Control Eng. Pract. 20, 49–61 (2012)CrossRefGoogle Scholar
  68. 68.
    Phoha, V.V., Nadgar, A.U., Ray, A., Phoha, S.: Supervisory control of software systems. IEEE Trans. Comput. 53(9), 1187–1199 (2004)CrossRefMATHGoogle Scholar
  69. 69.
    Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206–230 (1987)MathSciNetCrossRefMATHGoogle Scholar
  70. 70.
    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
  71. 71.
    Wallace, C., Jensen, P., Soparkar, N.: Supervisory control of workflow scheduling. In: Advanced Transaction Models and Architectures Workshop (ATMA), Goa, India (1996)Google Scholar
  72. 72.
    Wang, Y., Cho, H.K., Liao, H., Nazeem, A., Kelly, T., Lafortune, S., Mahlke, S., Reveliotis, S.A.: Supervisory control of software execution for failure avoidance: experience from the Gadara project. In: Proceedings of the 10th IFAC International Workshop on Discrete Event Systems (WODES 2010), September 2010Google Scholar
  73. 73.
    Wang, Y., Lafortune, S., Kelly, T., Kudlur, M., Mahlke, S.: The theory of deadlock avoidance via discrete control. In: Principles of Programming Languages, POPL, Savannah, USA, pp. 252–263 (2009)Google Scholar
  74. 74.
  75. 75.
    Xia, F., Tian, G., Sun, Y.: Feedback scheduling: an event-driven paradigm. ACM SIGPLAN Not. 42(12), 7–14 (2007)CrossRefGoogle Scholar
  76. 76.
    Yfoulis, C.A., Gounaris, A.: Honoring SLAs on cloud computing services: a control perspective. In: Proceedings of the European Control Conference (2009)Google Scholar
  77. 77.
    Zhu, X.: Application of control theory in management of virtualized data centres. In: Fifth International Workshop on Feedback Control Implementation and Design in Computing Systems and Networks (FeBID), Paris, France (2010)Google Scholar
  78. 78.
    Zhu, X., Wang, Z., Singhal, S.: Utility-driven workload management using nested control design. In: 2006 American Control Conference, p. 6. IEEE (2006)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.INRIAGrenobleFrance
  2. 2.CNRSGIPSA-labGrenobleFrance
  3. 3.INRIASophia AntipolisFrance
  4. 4.LIRMMMontpellierFrance

Personalised recommendations