Synthesis automatically constructs an implementation that satisfies a given logical specification. In this paper, we study the live synthesis problem, where the synthesized implementation replaces an already running system. In addition to satisfying its own specification, the synthesized implementation must guarantee a sound transition from the previous implementation. This version of the synthesis problem is highly relevant in always-on applications, where updates happen while the system is running. To specify the correct handover between the old and new implementation, we introduce an extension of linear-time temporal logic (LTL) called LiveLTL. A LiveLTL specification defines separate requirements on the two implementations and ensures that the new implementation satisfies, in addition to its own requirements, any obligations left unfinished by the old implementation. For specifications in LiveLTL, we show that the live synthesis problem can be solved within the same complexity bound as standard reactive synthesis, i.e., in 2EXPTIME. Our experiments show the necessity of live synthesis for LiveLTL specifications created from benchmarks of SYNTCOMP and robot control.
翻译:自动合成构建符合特定逻辑规格的执行。 在本文中, 我们研究现场合成问题, 即综合实施取代一个已经运行的系统。 除了满足自己的规格外, 综合实施必须保证从以前的执行中顺利过渡。 此版本的综合问题在系统运行期间进行更新的始终运行应用程序中具有高度相关性。 要指定新旧实施之间的正确交接, 我们引入了线性时间时间时间逻辑( LiveLT)的延伸, 称为 LiveLTL。 LiveLTL 规格对两个实施分别界定了要求, 并确保新的实施除了自身要求外, 还能满足旧实施中未完成的任何义务。 关于 LiveLTL 的规格, 我们显示, 活性合成问题可以在与标准的反应合成( 即 2EXPTIME ) 相同的复杂范围内解决。 我们的实验表明, 需要现场合成根据 SYNTCOMP 的基准和机器人控制来生成的 LiveLTL规格。