Supervisory control of software systems

We present a new paradigm to control software systems based on the supervisory control theory (SCT). Our method uses the SCT to model the execution of a software application by restricting the actions of the OS with little or no modifications in the underlying OS. Our approach can be generalized to any software application as the interactions of the application with the OS are modeled at a process level as a deterministic finite state automaton (DFSA) termed as a "plant." A "supervisor" that controls the plant is a DFSA synthesized from 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. Using the above method of control to mitigate faults, as a proof-of-concept, we implement two supervisors under the Redhat Linux 7.2 OS to mitigate overflow and segmentation faults in five different programs. We quantify the performance of the unsupervised and supervised plant by using a language measure and give methods to compute the measure using state transition cost matrix and characteristic vector.

[1]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[2]  Yennun Huang,et al.  Software rejuvenation: analysis, module and applications , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[3]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[4]  Rob Williams,et al.  Linux device drivers , 2006 .

[5]  Malcolm Pradhan,et al.  Optimal Monte Carlo Estimation of Belief Network Inference , 1996, UAI.

[6]  Úlfar Erlingsson,et al.  SASI enforcement of security policies: a retrospective , 1999, NSPW '99.

[7]  Jarred Adam Ligatti,et al.  More Enforceable Security Policies , 2002 .

[8]  Asok Ray,et al.  MEASURE OF REGULAR LANGUAGES , 2004 .

[9]  Greg Kroah-Hartman,et al.  Linux Device Drivers , 1998 .

[10]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[11]  Asok Ray,et al.  Supervisory control of software systems for fault mitigation , 2003, Proceedings of the 2003 American Control Conference, 2003..

[12]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[13]  Asok Ray,et al.  Signed real measure of regular languages for discrete-event automata , 2003 .

[14]  Vijay K. Garg,et al.  Modeling and Control of Logical Discrete Event Systems , 1994 .

[15]  Fred B. Schneider,et al.  Enforceable security policies , 2000, TSEC.

[16]  Gabor Karsai,et al.  An Approach to Self-adaptive Software Based on Supervisory Control , 2001, IWSAS.

[17]  Asok Ray,et al.  Signed real measure of regular languages , 2003, 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475).

[18]  M. Heymann Concurrency and discrete event control , 1990, IEEE Control Systems Magazine.

[19]  Asok Ray,et al.  On-line identification of language measure parameters for discrete event supervisory control , 2003, 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475).

[20]  Asok Ray,et al.  A language measure for performance evaluation of discrete-event supervisory control systems , 2004 .

[21]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[22]  W. Richard Stevens,et al.  Unix network programming , 1990, CCRV.