Reasoning about knowledge
Common knowledge and update in finite environments
Information and Computation
Formal verification of parallel programs
Communications of the ACM
A General Architecture for Decentralized Supervisory Control of Discrete-Event Systems
Discrete Event Dynamic Systems
Undecidable problems of decentralized observation and control on regular languages
Information Processing Letters
An order-based algorithm for implementing multiparty synchronization: Research Articles
Concurrency and Computation: Practice & Experience
Priority Scheduling of Distributed Systems Based on Model Checking
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Methods for knowledge based controlling of distributed systems
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Synthesis of distributed control through knowledge accumulation
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Code mutation in verification and automatic code correction
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
We apply model checking of knowledge properties to the design of distributed controllers that enforce global constraints on concurrent systems. The problem of synthesizing a distributed controller is undecidable in the general case. We thus look at a variant of the synthesis problem that allows adding temporary synchronizations between processes. We calculate when processes can decide autonomously, based on their knowledge, whether to take or block an action so that the global constraint is not violated. The local knowledge of processes may not suffice to control the processes so as to achieve the global constraint without introducing new deadlocks. When individual processes cannot take a decision alone based on their knowledge, one may coordinate several processes to achieve joint knowledge in order to take joint decisions. A fixed coordination among sets of processes may severely degrade concurrency. Therefore, we propose the use of temporary coordinations. Since realizing such coordinations on a distributed platform induces communication overhead, we strive to minimize their number. We show how this framework is applied to the case of synthesizing a distributed controller for enforcing a priority order. Finally, we show that the general undecidability of distributed synthesis without adding synchronization holds even for the particular problem of enforcing a priority order.