Technical Briefing: Control Theory for Software Engineering

Antonio Filieri, Martina Maggio · International Conference on Software Engineering · 2016

Pervasiveness and complexity of modern software are challenging engineers to design applications able to guarantee the desired quality of service despite unpredictable runtime variations in their execution environment. A variety of techniques have been proposed in the last year for the design of self-adaptive applications; however, most of them is tailored to specific applications or can provide limited guarantees of effectiveness and dependability. Control theory has, on the other hand, developed a wide set of mathematically grounded methods for many engineering domains that interact with the physical world. However, applying these methods to software systems is not straightforward. Software is rarely designed to be controllable and its behavior is hard to model in formalisms amenable to control. In this technical briefing we will recall a set of foundational concepts of control theory, explain how they can be transposed in the software engineering domain, and discuss some insights into the design of controllable software.

Read the paper · More papers on PaperTik