This chapter presents a new paradigm to control software systems based on the Supervisory Control Theory (SCT). The proposed method uses SCT to model the execution process of a software application by restricting the actions of the OS with little or no modifications in the underlying OS. This approach can be generalized to other software applications as the interactions of an application with the Operating System (OS) are modelled at the process level as a Deterministic Finite State Automaton (DFSA), called as the plant. A supervisor that controls the plant is also a DFSA that represents a set of control specifications. The supervisor operates synchronously with the plant to restrict the language accepted by the plant to satisfy the control specifications. As a proof-of-concept for software fault management, two supervisors have been implemented under the Redhat Linux 7.2 OS to mitigate overflow and segmentation faults in five different programs. The performance of the unsupervised plant and that of the supervised plant are quantified by using the Language Measure, described in Chapter 1.
All Science Journal Classification (ASJC) codes
- Computer Science(all)