Periodic Reporting for period 4 - OSARES (Output-Sensitive Algorithms for Reactive Synthesis)
Reporting period: 2020-06-01 to 2021-12-31
Reactive synthesis has the potential to revolutionize the development of distributed embedded systems. From a given logical specification, the synthesis algorithm automatically constructs an implementation that is correct-by-design. The vision is that a designer analyzes the design objectives with a synthesis tool, automatically identifies competing or contradictory requirements, and obtains an error-free prototype implementation. Coding and testing, the most expensive stages of development, are eliminated from the development process. Recent case studies from robotic control and from hardware design, such as the automatic synthesis of the AMBA AHB bus controller, demonstrate that this vision is in principle feasible. However, previously known synthesis algorithms do not scale to large systems. Even if successful, the algorithms produce code that is much larger and much more complicated than the code produced by human programmers for the same specification.
In the OSARES project, we address both of these fundamental shortcomings at the same time. The goal of the project is to develop output-sensitive synthesis algorithms, i.e. algorithms that, in addition to optimal performance in the size of the specification, also perform optimally in the size and structural complexity of the implementation. Target applications for our algorithms come from both the classic areas of reactive synthesis, such as hardware circuits, and from new and much more challenging application areas such as the distributed coordination of autonomous vehicles and manufacturing robots, which are far beyond the reach of the currently available synthesis algorithms.
We aim at algorithms that perform optimally both in terms of the output and in terms of the input, in the sense that the lower estimate on the runtime should describe the actual behavior of the algorithm. This excludes standard algorithms for reactive synthesis that process the specification in an eager fashion, because, in such algorithms, the input complexity would dominate the output complexity. The project will therefore develop new lazy algorithms.
Finally, the project will further explore and expand the application areas for reactive synthesis. In addition to the classic application areas, like hardware synthesis, we will expand into more challenging application areas such as the control and coordination problems in autonomous vehicles and the distributed control of manufacturing robots, which are far out of reach for currently available synthesis algorithms.