Reactive synthesis is the task of automatically deriving a correct implementation from a specification. It is a promising technique for the development of verified programs and hardware. Despite recent advances in terms of algorithms and tools, however, reactive synthesis is still not practical when the specified systems reach a certain bound in size and complexity. In this paper, we present a sound and complete modular synthesis algorithm that automatically decomposes the specification into smaller subspecifications. For them, independent synthesis tasks are performed, significantly reducing the complexity of the individual tasks. Our decomposition algorithm guarantees that the subspecifications are independent in the sense that completely separate synthesis tasks can be performed for them. Moreover, the composition of the resulting implementations is guaranteed to satisfy the original specification. Our algorithm is a preprocessing technique that can be applied to a wide range of synthesis tools. We evaluate our approach with state-of-the-art synthesis tools on established benchmarks: The runtime decreases significantly when synthesizing implementations modularly.
翻译:主动合成是自动从规格中得出正确执行的任务,是开发经核实的程序和硬件的一个很有希望的技术。尽管最近在算法和工具方面有所进步,但当特定系统达到一定的大小和复杂程度时,反应合成仍然不切实际。在本文件中,我们提出了一个健全和完整的模块合成算法,将规格自动分解成较小的子规格。对他们来说,要执行独立合成任务,大大降低个别任务的复杂性。我们的分解算法保证了子规格是独立的,因为可以为它们执行完全独立的合成任务。此外,因此产生的执行的构成可以保证满足原先的规格。我们的算法是一种预处理技术,可以应用于广泛的综合工具。我们用既定基准上的最新综合工具来评估我们的方法:在模块化执行时,运行时间会大大缩短。