Supervisory control of a class of discrete event processes
SIAM Journal on Control and Optimization
Common knowledge and update in finite environments
Information and Computation
Petri Net Theory and the Modeling of Systems
Petri Net Theory and the Modeling of Systems
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A General Architecture for Decentralized Supervisory Control of Discrete-Event Systems
Discrete Event Dynamic Systems
Distributed Controller Synthesis for Local Specifications
ICALP '01 Proceedings of the 28th International Colloquium on Automata, Languages and Programming,
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
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
Distributed reactive systems are hard to synthesize
SFCS '90 Proceedings of the 31st Annual Symposium on Foundations of Computer Science
Priority Scheduling of Distributed Systems Based on Model Checking
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Synthesis of asynchronous systems
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
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
Achieving distributed control through model checking
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Hi-index | 0.00 |
Distributed control for enforcing a global invariant can be achieved based on calculating the knowledge of processes. When the local knowledge of individual processes is insufficient, processes can temporarily join their knowledge by means of synchronization. While synchronization can be used to guarantee progress, it is computationally expensive and should be used sparsely. In this paper, we introduce several solutions for minimizing the synchronization overhead. One possibility is to calculate the knowledge of a process of whether or not the system can progress without it. This knowledge can be used by the process to avoid unnecessary synchronization. Because of the distributed nature of the system, mutual passing of responsibility, based on such knowledge may result in deadlocks. We discuss three independent solutions to this problem. Our first solution breaks the symmetry between processes in order to avoid such situations, while our second solution is based on chance (coin tossing). Finally, we use automatically constructed stable properties to increase the joint knowledge of processes in order to minimize the number of processes that need to interact.