Synthesis of Concurrent Programs Based on Supervisory Control

M. V. Iordache and P. J. Antsaklis

Technical report of the ISIS Group, ISIS-2009-005, Department of Electrical Engineering, University of Notre Dame, September 2009.

Abstract -- This document describes an application of the supervisory control (SC) methods to the synthesis of concurrent programs and presents current work on this topic of research. In particular, special attention is given to the development of software that applies SC to program synthesis. This work is motivated by the difficulties encountered in writing correct programs in the context of concurrency. Writing correct programs is essential for the development of software applications as well as for all other engineering applications in which formal languages are used for system design. In the context of concurrency, SC can be help by addressing issues such as mutual exclusion, liveness, and fairness. In the approach proposed here, SC is applied to Petri net (PN) models of concurrent processes. Then, the resulting control logic is converted to code. 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 the SC of discrete event systems and powerful theoretical results have been developed. However, these results have not yet been applied to Computer Science problems for which PNs were created. The main objective of this research work is to apply SC tools to the automatic synthesis of programming code based on a high-level program specification. The goal is to reduce the programming effort by having more of the higher level requirements implemented automatically. On one hand, the automatically generated code is correct by construction and on the other hand, the programmer has only to manage simpler high-level specifications.

Download document: [pdf, 352k]

Publication List