Feedback Controlled Software Systems
William B. Dunbar, Eric Klavins, Stephen Waydo · CaltechAUTHORS (California Institute of Technology) · 2003
Abstract: Software systems generally su®er from a certain fragility in the face of \\disturbances " such as bugs, unforseen user input, unmodeled interactions with other software components, and so on. A single such disturbance can make the machine on which the software is executing hang or crash. What seems to be required to address this fragility is a general means of using feedback to stabilize these systems. In this paper we develop a preliminary dynamical systems model of iterative software processes along with the conceptual framework for \\stabiliz-ing " them in the presence of disturbances. To keep the computational burden of the controllers we design low, randomization and approximation are used. We describe initial attemps to apply the model to a faulty list sorter, using feedback to improve its performance. Methods by which software robustness can be en-hanced by distributing a task between nodes which are capable of selecting the \\best " input to process are also examined, and the particular case of a sorting system consisting of a network of partial sorters, some of which may be buggy or even malicious, is examined. 1