Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2821357.2821370acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Software engineering meets control theory

Published: 16 May 2015 Publication History

Abstract

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.

References

[1]
T. Abdelzaher, Y. Diao, J. L. Hellerstein, C. Lu, and X. Zhu. "Introduction to Control Theory And Its Application to Computing Systems". In: Performance Modeling and Engineering. Ed. by Z. Liu and C. Xia. Springer US, 2008, pp. 185--215.
[2]
D. Arcelli, V. Cortellessa, A. Filieri, and A. Leva. "Control Theory for Model-based Performance-driven Software Adaptation". In: QoSA. ACM, 2015 - to appear.
[3]
K. J. Åström and R. M. Murray. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press, 2008. URL: http://resolver.caltech.edu/CaltechBOOK:2008.003.
[4]
C. Baier, M. Grer, M. Leucker, B. Bollig, and F. Ciesinski. "Controller synthesis for probabilistic systems". In: In Proceedings of IFIP TCS2004. Kluwer, 2004.
[5]
N. Basset, M. Kwiatkowska, and C. Wiltsche. "Compositional Controller Synthesis for Stochastic Games". In: 25th International Conference on Concurrency Theory (CONCUR'14). Vol. 8704. LNCS. Springer, 2014, pp. 173--187.
[6]
S. Boyd, C. Baratt, and S. Norman. "Linear controller design: limits of performance via convex optimization". In: Proceedings of the IEEE 78.3 (1990), pp. 529--574.
[7]
T. Brázdil, V. Forejt, and A. Kučera. "Controller Synthesis and Verification for Markov Decision Processes with Qualitative Branching Time Objectives". In: vol. 5126. LNCS. Springer, 2008, pp. 148--159.
[8]
Y. Brun, G. D. M. Serugendo, C. Gacek, H. Giese, H. Kienle, M. Litoiu, H. Müller, M. Pezzè, and M. Shaw. "Engineering Self-Adaptive Systems through Feedback Loops". In: Software Engineering for Self-Adaptive Systems. Vol. 5525. LNCS. Springer, 2009, pp. 48--70.
[9]
G. Calafiore and M. C. Campi. "Uncertain convex programs: randomized solutions and confidence levels". In: Mathematical Programming 102.1 (2005), pp. 25--46.
[10]
R. Calinescu, C. Ghezzi, M. Kwiatkowska, and R. Mirandola. "Self-adaptive software needs quantitative verification at runtime". In: Communications of the ACM 55.9 (2012), pp. 69--77.
[11]
M. C. Campi and S. Garatti. "A Sampling-and-Discarding Approach to Chance-Constrained Optimization: Feasibility and Optimality". In: Journal of Optimization Theory and Applications 148.2 (2011), pp. 257--280.
[12]
M. C. Campi, S. Garatti, and M. Prandini. "The scenario approach for systems and control design". In: Annual Reviews in Control 33.2 (2009), pp. 149--157.
[13]
T. Chen, V. Forejt, M. Kwiatkowska, D. Parker, and A. Simaitis. "PRISM-games: A Model Checker for Stochastic Multi-Player Games". In: ed. by N. Piterman and S. Smolka. Vol. 7795. TACAS. Springer, 2013, pp. 185--191.
[14]
B. H. Cheng et al. "Software Engineering for Self-Adaptive Systems". In: Software Engineering for Self-Adaptive Systems. Ed. by B. H. Cheng, R. Lemos, H. Giese, P. Inverardi, and J. Magee. Springer-Verlag, 2009. Chap. Software Engineering for Self-Adaptive Systems: A Research Roadmap, pp. 1--26.
[15]
E. Darulova and V. Kuncak. "Sound Compilation of Reals". In: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL '14. ACM, 2014, pp. 235--248.
[16]
Y. Diao, J. Hellerstein, S. Parekh, R. Griffith, G. Kaiser, and D. Phung. "Self-managing systems: a control theory foundation". In: ECBS Workshop. 2005, pp. 441--448.
[17]
Y. Diao, J. L. Hellerstein, S. Parekh, R. Griffith, G. E. Kaiser, and D. Phung. "A Control Theory Foundation for Self-managing Computing Systems". In: IEEE J. Sel. A. Commun. 23.12 (Sept. 2006), pp. 2213--2222.
[18]
N. D'Ippolito, V. A. Braberman, N. Piterman, and S. Uchitel. "Synthesis of live behaviour models for fallible domains". In: ICSE. ACM, 2011, pp. 211--220.
[19]
N. R. D'Ippolito, V. Braberman, N. Piterman, and S. Uchitel. "Synthesis of Live Behaviour Models". In: FSE. ACM, 2010, pp. 77--86.
[20]
R. Dorf and R. Bishop. Modern control systems. Prentice Hall, 2008.
[21]
K. Draeger, V. Forejt, M. Kwiatkowska, D. Parker, and M. Ujma. "Permissive Controller Synthesis for Probabilistic Systems". In: vol. 8413. TACAS. Springer, 2014, pp. 531--546.
[22]
I. Epifani, C. Ghezzi, R. Mirandola, and G. Tamburrelli. "Model evolution by run-time parameter adaptation". In: ICSE. IEEE. 2009, pp. 111--121.
[23]
A. Filieri, C. Ghezzi, A. Leva, and M. Maggio. "Reliability-driven dynamic binding via feedback control". In: SEAMS. 2012, pp. 43--52.
[24]
A. Filieri, C. Ghezzi, and G. Tamburrelli. "A formal approach to adaptive software: continuous assurance of non-functional requirements". In: Formal Asp. Comput. 24.2 (2012), pp. 163--186.
[25]
A. Filieri, H. Hoffmann, and M. Maggio. "Automated Design of Self-adaptive Software with Control-theoretical Formal Guarantees". In: ICSE. ACM, 2014, pp. 299--310.
[26]
A. Filieri, L. Grunske, and A. Leva. "Lightweight Adaptive Filtering for Efficient Learning and Updating of Probabilistic Models". In: ICSE. IEEE, 2015 - to appear.
[27]
A. Filieri, C. Ghezzi, A. Leva, and M. Maggio. "Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements". In: ASE. IEEE, 2011, pp. 283--292.
[28]
M. Franzle and C. Herde. "HySAT: An efficient proof engine for bounded model checking of hybrid systems". In: Form Method Syst Des 30.3 (2007), pp. 179--198.
[29]
S. Gao, S. Kong, and E. Clarke. "Satisfiability modulo ODEs". In: Formal Methods in Computer-Aided Design (FMCAD), 2013. 2013, pp. 105--112.
[30]
D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. "Rainbow: architecture-based self-adaptation with reusable infrastructure". In: Computer 37.10 (2004), pp. 46--54.
[31]
M. Glinz. "On Non-Functional Requirements". In: RE. 2007, pp. 21--26.
[32]
S. Govindan, J. Liu, A. Kansal, and A. Sivasubramaniam. "Cuanta: Quantifying Effects of Shared On-chip Resource Interference for Consolidated Virtual Machines". In: SOCC. ACM, 2011, 22:1--22:14.
[33]
J. L. Hellerstein. "Engineering Autonomic Systems". In: ICAC. ACM, 2009, pp. 75--76.
[34]
J. L. Hellerstein, V. Morrison, and E. Eilebrecht. "Applying control theory in the real world: experience with building a controller for the .NET thread pool". In: SIGMETRICS Perform. Eval. Rev. 37.3 (2010), pp. 38--42.
[35]
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury. Feedback Control of Computing Systems. John Wiley & Sons, 2004.
[36]
T. Henzinger, P.-H. Ho, and H. Wong-Toi. "HyTech: A model checker for hybrid systems". In: vol. 1254. CAV. Springer, 1997, pp. 460--463.
[37]
H. Hoffmann et al. "Self-aware computing in the Angstrom processor". In: DAC. 2012, pp. 259--264.
[38]
H. Hoffmann. "CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running on Power-Aware Systems". In: ECRTS. 2014, pp. 223--232.
[39]
H. Hoffmann, M. Maggio, M. D. Santambrogio, A. Leva, and A. Agarwal. "A generalized software framework for accurate and efficient management of performance goals". In: EMSOFT. 2013, pp. 1--10.
[40]
M. C. Huebscher and J. A. McCann. "A Survey of Autonomic Computing - Degrees, Models, and Applications". In: ACM Comput. Surv. 40.3 (Aug. 2008), 7:1--7:28.
[41]
J. Kephart and D. Chess. "The vision of autonomic computing". In: Computer 36.1 (2003), pp. 41--50.
[42]
C. Klein, M. Maggio, K.-E. Årzén, and F. Hernández-Rodriguez. "Brownout: Building More Robust Cloud Applications". In: ICSE. ACM, 2014, pp. 700--711.
[43]
C. Klein, A. V. Papadopoulos, M. Dellkrantz, J. Durango, M. Maggio, K.-E. Arzen, F. Hernandez-Rodriguez, and E. Elmroth. "Improving Cloud Service Resilience Using Brownout-Aware Load-Balancing". In: SRDS. IEEE, 2014, pp. 31--40.
[44]
J. Kramer and J. Magee. "Self-Managed Systems: an Architectural Challenge". In: FOSE. IEEE CS, 2007, pp. 259--268.
[45]
F. Krikava, P. Collet, R. France, et al. "ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures". In: Symposium On Applied Computing, track on Dependable and Dependable and Adaptive Distributed Systems. 2014.
[46]
M. Kwiatkowska and D. Parker. "Automated Verification and Strategy Synthesis for Probabilistic Systems". In: vol. 8172. ATVA. Springer, 2013, pp. 5--22.
[47]
J. Lelli, G. Lipari, D. Faggioli, and T. Cucinotta. "An efficient and scalable implementation of global EDF in Linux". In: OSPERT. 2011.
[48]
A. Leva, M. Maggio, A. V. Papadopoulos, and F. Terraneo. Control-based operating system design. Control Engineering Series. IET, 2013.
[49]
W. Levine. The Control Systems Handbook, Second Edition: Control System Advanced Methods, Second Edition. Electrical Engineering Handbook. Taylor and Francis, 2010.
[50]
J Liu, J. Eker, and J. Janneck. "Actor-oriented control system design: A responsible framework perspective". In: IEEE Trans. Control Syst. Technol. 12.2 (2004), pp. 250--262.
[51]
C. Lu, Y. Lu, T. Abdelzaher, J. Stankovic, and S. Son. "Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers". In: IEEE Trans. Parallel Distrib. Syst. 17.9 (2006), pp. 1014--1027.
[52]
M. Maggio, H. Hoffmann, A. V. Papadopoulos, J. Panerati, M. D. Santambrogio, A. Agarwal, and A. Leva. "Comparison of Decision Making Strategies for Self-Optimization in Autonomic Computing Systems". In: ACM T Auton Adap Sys 7.4 (2012), 36:1--36:32.
[53]
M. Maggio, H. Hoffmann, M. D. Santambrogio, A. Agarwal, and A. Leva. "Power optimization in embedded systems via feedback control of resource allocation". In: IEEE Trans. Control Syst. Technol. 21.1 (2013).
[54]
A. Muttreja, A. Raghunathan, S. Ravi, and N. K. Jha. "Automated Energy/Performance Macromodeling of Embedded Software". In: IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 26.3 (2007), pp. 542--552.
[55]
P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, and A. L. Wolf. "An Architecture-Based Approach to Self-Adaptive Software". In: IEEE Intelligent Systems 14.3 (1999), pp. 54--62.
[56]
A. V. Papadopoulos and M. Prandini. "Model reduction of switched affine systems: a method based on balanced truncation and randomized optimization". In: HSCC. ACM, 2014, pp. 113--122.
[57]
A. V. Papadopoulos, M. Maggio, F. Terraneo, and A. Leva. "A Dynamic Modelling Framework for Control-based Computing System Design". In: Math Comp Model Dyn (2014). 2014.942785.
[58]
S. Parekh. "Feedback Control Techniques for Performance Management of Computing Systems". PhD thesis. 2010.
[59]
T. Patikirikorala, A. Colman, J. Han, and L. Wang. "A Systematic Survey on the Design of Self-adaptive Software Systems Using Control Engineering Approaches". In: SEAMS. IEEE, 2012, pp. 33--42.
[60]
M. L. Puterman. Markov Decision Processes: Discrete Stochastic Dynamic Programming. 1st. John Wiley & Sons, Inc., 1994.
[61]
J.-F. Raskin. "An Introduction to Hybrid Automata". In: Handbook of Networked and Embedded Control Systems. Control Engineering. Birkhauser Boston, 2005, pp. 491--517.
[62]
M. Salehie and L. Tahvildari. "Self-adaptive Software: Landscape and Research Challenges". In: ACM Trans. Auton. Adapt. Syst. 4.2 (May 2009), 14:1--14:42.
[63]
M. Shafique, L. Bauer, and J. Henkel. "enBudget: A Run-Time Adaptive Predictive Energy-Budgeting scheme for energy-aware Motion Estimation in H.264/MPEG-4 AVC video encoder". In: DATE. 2010, pp. 1725--1730.
[64]
V. E. S. Souza, A. Lapouchnian, and J. Mylopoulos. "System Identification for Adaptive Software Systems: a Requirements Engineering Perspective". In: Conceptual Modeling -- ER 2011. Vol. 6998. LNCS. Springer, 2011, pp. 346--361.
[65]
V. E. S. Souza, A. Lapouchnian, W. N. Robinson, and J. Mylopoulos. "Awareness Requirements for Adaptive Systems". In: SEAMS. ACM, 2011, pp. 60--69.
[66]
G. Stein. "Respect the unstable". In: Control Systems, IEEE 23.4 (2003), pp. 12--25.
[67]
Q. Sun, G. Dai, and W. Pan. "LPV Model and Its Application in Web Server Performance Control". In: CSSE. Vol. 3. IEEE CS, 2008, pp. 486--489.
[68]
M. Tanelli, D. Ardagna, and M. Lovera. "LPV model identification for Power Management of Web service Systems". In: MSC. IEEE Control Systems Society, 2008, pp. 1171--1176.
[69]
A. Visioli. Practical PID Control. Advances in Industrial Control. Springer, 2006.
[70]
T. Vogel and H. Giese. "Model-Driven Engineering of Self-Adaptive Software with EUREMA". In: ACM Trans. Auton. Adapt. Syst. 8.4 (2014), 18:1--18:33.
[71]
W.-P. Wang, D. Tipper, and S. Banerjee. "A simple approximation for modeling nonstationary queues". In: vol. 1. INFOCOM. IEEE, 1996, pp. 255--262.
[72]
D. Weyns and T. Ahmad. "Claims and Evidence for Architecture-based Self-adaptation: A Systematic Literature Review". In: ECSA. Springer, 2013, pp. 249--265.
[73]
K. Zhou, J. C. Doyle, K. Glover, et al. Robust and optimal control. Vol. 40. Prentice Hall, 1996.
[74]
X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, P. Padala, and K. Shin. "What does control theory bring to systems research?" In: SIGOPS Oper. Syst. Rev. 43 (1 2009), pp. 62--69.

Cited By

View all
  • (2024)Controller Synthesis for Autonomous Systems With Deep-Learning Perception ComponentsIEEE Transactions on Software Engineering10.1109/TSE.2024.338537850:6(1374-1395)Online publication date: 10-Apr-2024
  • (2021)Lightweight self-adaptive configuration using machine learningProceedings of the 31st Annual International Conference on Computer Science and Software Engineering10.5555/3507788.3507807(133-142)Online publication date: 22-Nov-2021
  • (2020)A hybrid approach combining control theory and AI for engineering self-adaptive systemsProceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3387939.3391595(9-19)Online publication date: 29-Jun-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SEAMS '15: Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
May 2015
186 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 16 May 2015

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 31 submissions, 55%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Controller Synthesis for Autonomous Systems With Deep-Learning Perception ComponentsIEEE Transactions on Software Engineering10.1109/TSE.2024.338537850:6(1374-1395)Online publication date: 10-Apr-2024
  • (2021)Lightweight self-adaptive configuration using machine learningProceedings of the 31st Annual International Conference on Computer Science and Software Engineering10.5555/3507788.3507807(133-142)Online publication date: 22-Nov-2021
  • (2020)A hybrid approach combining control theory and AI for engineering self-adaptive systemsProceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3387939.3391595(9-19)Online publication date: 29-Jun-2020
  • (2019)Runtime Monitoring and Resolution of Probabilistic Obstacles to System GoalsACM Transactions on Autonomous and Adaptive Systems10.1145/333780014:1(1-40)Online publication date: 31-Aug-2019
  • (2019)Overload Protection of Cloud-IoT Applications by Feedback Control of Smart DevicesProceedings of the 2019 ACM/SPEC International Conference on Performance Engineering10.1145/3297663.3309673(51-58)Online publication date: 4-Apr-2019
  • (2019)Data-driven environment modeling for adaptive system-of-systemsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297618(2044-2047)Online publication date: 8-Apr-2019
  • (2019)OCCI-compliant, fully causal-connected architecture runtime models supporting sensor managementProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00032(188-194)Online publication date: 25-May-2019
  • (2018)Architectural Principles for Cloud SoftwareACM Transactions on Internet Technology10.1145/310402818:2(1-23)Online publication date: 2-Feb-2018
  • (2018)Control-Theoretical Software AdaptationIEEE Transactions on Software Engineering10.1109/TSE.2017.270457944:8(784-810)Online publication date: 1-Aug-2018
  • (2018)A self-learning approach for validation of runtime adaptation in service-oriented systemsService Oriented Computing and Applications10.1007/s11761-017-0222-012:1(11-24)Online publication date: 1-Mar-2018
  • Show More Cited By

View Options

Get Access

Login options

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