Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Control Strategies for Self-Adaptive Software Systems

Published: 03 February 2017 Publication History

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.
[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.
[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.
[4]
R. Alur. 2011. Formal verification of hybrid systems. In 2011 Proceedings of the International Conference on Embedded Software (EMSOFT’11). 273--278.
[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.
[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.
[7]
K. Åström and T. Hägglund. 2006. Advanced PID Control. ISA-The Instrumentation, Systems, and Automation Society, Research Triangle Park, NC.
[8]
K. Åström and R. Murray. 2008. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press.
[9]
K. Åström and B. Wittenmark. 2013. Adaptive Control. Dover Publications.
[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.
[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.
[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.
[13]
L. Baresi, E. D. Nitto, and C. Ghezzi. 2006. Toward open-world software: Issues and challenges. Computer 39, 10 (Oct. 2006), 36--43.
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[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.
[22]
D. Brugali. 2007. Software Engineering for Experimental Robotics. Springer, Berlin.
[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.
[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.
[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.
[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.
[27]
E. Camacho and C. Alba. 2013. Model Predictive Control. Springer, London.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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).
[39]
E. Darulova and V. Kuncak. 2013. Certifying Solutions for Numerical Constraints. Springer, Berlin, 277--291.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[49]
R. Dorf and R. Bishop. 2008. Modern Control Systems. Prentice Hall.
[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.
[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.
[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.
[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.
[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.
[55]
J. Filar and K. Vrieze. 1996. Competitive Markov Decision Processes. Springer-Verlag New York, New York, NY.
[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.
[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.
[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.
[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.
[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.
[61]
M. Fowler and K. Beck. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
[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.
[63]
S. Gao, S. Kong, and E. Clarke. 2013. Satisfiability modulo ODEs. In Formal Methods in Computer-Aided Design (FMCAD’13). 105--112.
[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.
[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.
[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.
[67]
R. Goebel, R. Sanfelice, and A. Teel. 2012. Hybrid Dynamical Systems: Modeling, Stability, and Robustness. Princeton University Press.
[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.
[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.
[70]
L. Grüne and J. Pannek. 2011. Nonlinear Model Predictive Control. Springer.
[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.
[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).
[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.
[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.
[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.
[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.
[77]
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley 8 Sons.
[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.
[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.
[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.
[81]
H. Hermes and J. P. Lasalle. 1969. Functional Analysis and Time Optimal Control. Elsevier Science.
[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.
[83]
H. Hoffmann. 2015. Software engineering meets control theory. In Proceedings of the 25th International Symposium on Operating Systems (SOSP’15). ACM, 14.
[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.
[85]
P. Inverardi and M. Tivoli. 2003. Software architecture for correct components assembly. In Formal Methods for Software Architectures. Springer, 92--121.
[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.
[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.
[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.
[89]
J. Jantzen. 2013. Foundations of Fuzzy Control: A Practical Approach. John Wiley 8 Sons.
[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.
[91]
J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41--50.
[92]
E. C. Kerrigan. 2014. Co-design of hardware and algorithms for real-time optimization. In 2014 European Control Conference (ECC’14),. 2484--2489.
[93]
H. Khalil. 2015. Nonlinear Control. Pearson Education.
[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.
[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.
[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.
[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.
[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.
[99]
P. R. Kumar and P. Varaiya. 1986. Stochastic Systems: Estimation, Identification and Adaptive Control. Prentice-Hall, Upper Saddle River, NJ.
[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.
[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.
[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.
[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.
[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.
[105]
A. Leva, M. Maggio, A. Papadopoulos, and F. Terraneo. 2013. Control-Based Operating System Design. IET.
[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.
[107]
W. Levine. 2010. The Control Systems Handbook: Control System Advanced Methods, (2nd ed). Taylor and Francis.
[108]
D. Liberzon. 2003. Switching in Systems and Control. Birkhäuser Boston.
[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.
[110]
L. Ljung. 2012. System Identification: Theory for the User (2nd ed.). Prentice Hall PTR, Upper Saddle River, NJ.
[111]
J. Lunze and F. Lamnabhi-Lagarrigue. 2009. Handbook of Hybrid Systems Control: Theory, Tools, Applications. Cambridge University Press.
[112]
J. Lunze and D. Lehmann. 2010. A state-feedback approach to event-based control. Automatica 46, 1 (2010), 211--215.
[113]
J. Maciejowski. 2002. Predictive Control: With Constraints. Pearson Education.
[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.
[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.
[116]
J. Mendel and D. Wu. 2010. Perceptual Computing: Aiding People in Making Subjective Judgments. Wiley-IEEE Press.
[117]
M. Morari and E. Zafiriou. 1989. Robust Process Control. Prentice Hall, Englewood Cliffs, NJ.
[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.
[119]
A. Muscholl. 2015. Automated Synthesis of Distributed Controllers. Springer, Berlin, 11--27.
[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.
[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.
[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.
[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).
[124]
S. Parekh. 2010. Feedback Control Techniques for Performance Management of Computing Systems. Ph.D. Dissertation. Seattle, WA. Advisor(s): Lazowska, Edward D.
[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.
[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.
[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.
[128]
A. Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science.
[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.
[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.
[131]
M. L. Puterman. 1994. Markov Decision Processes: Discrete Stochastic Dynamic Programming. John Wiley 8 Sons, New York, NY.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[141]
R. Sanz and J. Zalewski. 2003. Pattern-based control systems engineering. IEEE Control Systems 23, 3 (June 2003), 43--60.
[142]
R. Scattolini. 2009. Architectures for distributed and hierarchical model predictive control--a review. Journal of Process Control 19, 5 (2009), 723--731.
[143]
S. Skogestad and I. Postlethwaite. 2007. Multivariable Feedback Control: Analysis and Design. Vol. 2. Wiley.
[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.
[145]
G. Stein. 2003. Respect the unstable. IEEE Control Systems 23, 4 (Aug. 2003), 12--25.
[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.
[147]
P. Tabuada. 2007. Event-triggered real-time scheduling of stabilizing control tasks. IEEE Transactions on Automatic Control 52, 9 (Sept. 2007), 1680--1685.
[148]
G. Tesauro. 2007. Reinforcement learning in autonomic computing: A manifesto and case studies. IEEE Internet Computing 11, 1 (2007), 22--30.
[149]
M. Tribastone. 2013. A fluid model for layered queueing networks. IEEE Transactions on Software Engineering 39, 6 (2013), 744--756.
[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).
[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.
[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.
[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.
[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.
[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.
[156]
B. Wittenmark, K. Åström, and K.-E. Årzén. 2002. Computer Control: An Overview. Technical Report.
[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.
[158]
R. Yager and L. Zadeh. 2012. An Introduction to Fuzzy Logic Applications in Intelligent Systems. Springer.
[159]
T. C. Yang. 2006. Networked control system: A brief survey. IEE Proceedings - Control Theory and Applications 153, 4 (July 2006), 403--412.
[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.
[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.
[162]
K. Zhou, J. C. Doyle, and K. Glover. 1996. Robust and Optimal Control. Prentice-Hall, Upper Saddle River, NJ.
[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.
[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.

Cited By

View all
  • (2023)Adaptive Controllers and Digital Twin for Self-Adaptive Robotic Manipulators2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00017(56-67)Online publication date: May-2023
  • (2022)Runtime Software Architecture-Based Reliability Prediction for Self-Adaptive SystemsSymmetry10.3390/sym1403058914:3(589)Online publication date: 16-Mar-2022
  • (2022)GOAL: Supporting General and Dynamic Adaptation in Computing SystemsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3567655(16-32)Online publication date: 29-Nov-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Autonomous and Adaptive Systems
ACM Transactions on Autonomous and Adaptive Systems  Volume 11, Issue 4
February 2017
166 pages
ISSN:1556-4665
EISSN:1556-4703
DOI:10.1145/3038460
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 February 2017
Accepted: 01 November 2016
Revised: 01 October 2016
Received: 01 September 2015
Published in TAAS Volume 11, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Self-adaptive software
  2. control theory
  3. formal methods
  4. non-functional properties

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)77
  • Downloads (Last 6 weeks)14
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Adaptive Controllers and Digital Twin for Self-Adaptive Robotic Manipulators2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00017(56-67)Online publication date: May-2023
  • (2022)Runtime Software Architecture-Based Reliability Prediction for Self-Adaptive SystemsSymmetry10.3390/sym1403058914:3(589)Online publication date: 16-Mar-2022
  • (2022)GOAL: Supporting General and Dynamic Adaptation in Computing SystemsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3567655(16-32)Online publication date: 29-Nov-2022
  • (2022)Incremental causal connection for self-adaptive systems based on relational reference attribute grammarsProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552460(1-12)Online publication date: 23-Oct-2022
  • (2022)Quantum computing for software engineering: prospectsProceedings of the 1st International Workshop on Quantum Programming for Software Engineering10.1145/3549036.3562060(22-25)Online publication date: 7-Nov-2022
  • (2022)AgileCtrl: a self-adaptive framework for configuration tuningProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549136(459-471)Online publication date: 7-Nov-2022
  • (2022)Robust Dynamic CPU Resource Provisioning in Virtualized ServersIEEE Transactions on Services Computing10.1109/TSC.2020.296697215:2(956-969)Online publication date: 1-Mar-2022
  • (2022)Method of modification of self-adaptive software systems based on ontology2022 IEEE 16th International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering (TCSET)10.1109/TCSET55632.2022.9766856(530-533)Online publication date: 22-Feb-2022
  • (2022)Hands-On Field Operational Test Dataset of a Multi-Controller CPS: A Modeled Case Study on Autonomous Driving2022 17th Annual System of Systems Engineering Conference (SOSE)10.1109/SOSE55472.2022.9812701(205-212)Online publication date: 7-Jun-2022
  • (2022)A Proactive Self-Adaptation Approach for Software Systems based on Environment-Aware Model Predictive Control2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS57517.2022.00103(992-1003)Online publication date: Dec-2022
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media