A SYSTEMATIC APPROACH TO CONCURRENT PROGRAMMING
BASED ON METHODS FOR THE SUPERVISORY CONTROL OF DISCRETE-EVENT DYNAMICAL SYSTEMS

Our research has initially focused on supervisory control methods based on Petri net models for the system to be controlled and the supervisor. Below is a brief description of an NSF supported project on the topic:


A Supervisory Control Approach to Concurrent Programming
In Collaboration with LeTourneau University
(Marian Iordache)

Summary
In the context of concurrency, programming is complicated by a number of issues that need to be addressed, such as mutual exclusion, liveness, and fairness. Petri nets (PNs) are formal models developed in Computer Science for the modeling of concurrent systems. In Control Systems, PNs have been used in the context of supervisory control (SC) of discrete event systems (DES) and powerful theoretical results have been developed. However, these results have not yet been systematically applied to Computer Science problems for which PNs were created. This research would apply SC tools to the automatic synthesis of programming code based on high-level supervisory control program specifications. SC is of interest because various desirable features of programs can be seen in terms of supervisory control specifications.

The goal of the research is to reduce programming effort by having more of the higher level requirements implemented automatically by the SC tools. While SC methods have been used to obtain control software, neither the application to the synthesis of concurrent programs nor the application of PN based SC methods have been done so far. PNs are natural models of concurrency that allow the use of a number of efficient supervisory control methods, without excluding other approaches. Another new feature of the work is the extraction of a SC specification from a specification language. This topic is of interest in order to obtain compact and easy to develop specifications, hiding the size of the underlying DES models and the technical details involved in the formulation of SC problems. Finally, the research is unique in the way it handles the SC, in an attempt to take advantage of multiple methods available in the literature.

The programming code produced by the SC tools is correct by construction and the programmer has only to manage simpler high-level specifications. The research pursued represents a fresh and novel approach to writing concurrent programs and it involves software development and research on supervisory control methods, specification languages, and code generation strategies. On one hand, the project provides a step forward towards a higher level of automation in the development of concurrent programs. On the other hand, this project will provide a platform for testing, comparing, and developing DES methods in general. Parts of the project will involve students at undergraduate level, will also benefit undergraduate students via undergraduate research and design projects. A major part of the proposed work is being carried out at a primarily undergraduate institution.



PUBLICATIONS
SOFTWARE
ADDITIONAL PUBLICATIONS
Supervisory Control of Discrete Event Systems