Software Engineering Meets Control Theory

The software engineering community has proposed numerous approaches for making software self-adaptive. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. Control theory, in particular, has received considerable attention as it represents a general methodology for creating adaptive systems. Control-theoretical software implementations, however, tend to be ad hoc. While such solutions often work in practice, it is difficult to understand and reason about the desired properties and behavior of the resulting adaptive software and its controller. This paper discusses a control design process for software systems which enables automatic analysis and synthesis of a controller that is guaranteed to have the desired properties and behavior. The paper documents the process and illustrates its use in an example that walks through all necessary steps for self-adaptive controller synthesis.

[1]  William S. Levine,et al.  Handbook of Networked and Embedded Control Systems (Control Engineering) , 2005 .

[2]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

[3]  Marta Z. Kwiatkowska,et al.  Permissive Controller Synthesis for Probabilistic Systems , 2014, TACAS.

[4]  Henry Hoffmann,et al.  Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems , 2012, TAAS.

[5]  Vittorio Cortellessa,et al.  Control theory for model-based performance-driven software adaptation , 2015, 2015 11th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA).

[6]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[7]  Martin Fränzle,et al.  HySAT: An efficient proof engine for bounded model checking of hybrid systems , 2007, Formal Methods Syst. Des..

[8]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[9]  Christel Baier,et al.  Controller Synthesis for Probabilistic Systems , 2004, IFIP TCS.

[10]  Antonio Visioli,et al.  Practical PID Control , 2006 .

[11]  Jie Liu,et al.  Cuanta: quantifying effects of shared on-chip resource interference for consolidated virtual machines , 2011, SoCC.

[12]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[13]  Sang Hyuk Son,et al.  Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers , 2006, IEEE Transactions on Parallel and Distributed Systems.

[14]  Alberto Leva,et al.  Control-Based Operating System Design , 2013, IET Control Engineering Series.

[15]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[16]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[17]  Marta Z. Kwiatkowska,et al.  Automated Verification and Strategy Synthesis for Probabilistic Systems , 2013, ATVA.

[18]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[19]  Taolue Chen,et al.  PRISM-games: A Model Checker for Stochastic Multi-Player Games , 2013, TACAS.

[20]  Alberto Leva,et al.  A dynamic modelling framework for control-based computing system design , 2015 .

[21]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[22]  Erik Elmroth,et al.  Improving Cloud Service Resilience Using Brownout-Aware Load-Balancing , 2014, 2014 IEEE 33rd International Symposium on Reliable Distributed Systems.

[23]  Marta Z. Kwiatkowska,et al.  Permissive Controller Synthesis for Probabilistic Systems , 2014, TACAS.

[24]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[25]  Gail E. Kaiser,et al.  A control theory foundation for self-managing computing systems , 2005, IEEE Journal on Selected Areas in Communications.

[26]  Stephen P. Boyd,et al.  Linear controller design: limits of performance via convex optimization , 1990 .

[27]  Henry Hoffmann,et al.  Power Optimization in Embedded Systems via Feedback Control of Resource Allocation , 2013, IEEE Transactions on Control Systems Technology.

[28]  Kang G. Shin,et al.  What does control theory bring to systems research? , 2009, OPSR.

[29]  Viktor Kuncak,et al.  Sound compilation of reals , 2013, POPL.

[30]  Chenyang Lu,et al.  Introduction to Control Theory And Its Application to Computing Systems , 2008 .

[31]  Edward A. Lee,et al.  Actor-oriented control system design: a responsible framework perspective , 2004, IEEE Transactions on Control Systems Technology.

[32]  Tomás Brázdil,et al.  Controller Synthesis and Verification for Markov Decision Processes with Qualitative Branching Time Objectives , 2008, ICALP.

[33]  Anish Muttreja,et al.  Automated Energy/Performance Macromodeling of Embedded Software , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[34]  Henry Hoffmann,et al.  A generalized software framework for accurate and efficient management of performance goals , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[35]  Marco C. Campi,et al.  A Sampling-and-Discarding Approach to Chance-Constrained Optimization: Feasibility and Optimality , 2011, J. Optim. Theory Appl..

[36]  Jean-François Raskin,et al.  An Introduction to Hybrid Automata , 2005, Handbook of Networked and Embedded Control Systems.

[37]  Henry Hoffmann,et al.  A Generalized Software System for Accurate and Efficient Management of Application Performance Goals , 2013, EMSOFT 2013.

[38]  Maria Prandini,et al.  The scenario approach for systems and control design , 2009, Annu. Rev. Control..

[39]  Naresh K. Sinha,et al.  Modern Control Systems , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[40]  Edward D. Lazowska,et al.  Feedback control techniques for performance management of computing systems , 2010 .

[41]  Henry Hoffmann,et al.  CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running on Power-Aware Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[42]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[43]  Joseph L. Hellerstein,et al.  Applying control theory in the real world: experience with building a controller for the .NET thread pool , 2010, PERV.

[44]  Danny Weyns,et al.  Claims and Evidence for Architecture-Based Self-adaptation: A Systematic Literature Review , 2013, ECSA.

[45]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[46]  Marco Lovera,et al.  LPV model identification for power management of Web service systems , 2008, 2008 IEEE International Conference on Control Applications.

[47]  Joseph L. Hellerstein Engineering autonomic systems , 2009, ICAC '09.

[48]  Lars Grunske,et al.  Lightweight Adaptive Filtering for Efficient Learning and Updating of Probabilistic Models , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[49]  Maria Prandini,et al.  Model reduction of switched affine systems: a method based on balanced truncation and randomized optimization , 2014, HSCC.

[50]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[51]  Thomas Vogel,et al.  Model-Driven Engineering of Self-Adaptive Software with EUREMA , 2014, ACM Trans. Auton. Adapt. Syst..

[52]  Sujata Banerjee,et al.  A simple approximation for modeling nonstationary queues , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[53]  Sebastián Uchitel,et al.  Synthesis of live behaviour models for fallible domains , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[54]  Karl-Erik Årzén,et al.  Brownout: building more robust cloud applications , 2014, ICSE.

[55]  Carlo Ghezzi,et al.  Reliability-driven dynamic binding via feedback control , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[56]  J. Doyle,et al.  Robust and optimal control , 1995, Proceedings of 35th IEEE Conference on Decision and Control.

[57]  John Mylopoulos,et al.  System Identification for Adaptive Software Systems: A Requirements Engineering Perspective , 2011, ER.

[58]  Sebastián Uchitel,et al.  Synthesis of live behaviour models , 2010, FSE '10.

[59]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[60]  John Mylopoulos,et al.  Awareness requirements for adaptive systems , 2011, SEAMS '11.

[61]  Marta Z. Kwiatkowska,et al.  Compositional Controller Synthesis for Stochastic Games , 2014, CONCUR.

[62]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[63]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[64]  Gail E. Kaiser,et al.  Self-managing systems: a control theory foundation , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[65]  Muhammad Shafique,et al.  enBudget: A Run-Time Adaptive Predictive Energy-Budgeting scheme for energy-aware Motion Estimation in H.264/MPEG-4 AVC video encoder , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[66]  Mi-Ching Tsai,et al.  Robust and Optimal Control , 2014 .

[67]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[68]  Cucinotta Tommaso,et al.  An efficient and scalable implementation of global EDF in Linux , 2011 .

[69]  G. Stein,et al.  Respect the unstable , 2003 .

[70]  Qilu Sun,et al.  LPV Model and Its Application in Web Server Performance Control , 2008, 2008 International Conference on Computer Science and Software Engineering.

[71]  John Mylopoulos,et al.  Dealing with multiple failures in zanshin: a control-theoretic approach , 2014, SEAMS 2014.

[72]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[73]  George Kurian,et al.  Self-aware computing in the Angstrom processor , 2012, DAC Design Automation Conference 2012.

[74]  Giuseppe Carlo Calafiore,et al.  Uncertain convex programs: randomized solutions and confidence levels , 2005, Math. Program..

[75]  Edmund M. Clarke,et al.  Satisfiability modulo ODEs , 2013, 2013 Formal Methods in Computer-Aided Design.

[76]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[77]  Jun Han,et al.  A systematic survey on the design of self-adaptive software systems using control engineering approaches , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[78]  Philippe Collet,et al.  ACTRESS: domain-specific modeling of self-adaptive software architectures , 2014, SAC.

[79]  William S. Levine,et al.  The Control Systems Handbook , 2009 .

[80]  M. Hoagland,et al.  Feedback Systems An Introduction for Scientists and Engineers SECOND EDITION , 2015 .