Abstract-We consider the control of distributed systems composed of subsystems communicating asynchronously; the aim is to build local controllers that restrict the behavior of a distributed system in order to satisfy a global state avoidance property. We model our distributed systems as communicating finite state machines with reliable unbounded FIFO queues between subsystems. Local controllers can only observe their proper local subsystems and do not observe the queues. To refine their control policy, they can use the FIFO queues to communicate by piggybacking extra information to the messages sent by the subsystems. We define synthesis algorithms allowing to compute the local controllers. We explain how we can ensure the termination of this control algorithm by using abstract interpretation techniques, to overapproximate queue contents by regular languages. An implementation of our algorithms provides an empirical evaluation of our method.
I. INTRODUCTIONIn the framework of control of distributed systems, two classes of systems are generally considered, depending on whether the communications between subsystems are synchronous or not. When the synchrony hypothesis [3] can be made, the decentralized control problem and the modular control problem address the design of coordinated controllers that jointly ensure the desired properties for this kind of systems [26], [22], [21], [9], [13]. When considering asynchronous distributed systems, one have to take into account some communication delays between the components of the system, which renders the distributed control problem much harder even undecidable [24].We are here interested in the second problem i.e., the distributed control problem. Our aim is to solve this problem when the system to be controlled is composed of n subsystems that asynchronously communicate through reliable unbounded FIFO channels (or queues). These subsystems are modeled by communicating finite state machines [5] (CFSM for short) that explicitly express the work and communications of a distributed system. This model appears to be essential for concurrent systems in which components cooperate via asynchronous message passing through unbounded buffers (they are e.g. widely used to model communication protocols). We thus assume that the distributed system is already built and the architecture of communication between the different subsystems is fixed. Following the architecture described in Figure 1, we assume that each subsystem is