skip to main content
Skip Abstract Section

Abstract

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.

References

  1. N. Abbas, J. Andersson, and D. Weyns. 2011. Knowledge evolution in autonomic software product lines. In Proceedings of the 15th International Software Product Line Conference (SPLC’11). ACM Press, New York, NY, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Abdelzaher, Y. Diao, J. Hellerstein, C. Lu, and X. Zhu. 2008. Introduction to control theory and its application to computing systems. In Performance Modeling and Engineering, Zhen Liu and Cathy H. Xia (Eds.). Springer US, 185--215. Google ScholarGoogle ScholarCross RefCross Ref
  3. A. Knauss, D. Damian, X. Franch, A. Rook, H. A. Mller, and A. Thomo. 2016. ACon: A learning-based approach to deal with uncertainty in contextual requirements at runtime. Information and Software Technology 70 (2016), 85--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Alur. 2011. Formal verification of hybrid systems. In 2011 Proceedings of the International Conference on Embedded Software (EMSOFT’11). 273--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Z. Artstein. 1980. Discrete and continuous bang-bang and facial spaces or: Look for the extreme points. SIAM Review 22, 2 (1980), 172--185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Åström. 2008. Event based control. In Analysis and Design of Nonlinear Control Systems, A. Astolfi and L. Marconi (Eds.). Springer, Berlin, 127--147. Google ScholarGoogle ScholarCross RefCross Ref
  7. K. Åström and T. Hägglund. 2006. Advanced PID Control. ISA-The Instrumentation, Systems, and Automation Society, Research Triangle Park, NC.Google ScholarGoogle Scholar
  8. K. Åström and R. Murray. 2008. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press.Google ScholarGoogle ScholarCross RefCross Ref
  9. K. Åström and B. Wittenmark. 2013. Adaptive Control. Dover Publications.Google ScholarGoogle Scholar
  10. W. Baek and T. M. Chilimbi. 2010. Green: A framework for supporting energy-conscious programming using controlled approximation. In Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’10). ACM, New York, NY, 198--209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Baier, M. Grosser, M. Leucker, B. Bollig, and F. Ciesinski. 2004. Controller synthesis for probabilistic systems. In Proceedings of the 3rd International Conference on Theoretical Computer Science (IFIP/TCS). Springer, 493--506.Google ScholarGoogle Scholar
  12. S. Balsamo, A. D. Marco, P. Inverardi, and M. Simeoni. 2004. Model-based performance prediction in software development: A survey. IEEE Transactions on Software Engineering 30, 5 (May 2004), 295--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. Baresi, E. D. Nitto, and C. Ghezzi. 2006. Toward open-world software: Issues and challenges. Computer 39, 10 (Oct. 2006), 36--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Batista, A. Joolia, and G. Coulson. 2005. Managing dynamic reconfiguration in component-based systems. In Proceedings of the 2nd European Conference on Software Architecture (EWSA’05). Springer-Verlag, Berlin, 1--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Bemporad and M. Morari. 1999. Robust model predictive control: A survey. In Robustness in Identification and Control, A. Garulli and A. Tesi (Eds.). Lecture Notes in Control and Information Sciences, Vol. 245. Springer, London, 207--226. Google ScholarGoogle ScholarCross RefCross Ref
  16. N. Bencomo and A. Belaggoun. 2014. A world full of surprises: Bayesian theory of surprise to quantify degrees of uncertainty. In Companion Proceedings of the 36th International Conference on Software Engineering. ACM, 460--463.Google ScholarGoogle Scholar
  17. M. Benedikt, R. Lenhardt, and J. Worrell. 2013. LTL model checking of interval markov chains. In Tools and Algorithms for the Construction and Analysis of Systems. Springer, 32--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Boyd, C. Baratt, and S. Norman. 1990. Linear controller design: Limits of performance via convex optimization. Proceedings of the IEEE 78, 3 (March 1990), 529--574. Google ScholarGoogle ScholarCross RefCross Ref
  19. V. A. Braberman, N. D’Ippolito, J. Kramer, D. Sykes, and S. Uchitel. 2015. MORPH: A reference architecture for configuration and behaviour self-adaptation. In 1st International Workshop on Control Theory for Software Engineering (CTSE’15). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Brázdil, V. Forejt, and A. Kučera. 2008. Controller synthesis and verification for markov decision processes with qualitative branching time objectives. Lecture Notes in Computer Science, Vol. 5126. Springer, 148--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. F. Brosig, P. Meier, S. Becker, A. Koziolek, H. Koziolek, and S. Kounev. 2015. Quantitative evaluation of model-driven performance analysis and simulation of component-based architectures. IEEE Transactions on Software Engineering 41, 2 (Feb. 2015), 157--175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Brugali. 2007. Software Engineering for Experimental Robotics. Springer, Berlin. Google ScholarGoogle ScholarCross RefCross Ref
  23. Y. Brun, G. Marzo Serugendo, C. Gacek, H. Giese, H. Kienle, M. Litoiu, H. Müller, M. Pezzè, and M. Shaw. 2009. Engineering self-adaptive systems through feedback loops. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, Vol. 5525. Springer, 48--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K.-Y. Cai. 2002. Optimal software testing and adaptive software testing in the context of software cybernetics. Information and Software Technology 44, 14 (2002), 841--855. Google ScholarGoogle ScholarCross RefCross Ref
  25. R. Calinescu, C. Ghezzi, M. Kwiatkowska, and R. Mirandola. 2012. Self-adaptive software needs quantitative verification at runtime. Communications of the ACM 55, 9 (2012), 69--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Camacho, P. Marti, M. Velasco, C. Lozoya, R. Villa, J. M. Fuertes, and E. Griful. 2010. Self-triggered networked control systems: An experimental case study. In 2010 IEEE International Conference on Industrial Technology (ICIT’10). 123--128. Google ScholarGoogle ScholarCross RefCross Ref
  27. E. Camacho and C. Alba. 2013. Model Predictive Control. Springer, London.Google ScholarGoogle Scholar
  28. J. Camara, R. de Lemos, N. Laranjeiro, R. Ventura, and M. Vieira. 2013. Robustness evaluation of controllers in self-adaptive software systems. In 2013 6th Latin-American Symposium on Dependable Computing (LADC’13), 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Cámara, G. A. Moreno, and D. Garlan. 2015. Reasoning about human participation in self-adaptive systems. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’15). IEEE Press, Piscataway, NJ, 146--156.Google ScholarGoogle Scholar
  30. M. C. Campi and S. Garatti. 2011. A sampling-and-discarding approach to chance-constrained optimization: Feasibility and optimality. Journal of Optimization Theory and Applications 148, 2 (2011), 257--280. Google ScholarGoogle ScholarCross RefCross Ref
  31. M. C. Campi, S. Garatti, and M. Prandini. 2009. The scenario approach for systems and control design. Annual Reviews in Control 33, 2 (2009), 149--157. Google ScholarGoogle ScholarCross RefCross Ref
  32. K. Chatterjee, T. A. Henzinger, B. Jobstmann, and R. Singh. 2015. Measuring and synthesizing systems in probabilistic environments. Journal of the ACM 62, 1, Article 9 (March 2015), 34 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. K. Chatterjee, M. Jurdziński, and T. A. Henzinger. 2003. Simple stochastic parity games. In Computer Science Logic, Matthias Baaz and Johann A. Makowsky (Eds.). Lecture Notes in Computer Science, Vol. 2803. Springer, Berlin, 100--113. Google ScholarGoogle ScholarCross RefCross Ref
  34. K. Chatterjee, M. Jurdziński, and T. A. Henzinger. 2004. Quantitative stochastic parity games. In Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’04). Society for Industrial and Applied Mathematics, Philadelphia, PA, 121--130.Google ScholarGoogle Scholar
  35. K. Chatterjee, K. Sen, and T. A. Henzinger. 2008. Model-checking ω-regular properties of interval markov chains. In Foundations of Software Science and Computational Structures. Springer, 302--317. Google ScholarGoogle ScholarCross RefCross Ref
  36. T. Chen, T. Han, and M. Kwiatkowska. 2013. On the complexity of model checking interval-valued discrete time Markov chains. Information Processing Letters 113, 7 (2013), 210--216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. B. Cheng, R. Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G. Marzo Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H. Kienle, J. Kramer, M. Litoiu, S. , R. Mirandola, H. Müller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle. 2009. Software engineering for self-adaptive systems. In Software Engineering for Self-Adaptive Systems. Springer-Verlag, Berlin, 1--26.Google ScholarGoogle Scholar
  38. S.-W. Cheng and D. Garlan. 2007. Handling uncertainty in autonomic systems. In Proceedings of the International Workshop on Living with Uncertainties (IWLU’07), co-located with the 22nd International Conference on Automated Software Engineering (ASE’07).Google ScholarGoogle Scholar
  39. E. Darulova and V. Kuncak. 2013. Certifying Solutions for Numerical Constraints. Springer, Berlin, 277--291. Google ScholarGoogle ScholarCross RefCross Ref
  40. E. Darulova and V. Kuncak. 2014. Sound compilation of reals. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’14). ACM, New York, NY, 235--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. E. M. Dashofy, A. van der Hoek, and R. N. Taylor. 2002. Towards architecture-based self-healing systems. In Proceedings of the 1st Workshop on Self-Healing Systems (WOSS’02). ACM, New York, NY, 21--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. C. Dehnert, S. Junges, N. Jansen, F. Corzilius, M. Volk, H. Bruintjes, J.-P. Katoen, and E. Ábrahám. 2015. PROPhESY: A PRObabilistic ParamEter SYnthesis Tool. Springer, 214--231.Google ScholarGoogle Scholar
  43. G. Delaval, E. Rutten, and H. Marchand. 2013. Integrating discrete controller synthesis into a reactive programming language compiler. Discrete Event Dynamic Systems 23, 4 (2013), 385--418. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Y. Diao, J. Hellerstein, S. Parekh, R. Griffith, G. Kaiser, and D. Phung. 2005. Self-managing systems: A control theory foundation. In ECBS Workshop. 441--448.Google ScholarGoogle Scholar
  45. Y. Diao, J. L. Hellerstein, S. Parekh, R. Griffith, G. E. Kaiser, and D. Phung. 2006. A control theory foundation for self-managing computing systems. IEEE Journal of Selected Areas of Communications 23, 12 (Sept. 2006), 2213--2222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Z. Ding, Y. Zhou, and M. Zhou. 2014. Modeling self-adaptive software systems with learning petri nets. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion’14). ACM, New York, NY, 464--467. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. N. D’ippolito, V. Braberman, N. Piterman, and S. Uchitel. 2013. Synthesising non-anomalous event-based controllers for liveness goals. ACM Tranactions on Software Engineering Methodologies 22, Article 9 (2013), 36 pages.Google ScholarGoogle Scholar
  48. N. R. D’Ippolito, V. Braberman, N. Piterman, and S. Uchitel. 2010. Synthesis of live behaviour models. In Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’10). ACM, New York, NY, 77--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. R. Dorf and R. Bishop. 2008. Modern Control Systems. Prentice Hall.Google ScholarGoogle Scholar
  50. C. Dubach, P. Cheng, R. Rabbah, D. F. Bacon, and S. J. Fink. 2012. Compiling a high-level language for GPUs: (Via language support for architectures and compilers). In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’12). ACM, New York, NY, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. J. Eker, J. W. Janneck, E. A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Y. Xiong. 2003. Taming heterogeneity-the ptolemy approach. Proceedings of the IEEE 91, 1 (2003), 127--144. Google ScholarGoogle ScholarCross RefCross Ref
  52. I. Epifani, C. Ghezzi, R. Mirandola, and G. Tamburrelli. 2009. Model evolution by run-time parameter adaptation. In International Conference on Software Engineering. IEEE, 111--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. N. Esfahani, E. Kouroshfar, and S. Malek. 2011. Taming uncertainty in self-adaptive software. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (SIGSOFT/FSE’11). ACM, 234--244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. N. Esfahani and S. Malek. 2013. Uncertainty in self-adaptive software systems. In Software Engineering for Self-Adaptive Systems II, Rogério de Lemos, Holger Giese, Hausi A. Müller, and Mary Shaw (Eds.). Vol. 7475. Springer, Berlin, 214--238. Google ScholarGoogle ScholarCross RefCross Ref
  55. J. Filar and K. Vrieze. 1996. Competitive Markov Decision Processes. Springer-Verlag New York, New York, NY. Google ScholarGoogle ScholarCross RefCross Ref
  56. A. Filieri, C. Ghezzi, A. Leva, and M. Maggio. 2011b. Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. In 26th IEEE/ACM International Conference on Automated Software Engineering (ASE’11), Perry Alexander, Corina S. Pasareanu, and John G. Hosking (Eds.). IEEE, 283--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. A. Filieri, C. Ghezzi, and G. Tamburrelli. 2011a. Run-time efficient probabilistic model checking. In Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). ACM, New York, NY, 341--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. A. Filieri, H. Hoffmann, and M. Maggio. 2014. Automated design of self-adaptive software with control-theoretical formal guarantees. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). ACM, New York, NY, 299--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. A. Filieri, H. Hoffmann, and M. Maggio. 2015a. Automated multi-objective control for self-adaptive software design. In Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2015). ACM, 13--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. A. Filieri, M. Maggio, K. Angelopoulos, N. D’Ippolito, I. Gerostathopoulos, A. Hempel, H. Hoffmann, P. Jamshidi, E. Kalyvianaki, C. Klein, F. Krikava, S. Misailovic, A. Papadopoulos, S. Ray, A. Sharifloo, S. Shevtsov, M. Ujma, and T. Vogel. 2015b. Software engineering meets control theory. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’15). IEEE, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. M. Fowler and K. Beck. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. M. Franzle and C. Herde. 2007. HySAT: An efficient proof engine for bounded model checking of hybrid systems. Formal Methods in System Design 30, 3 (2007), 179--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. S. Gao, S. Kong, and E. Clarke. 2013. Satisfiability modulo ODEs. In Formal Methods in Computer-Aided Design (FMCAD’13). 105--112.Google ScholarGoogle Scholar
  64. D. Garlan, S. Cheng, A. Huang, B. R. Schmerl, and P. Steenkiste. 2004a. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37, 10 (2004), 46--54.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. 2004b. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 10 (Oct. 2004), 46--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. H. Giese, N. Bencomo, L. Pasquale, A. J. Ramirez, P. Inverardi, S. Waetzoldt, and S. Clarke. 2014. Living with uncertainty in the age of runtime models. In [email protected]: Foundations, Applications, and Roadmaps. Springer, 47--100. Google ScholarGoogle ScholarCross RefCross Ref
  67. R. Goebel, R. Sanfelice, and A. Teel. 2012. Hybrid Dynamical Systems: Modeling, Stability, and Robustness. Princeton University Press.Google ScholarGoogle Scholar
  68. G. C. Goodwin, H. Kong, G. Mirzaeva, and M. M. Seron. 2014. Robust model predictive control: Reflections and opportunities. Journal of Control and Decision 1, 2 (April 2014), 115--148. Google ScholarGoogle ScholarCross RefCross Ref
  69. S. Govindan, J. Liu, A. Kansal, and A. Sivasubramaniam. 2011. Cuanta: Quantifying effects of shared on-chip resource interference for consolidated virtual machines. In Proceedings of the 2nd ACM Symposium on Cloud Computing (SOCC’11). ACM, New York, NY, Article 22, 14 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. L. Grüne and J. Pannek. 2011. Nonlinear Model Predictive Control. Springer. Google ScholarGoogle ScholarCross RefCross Ref
  71. E. M. Hahn, H. Hermanns, B. Wachter, and L. Zhang. 2010. PARAM: A model checker for parametric markov models. In Proceedings of the 22nd International Conference on Computer Aided Verification (CAV’10) (LNCS), Vol. 6174. Springer, 660--664. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. M. Harman, Y. Jia, W. B. Langdon, J. Petke, I. H. Moghadam, S. Yoo, and F. Wu. 2014. Genetic improvement for adaptive software engineering (keynote). In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. E. N. Hartley, J. L. Jerez, A. Suardi, J. M. Maciejowski, E. C. Kerrigan, and G. A. Constantinides. 2014. Predictive control using an FPGA with application to aircraft control. IEEE Transactions on Control Systems Technology 22, 3 (May 2014), 1006--1017. Google ScholarGoogle ScholarCross RefCross Ref
  74. W. P. M. H. Heemels, K. H. Johansson, and P. Tabuada. 2012. An introduction to event-triggered and self-triggered control. In 2012 IEEE 51st Annual Conference on Decision and Control (CDC’12). 3270--3285. Google ScholarGoogle ScholarCross RefCross Ref
  75. W. P. M. H. Heemels, J. H. Sandee, and P. P. J. Van Den Bosch. 2008. Analysis of event-driven controllers for linear systems. International Journal of Control 81, 4 (2008), 571--590. Google ScholarGoogle ScholarCross RefCross Ref
  76. J. L. Hellerstein. 2009. Engineering autonomic systems. In Proceedings of the 6th International Conference on Autonomic Computing (ICAC’09). ACM, New York, NY, 75--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley 8 Sons.Google ScholarGoogle Scholar
  78. J. L. Hellerstein, V. Morrison, and E. Eilebrecht. 2010. Applying control theory in the real world: Experience with building a controller for the .NET thread pool. SIGMETRICS Performance Evaluation Review 37, 3 (Jan. 2010), 38--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. T. Henzinger, P.-H. Ho, and H. Wong-Toi. 1997. HyTech: A model checker for hybrid systems. In Computer Aided Verification. Lecture Notes in Computer Science, Vol. 1254. Springer, Berlin, 460--463. Google ScholarGoogle ScholarCross RefCross Ref
  80. T. A. Henzinger, P. W. Kopke, A. Puri, and P. Varaiya. 1998. What’s decidable about hybrid automata? Journal of Computer and System Sciences 57, 1 (1998), 94--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. H. Hermes and J. P. Lasalle. 1969. Functional Analysis and Time Optimal Control. Elsevier Science.Google ScholarGoogle Scholar
  82. H. Hoffmann. 2014. CoAdapt: Predictable behavior for accuracy-aware applications running on power-aware systems. In 2014 26th Euromicro Conference on Real-Time Systems (ECRTS’14). IEEE, 223--232.Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. H. Hoffmann. 2015. Software engineering meets control theory. In Proceedings of the 25th International Symposium on Operating Systems (SOSP’15). ACM, 14.Google ScholarGoogle Scholar
  84. H. Hoffmann, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard. 2011. Dynamic knobs for responsive power-aware computing. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. P. Inverardi and M. Tivoli. 2003. Software architecture for correct components assembly. In Formal Methods for Software Architectures. Springer, 92--121. Google ScholarGoogle ScholarCross RefCross Ref
  86. H. I. Ismail, I. V. Bessa, L. C. Cordeiro, E. B. de Lima Filho, and J. E. Chaves Filho. 2015. DSVerifier: A Bounded Model Checking Tool for Digital Systems. Springer International Publishing, Cham, 126--131.Google ScholarGoogle Scholar
  87. P. Jamshidi, A. Ahmad, and C. Pahl. 2014. Autonomic resource provisioning for cloud-based software. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, New York, NY, 95--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. P. Jamshidi, A. Sharifloo, C. Pahl, H. Arabnejad, A. Metzger, and G. Estrada. 2016. Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In Proceedings of the 12th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA). 70--79. Google ScholarGoogle ScholarCross RefCross Ref
  89. J. Jantzen. 2013. Foundations of Fuzzy Control: A Practical Approach. John Wiley 8 Sons.Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. S. Kang and D. Garlan. 2014. Architecture-based planning of software evolution. International Journal of Software Engineering and Knowledge Engineering 24, 2 (2014), 211--242. Google ScholarGoogle ScholarCross RefCross Ref
  91. J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. E. C. Kerrigan. 2014. Co-design of hardware and algorithms for real-time optimization. In 2014 European Control Conference (ECC’14),. 2484--2489. Google ScholarGoogle ScholarCross RefCross Ref
  93. H. Khalil. 2015. Nonlinear Control. Pearson Education.Google ScholarGoogle Scholar
  94. C. Klein, M. Maggio, K.-E. Årzén, and F. Hernández-Rodriguez. 2014. Brownout: Building more robust cloud applications. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). ACM, New York, NY, 700--711. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. M. Kong, R. Veras, K. Stock, F. Franchetti, L.-N. Pouchet, and P. Sadayappan. 2013. When polyhedral transformations meet SIMD code generation. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’13). ACM, New York, NY, 127--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. S. Kowshik, D. Dhurjati, and V. Adve. 2002. Ensuring code safety without runtime checks for real-time control systems. In Proceedings of the 2002 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES’02). ACM, New York, NY, 288--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. J. Kramer and J. Magee. 2007. Self-managed systems: An architectural challenge. In International Conference on Software Engineering (ISCE’07), Workshop on the Future of Software Engineering (FOSE’07). 259--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. F. Krikava, P. Collet, R. France, and others. 2014. ACTRESS: Domain-specific modeling of self-adaptive software architectures. In Symposium on Applied Computing, Track on Dependable and Dependable and Adaptive Distributed Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. P. R. Kumar and P. Varaiya. 1986. Stochastic Systems: Estimation, Identification and Adaptive Control. Prentice-Hall, Upper Saddle River, NJ.Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. M. Kwiatkowska and D. Parker. 2013. Automated verification and strategy synthesis for probabilistic systems. In Proceedings of the 11th International Symposium on Automated Technology for Verification and Analysis (ATVA’13) (LNCS), Vol. 8172. Springer, 5--22. Google ScholarGoogle ScholarCross RefCross Ref
  101. G. Labinaz, M. M. Bayoumi, and K. Rudie. 1997. A survey of modeling and control of hybrid systems. Annual Reviews in Control 21 (1997), 79--92. Google ScholarGoogle ScholarCross RefCross Ref
  102. P. Lama and X. Zhou. 2013. Autonomic provisioning with self-adaptive neural fuzzy control for percentile-based delay guarantee. Transactions on Autonomous and Adaptive Systems (TAAS) 8, 2 (2013), 9.Google ScholarGoogle Scholar
  103. S. Lambert. 2001. Knowledge-based control systems. In Theory and Practice of Informatics (SOFSEM’01), Leszek Pacholski and Peter Ružička (Eds.). LNCS, Vol. 2234. Google ScholarGoogle ScholarCross RefCross Ref
  104. E. Letier, D. Stefan, and E. T. Barr. 2014. Uncertainty, risk, and information value in software requirements and architecture. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). ACM, New York, NY, 883--894. Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. A. Leva, M. Maggio, A. Papadopoulos, and F. Terraneo. 2013. Control-Based Operating System Design. IET. Google ScholarGoogle ScholarCross RefCross Ref
  106. A. Leva and A. Papadopoulos. 2013. Tuning of event-based industrial controllers with simple stability guarantees. Journal of Process Control 23, 9 (2013), 1251--1260. Google ScholarGoogle ScholarCross RefCross Ref
  107. W. Levine. 2010. The Control Systems Handbook: Control System Advanced Methods, (2nd ed). Taylor and Francis.Google ScholarGoogle Scholar
  108. D. Liberzon. 2003. Switching in Systems and Control. Birkhäuser Boston. Google ScholarGoogle ScholarCross RefCross Ref
  109. J. Liu, J. Eker, and J. Janneck. 2004. Actor-oriented control system design: A responsible framework perspective. IEEE Transactions on Control Systems Technology 12, 2 (2004), 250--262. Google ScholarGoogle ScholarCross RefCross Ref
  110. L. Ljung. 2012. System Identification: Theory for the User (2nd ed.). Prentice Hall PTR, Upper Saddle River, NJ.Google ScholarGoogle Scholar
  111. J. Lunze and F. Lamnabhi-Lagarrigue. 2009. Handbook of Hybrid Systems Control: Theory, Tools, Applications. Cambridge University Press. Google ScholarGoogle ScholarCross RefCross Ref
  112. J. Lunze and D. Lehmann. 2010. A state-feedback approach to event-based control. Automatica 46, 1 (2010), 211--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  113. J. Maciejowski. 2002. Predictive Control: With Constraints. Pearson Education.Google ScholarGoogle Scholar
  114. M. Maggio, H. Hoffmann, A. Papadopoulos, J. Panerati, M. Santambrogio, A. Agarwal, and A. Leva. 2012. Comparison of decision making strategies for self-optimization in autonomic computing systems. ACM Transactions on Autonomous and Adaptive Systems 7, 4, Article 36 (Dec. 2012), 32 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  115. R. Matinnejad, S. Nejati, L. C. Briand, and T. Bruckmann. 2016. Automated test suite generation for time-continuous simulink models. In Proceedings of the 38th International Conference on Software Engineering (ICSE’16). ACM, New York, NY, 595--606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  116. J. Mendel and D. Wu. 2010. Perceptual Computing: Aiding People in Making Subjective Judgments. Wiley-IEEE Press. Google ScholarGoogle ScholarCross RefCross Ref
  117. M. Morari and E. Zafiriou. 1989. Robust Process Control. Prentice Hall, Englewood Cliffs, NJ.Google ScholarGoogle Scholar
  118. H. Müller, M. Pezzè, and M. Shaw. 2008. Visibility of control in adaptive systems. In Proceedings of the 2nd International Workshop on Ultra-Large-Scale Software-intensive Systems (ULSSIS’08). ACM, New York, NY, 23--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  119. A. Muscholl. 2015. Automated Synthesis of Distributed Controllers. Springer, Berlin, 11--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. G. Ofenbeck, T. Rompf, A. Stojanov, M. Odersky, and M. Püschel. 2013. Spiral in scala: Towards the systematic construction of generators for performance libraries. In Proceedings of the 12th International Conference on Generative Programming: Concepts 8 Experiences. 10.Google ScholarGoogle Scholar
  121. P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, and A. L. Wolf. 1999. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems 14, 3 (May 1999), 54--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  122. A. V. Papadopoulos, M. Maggio, F. Terraneo, and A. Leva. 2015. A dynamic modelling framework for control-based computing system design. Mathematical and Computer Modelling of Dynamical Systems 21, 3 (2015), 251--271. Google ScholarGoogle ScholarCross RefCross Ref
  123. A. V. Papadopoulos, A. Ali-Eldin, K.-E. Årzén, J. Tordsson, and E. Elmroth. 2016. PEAS: A performance evaluation framework for auto-scaling strategies in cloud applications. ACM Transactions on Modeling and Performance Evaluation of Computing Systems (TOMPECS) 1, 4, Article 15 (2016).Google ScholarGoogle Scholar
  124. S. Parekh. 2010. Feedback Control Techniques for Performance Management of Computing Systems. Ph.D. Dissertation. Seattle, WA. Advisor(s): Lazowska, Edward D.Google ScholarGoogle Scholar
  125. S. Parekh, N. Gandhi, J. Hellerstein, D. Tilbury, T. Jayram, and J. Bigus. 2002. Using control theory to achieve service level objectives in performance management. Real-Time Systems 23, 1/2 (2002), 15.Google ScholarGoogle ScholarDigital LibraryDigital Library
  126. T. Patikirikorala, A. Colman, J. Han, and L. Wang. 2012. 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’12). IEEE Press, Piscataway, NJ, 33--42. Google ScholarGoogle ScholarCross RefCross Ref
  127. N. Piterman, A. Pnueli, and Y. Sa’ar. 2006. Synthesis of reactive(1) designs. In Verification, Model Checking, and Abstract Interpretation. Lecture Notes in Computer Science, Vol. 3855.Google ScholarGoogle Scholar
  128. A. Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science. Google ScholarGoogle ScholarDigital LibraryDigital Library
  129. A. Pnueli and R. Rosner. 1989. On the synthesis of a reactive module. In Conference Record of the 16th Annual ACM Symposium on Principles of Programming Languages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  130. A. Puggelli, W. Li, A. L. Sangiovanni-Vincentelli, and S. A. Seshia. 2013. Polynomial-time verification of PCTL properties of MDPs with convex uncertainties. In Computer Aided Verification. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  131. M. L. Puterman. 1994. Markov Decision Processes: Discrete Stochastic Dynamic Programming. John Wiley 8 Sons, New York, NY.Google ScholarGoogle ScholarDigital LibraryDigital Library
  132. W. Qian, X. Peng, B. Chen, J. Mylopoulos, H. Wang, and W. Zhao. 2014. Rationalism with a dose of empiricism: Case-based reasoning for requirements-driven self-adaptation. In 2014 IEEE 22nd International Requirements Engineering Conference (RE’14). 113--122.Google ScholarGoogle Scholar
  133. R. R. Rajkumar, I. Lee, L. Sha, and J. Stankovic. 2010. Cyber-physical systems: The next computing revolution. In Proceedings of the 47th Design Automation Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  134. P. J. G. Ramadge and W. M. Wonham. 1989. The control of discrete event systems. Proceedings of the IEEE 77, 1 (Jan. 1989), 81--98. Google ScholarGoogle ScholarCross RefCross Ref
  135. A. J. Ramirez, B. H. C. Cheng, N. Bencomo, and P. Sawyer. 2012a. Relaxing Claims: Coping with Uncertainty While Evaluating Assumptions at Run Time. Springer, Berlin, 53--69.Google ScholarGoogle Scholar
  136. A. J. Ramirez, A. C. Jensen, and B. H. C. Cheng. 2012b. A taxonomy of uncertainty for dynamically adaptive systems. In 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’12). IEEE, 99--108. Google ScholarGoogle ScholarCross RefCross Ref
  137. J. Rao, Y. Wei, J. Gong, and C.-Z. Xu. 2011. DynaQoS: Model-free self-tuning fuzzy control of virtualized resources for QoS provisioning. In International Workshop on Quality of Service (IWQoS’11). IEEE, 1--9. Google ScholarGoogle ScholarCross RefCross Ref
  138. T. Rompf and M. Odersky. 2010. Lightweight modular staging: A pragmatic approach to runtime code generation and compiled DSLs. In Proceedings of the Ninth International Conference on Generative Programming and Component Engineering (GPCE’10). 127--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  139. M. Salehie and L. Tahvildari. 2009. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems 4, 2, Article 14 (May 2009), 14:1--14:42 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  140. M. Samadi, D. A. Jamshidi, J. Lee, and S. Mahlke. 2014. Paraprox: Pattern-based approximation for data parallel applications. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM, 35--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  141. R. Sanz and J. Zalewski. 2003. Pattern-based control systems engineering. IEEE Control Systems 23, 3 (June 2003), 43--60. Google ScholarGoogle ScholarCross RefCross Ref
  142. R. Scattolini. 2009. Architectures for distributed and hierarchical model predictive control--a review. Journal of Process Control 19, 5 (2009), 723--731. Google ScholarGoogle ScholarCross RefCross Ref
  143. S. Skogestad and I. Postlethwaite. 2007. Multivariable Feedback Control: Analysis and Design. Vol. 2. Wiley.Google ScholarGoogle Scholar
  144. V. E. S. Souza, A. Lapouchnian, and J. Mylopoulos. 2011. System identification for adaptive software systems: A requirements engineering perspective. In Conceptual Modeling (ER’11). Vol. 6998.Google ScholarGoogle Scholar
  145. G. Stein. 2003. Respect the unstable. IEEE Control Systems 23, 4 (Aug. 2003), 12--25. Google ScholarGoogle ScholarCross RefCross Ref
  146. Q. Sun, G. Dai, and W. Pan. 2008. LPV model and its application in web server performance control. In 2008 International Conference on Computer Science and Software Engineering, Vol. 3. 486--489. Google ScholarGoogle ScholarDigital LibraryDigital Library
  147. P. Tabuada. 2007. Event-triggered real-time scheduling of stabilizing control tasks. IEEE Transactions on Automatic Control 52, 9 (Sept. 2007), 1680--1685. Google ScholarGoogle ScholarCross RefCross Ref
  148. G. Tesauro. 2007. Reinforcement learning in autonomic computing: A manifesto and case studies. IEEE Internet Computing 11, 1 (2007), 22--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  149. M. Tribastone. 2013. A fluid model for layered queueing networks. IEEE Transactions on Software Engineering 39, 6 (2013), 744--756. Google ScholarGoogle ScholarDigital LibraryDigital Library
  150. N. M. Villegas, H. A. Müller, G. Tamura, L. Duchien, and R. Casallas. 2011. 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’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  151. T. Vogel and H. Giese. 2014. Model-driven engineering of self-adaptive software with EUREMA. ACM Transactions on Autonomous and Adaptive Systems 8, 4, Article 18 (2014), 33 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  152. V. Vyatkin. 2013. Software engineering in industrial automation: State-of-the-art review. IEEE Transactions on Industrial Informatics 9, 3 (Aug. 2013), 1234--1249. Google ScholarGoogle ScholarCross RefCross Ref
  153. L. Wang, J. Xu, and M. Zhao. 2015. QoS-driven cloud resource management through fuzzy model predictive control. In International Conference on Autonomic Computing (ICAC’15). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  154. W.-P. Wang, D. Tipper, and S. Banerjee. 1996. A simple approximation for modeling nonstationary queues. In Proceedings of the IEEE 15th Annual Joint Conference of the IEEE Computer Societies, Networking the Next Generation (INFOCOM’96). Vol. 1. 255--262.Google ScholarGoogle Scholar
  155. J. A. Whittaker and J. H. Poore. 1993. Markov analysis of software specifications. ACM Transactions on Software Engineering Methodologies 2, 1 (Jan. 1993), 93--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  156. B. Wittenmark, K. Åström, and K.-E. Årzén. 2002. Computer Control: An Overview. Technical Report.Google ScholarGoogle Scholar
  157. J. Xu, M. Zhao, J. Fortes, R. Carpenter, and M. Yousif. 2007. On the use of fuzzy modeling in virtualized data center management. In 4th International Conference on Autonomic Computing. Google ScholarGoogle ScholarDigital LibraryDigital Library
  158. R. Yager and L. Zadeh. 2012. An Introduction to Fuzzy Logic Applications in Intelligent Systems. Springer.Google ScholarGoogle Scholar
  159. T. C. Yang. 2006. Networked control system: A brief survey. IEE Proceedings - Control Theory and Applications 153, 4 (July 2006), 403--412. Google ScholarGoogle ScholarCross RefCross Ref
  160. N. Zhan, S. Wang, and H. Zhao. 2013. Formal modelling, analysis and verification of hybrid systems. In Unifying Theories of Programming and Formal Engineering Methods: International Training School on Software Engineering. Springer, 207--281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  161. M. Zhang, B. Selic, S. Ali, T. Yue, O. Okariz, and R. Norgren. 2016. Understanding Uncertainty in Cyber-Physical Systems: A Conceptual Model. Technical Report. Simula Research Laboratory, 2015-3.Google ScholarGoogle Scholar
  162. K. Zhou, J. C. Doyle, and K. Glover. 1996. Robust and Optimal Control. Prentice-Hall, Upper Saddle River, NJ.Google ScholarGoogle Scholar
  163. X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, P. Padala, and K. Shin. 2009. What does control theory bring to systems research? SIGOPS Opererating System Review 43 (2009), 62--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  164. P. Zuliani, A. Platzer, and E. M. Clarke. 2010. Bayesian statistical model checking with application to simulink/stateflow verification. In Proceedings of the 13th ACM International Conference on Hybrid Systems: Computation and Control (HSCC’10). ACM, New York, NY, 243--252. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Control Strategies for Self-Adaptive Software Systems

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!