🤖 AI Summary
This paper addresses the synthesis of asynchronous automata under fairness constraints, focusing on strong fairness—requiring that every global cycle contains at least one action by each process to prevent starvation. For specifications given as deterministic finite automata (DFA) encoding such fairness constraints, we propose a novel construction method grounded in an enhanced Zielonka graph framework. Our approach explicitly encodes fairness requirements and integrates distributed state partitioning with synchronous action analysis. The key contribution is a scalable synthesis algorithm: each process’s local state space grows linearly with the number of DFA states and only exponentially in the fairness parameter—the length of the longest path not involving all processes. Moreover, the construction supports hierarchical composition. Compared to conventional methods, our approach substantially mitigates state-space explosion, yielding asynchronous automata that are more concise, modular, correct-by-construction, and guaranteed to satisfy strong fairness.
📝 Abstract
Asynchronous automata are a model of distributed finite state processes synchronising on shared actions. A celebrated result by Zielonka shows how a deterministic asynchronous automaton (AA) can be synthesised, starting from two inputs: a global specification as a deterministic finite-state automaton (DFA) and a distribution of the alphabet into local alphabets for each process. The translation is particularly complex and has been revisited several times. In this work, we revisit this construction on a restricted class of fair specifications: a DFA described a fair specification if in every loop, all processes participate in at least one action - so, no process is starved. For fair specifications, we present a new construction to synthesise an AA. Our construction is conceptually simpler and results in an AA where every process has a number of local states that is linear in the number of states of the DFA, and where the only exponential explosion is related to a parameter of fairness (the length of the longest word that can be read in the DFA in which not every process participates). Finally, we show how this construction can be combined with an existing construction for hierarchical process architectures.