Two-player games are a fruitful way to represent and reason about several important synthesis tasks. These tasks include controller synthesis (where one asks for a controller for a given plant such that the controlled plant satisfies a given temporal specification), program repair (setting values of variables to avoid exceptions), and synchronization synthesis (adding lock/unlock statements in multi-threaded programs to satisfy safety assertions). In all these applications, a solution directly corresponds to a winning strategy for one of the players in the induced game. In turn, \emph{logically-specified} games offer a powerful way to model these tasks for large or infinite-state systems. Much of the techniques proposed for solving such games typically rely on abstraction-refinement or template-based solutions. In this paper, we show how to apply classical fixpoint algorithms, that have hitherto been used in explicit, finite-state, settings, to a symbolic logical setting. We implement our techniques in a tool called GenSys-LTL and show that they are not only effective in synthesizing valid controllers for a variety of challenging benchmarks from the literature, but often compute maximal winning regions and maximally-permissive controllers. We achieve \textbf{46.38X speed-up} over the state of the art and also scale well for non-trivial LTL specifications.
翻译:双人博弈是表示和推理多项重要综合任务的有效方式。这些任务包括控制器综合(要求为给定被控对象设计控制器,使被控系统满足特定时序规约)、程序修复(通过设置变量值避免异常)以及同步综合(在多线程程序中添加锁/解锁语句以满足安全断言)。在所有这些应用中,解直接对应博弈中某一玩家的获胜策略。而逻辑定义的博弈为建模大规模或无限状态系统中的这类任务提供了强大手段。现有求解此类博弈的技术通常依赖抽象精化或基于模板的方法。本文展示了如何将经典的不动点算法(此前仅用于显式有限状态场景)应用于符号逻辑场景。我们通过名为GenSys-LTL的工具实现这些技术,实验表明:该工具不仅能有效综合文献中多个具有挑战性基准测试的有效控制器,还能计算最大获胜区域和最大许可控制器。相比现有最优方法,我们实现了\textbf{46.38倍加速},并能在非平凡LTL规约下保持良好扩展性。