Reactive synthesis builds a system from a specification given as a temporal logic formula. Traditionally, reactive synthesis is defined for systems with Boolean input and output variables. Recently, new theories and techniques have been proposed to extend reactive synthesis to data domains, which are required for more sophisticated programs. In particular, Temporal stream logic(TSL) (Finkbeiner et al. 2019) extends LTL with state variables, updates, and uninterpreted functions and was created for use in synthesis. We present a synthesis procedure for TSL(T), an extension of TSL with theories. Synthesis is performed using a counter-example guided synthesis loop and an LTL synthesis procedure. Our method translates TSL(T) specifications to LTL and extracts a system if synthesis is successful. Otherwise, it analyzes the counterstrategy for inconsistencies with the theory. If the counterstrategy is theory-consistent, it proves that the specification is unrealizable. Otherwise, we add temporal assumptions and Boolean predicates to the TSL(T) specification and start the next iteration of the the loop. We show that the synthesis problem for TSL (T) is undecidable. Nevertheless our method can successfully synthesize or show unrealizability of several non-Boolean examples.
翻译:以时间逻辑公式给定的规格为时间逻辑公式, 重新合成能构建一个系统。 传统上, 为布林输入和输出变量的系统定义了反应合成。 最近, 提出了新的理论和技术, 将反应合成扩展至数据领域, 这是更复杂的程序所需要的。 特别是, 时间流逻辑( TSL) (Finkbeinner et al. 2019) (Finkbeinner et al. 2019) 将LTL 扩展为状态变量、 更新和未解释的函数, 并创建用于合成。 我们为 TSL( T) 提供了一个合成程序, 即 TSL( T) 的扩展 。 合成是用反光导合成环和 LTL 合成程序来进行。 我们的方法将 TSL( T) 的规格翻译为 LTL, 并在合成成功时提取系统。 否则, 它会分析与理论不一致的反调策略。 如果反调策略是理论一致的, 它证明规格是不可实现的。 否则, 我们将在 TSL( TSL) 的下一个循环的模拟中添加时间假设, 我们的合成方法是不可改变的。