Title
Supervisory control of software execution for failure avoidance: Experience from the Gadara project.
Abstract
We discuss our experience in the Gadara project, whose objective is to control the execution of software to avoid potential failures using discrete-event control techniques. We summarize our accomplishments so far and discuss future challenges. After initial work on safety of workflow scripts via supervisory control techniques, we have focused our efforts on deadlock avoidance in multithreaded C programs that use locking primitives to control access to shared data. We describe how we automatically construct automata models of workflows and Petri net models of concurrent programs. In the case of multithreaded C programs, the resulting models characterize a new class of resource-allocation Petri nets called Gadara nets. These nets enjoy structural properties that facilitate the synthesis of liveness-enforcing control policies that are maximally-permissive. We describe our strategy for run-time implementation of these control policies, especially by a technique known as code instrumentation. It is hoped that the lessons learned so far in the Gadara project will be useful in other application areas and will suggest avenues for future theoretical investigations.
Year
DOI
Venue
2010
10.3182/20100830-3-DE-4013.00044
IFAC Proceedings Volumes
Keywords
DocType
Volume
Discrete Event Systems,Supervisory Control,Petri Nets,Software Failures,Deadlock
Conference
43
Issue
ISSN
Citations 
12
1474-6670
6
PageRank 
References 
Authors
0.49
15
8
Name
Order
Citations
PageRank
Yin Wang131516.98
Hyoun Kyu Cho2524.37
Hongwei Liao31159.58
Ahmed Nazeem41237.28
Terence Kelly581353.23
StéPhane Lafortune61738181.23
Scott Mahlke74811312.08
Spyros A. Reveliotis836429.24