In the synthesis of distributed systems, we automate the development of distributed programs and hardware by automatically deriving correct implementations from formal specifications. For synchronous distributed systems, the synthesis problem is well known to be undecidable. For asynchronous systems, the boundary between decidable and undecidable synthesis problems is a long-standing open question. We study the problem in the setting of Petri games, a framework for distributed systems where asynchronous processes are equipped with causal memory. Petri games extend Petri nets with a distinction between system places and environment places. The components of a distributed system are the players of the game, represented as tokens that exchange information during each synchronization. Previous decidability results for this model are limited to local winning conditions, i.e., conditions that only refer to individual components. In this paper, we consider global winning conditions such as mutual exclusion, i.e., conditions that refer to the state of all components. We provide decidability and undecidability results for global winning conditions. First, we prove for winning conditions given as bad markings that it is decidable whether a winning strategy for the system players exists in Petri games with a bounded number of system players and one environment player. Second, we prove for winning conditions that refer to both good and bad markings that it is undecidable whether a winning strategy for the system players exists in Petri games with at least two system players and one environment player. Our results thus show that, on the one hand, it is indeed possible to use global safety specifications like mutual exclusion in the synthesis of distributed systems. However, on the other hand, adding global liveness specifications results in an undecidable synthesis problem for almost all Petri games.
翻译:在分布式系统的合成中,我们通过从正式的规格中自动得出正确执行来自动开发分布式的程序和硬件。对于同步分布式的系统,合成问题是众所周知的。对于不同步的系统,可变和不可变合成问题之间的界限是一个长期的未决问题。我们研究在Petri游戏的设置中存在的问题,即分配式系统的框架,其中不同步的过程含有因果记忆。Petri游戏将Petrii 网与系统规格和环境位置区别开来。对于同步分布式的系统,分布式系统的组成部分是游戏的玩家,代表着在每次同步期间交换信息的象征。这一模型以前的衰落式结果仅限于当地的赢家条件,即仅指个别组成部分的条件。在本文中,我们考虑的是诸如相互排斥,即手式的游戏框架,所有各组成部分的状态都包含因果关系。我们为全球赢家的系统提供了衰变和不可变的结果。首先,我们证明,在游戏的不坏的运行者在第二个系统里,是否能够让一个运动家看到一个好的游戏游戏游戏的胜利战略,但是,在另一个游戏机的赢家中间,这个系统里,我们就会看到一个运动家的游戏的赢得分数。