Temporal synthesis attempts to construct reactive programs that satisfy a given declarative (LTL) formula. Practitioners have found it challenging to work exclusively with declarative specifications, and have found languages that combine modelling with declarative specifications more useful. Synthesised controllers may also need to work with pre-existing or manually constructed programs. In this paper we explore an approach that combines synthesis of declarative specifications in the presence of an existing behaviour model as a monitor, with the benefit of not having to reason about the state space of the monitor. We suggest a formal language with automata monitors as non-repeating and repeating triggers for LTL formulas. We use symbolic automata with memory as triggers, resulting in a strictly more expressive and succinct language than existing regular expression triggers. We give a compositional synthesis procedure for this language, where reasoning about the monitor state space is minimal. To show the advantages of our approach we apply it to specifications requiring counting and constraints over arbitrarily long sequence of events, where we can also see the power of parametrisation, easily handled in our approach. We provide a tool to construct controllers (in the form of symbolic automata) for our language.
翻译:时间合成试图构建符合特定声明性( LTL) 公式的被动程序。 执业者发现,完全以声明性( LTL) 公式来操作具有挑战性, 并发现将模拟与声明性规格相结合的语言更为有用。 合成控制器可能还需要与先前存在的或手工构建的程序一起工作。 本文中我们探讨了一种结合声明性规格的合成方法, 以现有行为模型作为监测器, 其好处是不必解释显示监视器的状态空间。 我们建议使用一种正式语言, 将自动监测器作为不重复和重复的触发器。 我们使用带有记忆的符号自动模型作为触发器, 其结果是比现有的常规表达器更明确、 简洁的语言。 我们给出了该语言的合成程序, 有关监测状态空间的推理极少。 为了显示我们的方法的优点, 我们将其应用到要求计算和制约任意长的事件序列的规格上。 我们也可以看到对它进行分解的能力, 并轻松处理。 我们为我们的语言提供了一种构建控制器( 符号性自动解剖形式) 的工具 。