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.
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- R. Alur. 2011. Formal verification of hybrid systems. In 2011 Proceedings of the International Conference on Embedded Software (EMSOFT’11). 273--278. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- K. Åström and T. Hägglund. 2006. Advanced PID Control. ISA-The Instrumentation, Systems, and Automation Society, Research Triangle Park, NC.Google Scholar
- K. Åström and R. Murray. 2008. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press.Google Scholar
Cross Ref
- K. Åström and B. Wittenmark. 2013. Adaptive Control. Dover Publications.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- L. Baresi, E. D. Nitto, and C. Ghezzi. 2006. Toward open-world software: Issues and challenges. Computer 39, 10 (Oct. 2006), 36--43. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- D. Brugali. 2007. Software Engineering for Experimental Robotics. Springer, Berlin. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- E. Camacho and C. Alba. 2013. Model Predictive Control. Springer, London.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- E. Darulova and V. Kuncak. 2013. Certifying Solutions for Numerical Constraints. Springer, Berlin, 277--291. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- R. Dorf and R. Bishop. 2008. Modern Control Systems. Prentice Hall.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- J. Filar and K. Vrieze. 1996. Competitive Markov Decision Processes. Springer-Verlag New York, New York, NY. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- M. Fowler and K. Beck. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Gao, S. Kong, and E. Clarke. 2013. Satisfiability modulo ODEs. In Formal Methods in Computer-Aided Design (FMCAD’13). 105--112.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- R. Goebel, R. Sanfelice, and A. Teel. 2012. Hybrid Dynamical Systems: Modeling, Stability, and Robustness. Princeton University Press.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- L. Grüne and J. Pannek. 2011. Nonlinear Model Predictive Control. Springer. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley 8 Sons.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- H. Hermes and J. P. Lasalle. 1969. Functional Analysis and Time Optimal Control. Elsevier Science.Google Scholar
- 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 Scholar
Digital Library
- H. Hoffmann. 2015. Software engineering meets control theory. In Proceedings of the 25th International Symposium on Operating Systems (SOSP’15). ACM, 14.Google Scholar
- 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 Scholar
Digital Library
- P. Inverardi and M. Tivoli. 2003. Software architecture for correct components assembly. In Formal Methods for Software Architectures. Springer, 92--121. Google Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- J. Jantzen. 2013. Foundations of Fuzzy Control: A Practical Approach. John Wiley 8 Sons.Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41--50. Google Scholar
Digital Library
- E. C. Kerrigan. 2014. Co-design of hardware and algorithms for real-time optimization. In 2014 European Control Conference (ECC’14),. 2484--2489. Google Scholar
Cross Ref
- H. Khalil. 2015. Nonlinear Control. Pearson Education.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- P. R. Kumar and P. Varaiya. 1986. Stochastic Systems: Estimation, Identification and Adaptive Control. Prentice-Hall, Upper Saddle River, NJ.Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- A. Leva, M. Maggio, A. Papadopoulos, and F. Terraneo. 2013. Control-Based Operating System Design. IET. Google Scholar
Cross Ref
- 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 Scholar
Cross Ref
- W. Levine. 2010. The Control Systems Handbook: Control System Advanced Methods, (2nd ed). Taylor and Francis.Google Scholar
- D. Liberzon. 2003. Switching in Systems and Control. Birkhäuser Boston. Google Scholar
Cross Ref
- 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 Scholar
Cross Ref
- L. Ljung. 2012. System Identification: Theory for the User (2nd ed.). Prentice Hall PTR, Upper Saddle River, NJ.Google Scholar
- J. Lunze and F. Lamnabhi-Lagarrigue. 2009. Handbook of Hybrid Systems Control: Theory, Tools, Applications. Cambridge University Press. Google Scholar
Cross Ref
- J. Lunze and D. Lehmann. 2010. A state-feedback approach to event-based control. Automatica 46, 1 (2010), 211--215. Google Scholar
Digital Library
- J. Maciejowski. 2002. Predictive Control: With Constraints. Pearson Education.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J. Mendel and D. Wu. 2010. Perceptual Computing: Aiding People in Making Subjective Judgments. Wiley-IEEE Press. Google Scholar
Cross Ref
- M. Morari and E. Zafiriou. 1989. Robust Process Control. Prentice Hall, Englewood Cliffs, NJ.Google Scholar
- 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 Scholar
Digital Library
- A. Muscholl. 2015. Automated Synthesis of Distributed Controllers. Springer, Berlin, 11--27. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- S. Parekh. 2010. Feedback Control Techniques for Performance Management of Computing Systems. Ph.D. Dissertation. Seattle, WA. Advisor(s): Lazowska, Edward D.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- A. Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- M. L. Puterman. 1994. Markov Decision Processes: Discrete Stochastic Dynamic Programming. John Wiley 8 Sons, New York, NY.Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Sanz and J. Zalewski. 2003. Pattern-based control systems engineering. IEEE Control Systems 23, 3 (June 2003), 43--60. Google Scholar
Cross Ref
- R. Scattolini. 2009. Architectures for distributed and hierarchical model predictive control--a review. Journal of Process Control 19, 5 (2009), 723--731. Google Scholar
Cross Ref
- S. Skogestad and I. Postlethwaite. 2007. Multivariable Feedback Control: Analysis and Design. Vol. 2. Wiley.Google Scholar
- 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 Scholar
- G. Stein. 2003. Respect the unstable. IEEE Control Systems 23, 4 (Aug. 2003), 12--25. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- P. Tabuada. 2007. Event-triggered real-time scheduling of stabilizing control tasks. IEEE Transactions on Automatic Control 52, 9 (Sept. 2007), 1680--1685. Google Scholar
Cross Ref
- G. Tesauro. 2007. Reinforcement learning in autonomic computing: A manifesto and case studies. IEEE Internet Computing 11, 1 (2007), 22--30. Google Scholar
Digital Library
- M. Tribastone. 2013. A fluid model for layered queueing networks. IEEE Transactions on Software Engineering 39, 6 (2013), 744--756. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- B. Wittenmark, K. Åström, and K.-E. Årzén. 2002. Computer Control: An Overview. Technical Report.Google Scholar
- 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 Scholar
Digital Library
- R. Yager and L. Zadeh. 2012. An Introduction to Fuzzy Logic Applications in Intelligent Systems. Springer.Google Scholar
- T. C. Yang. 2006. Networked control system: A brief survey. IEE Proceedings - Control Theory and Applications 153, 4 (July 2006), 403--412. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- K. Zhou, J. C. Doyle, and K. Glover. 1996. Robust and Optimal Control. Prentice-Hall, Upper Saddle River, NJ.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Control Strategies for Self-Adaptive Software Systems
Recommendations
A hybrid approach combining control theory and AI for engineering self-adaptive systems
SEAMS '20: Proceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsControl theoretical techniques have been successfully adopted as methods for self-adaptive systems design to provide formal guarantees about the effectiveness and robustness of adaptation mechanisms. However, the computational effort to obtain ...
Self-adaptive software: Landscape and research challenges
Software systems dealing with distributed applications in changing environments normally require human supervision to continue operation in all conditions. These (re-)configuring, troubleshooting, and in general maintenance tasks lead to costly and time-...
Toward a fuzzy control-based approach to design of self-adaptive software
Internetware '10: Proceedings of the Second Asia-Pacific Symposium on InternetwareSelf-adaptive software is expected to adjust itself attributes or structures at runtime in response to changes. Aiming at addressing some challenging problems such as difficult mathematically modeling software using the current control theoretical ...






Comments