Reactive synthesis is an automated procedure to obtain a correct-by-construction reactive system from a given specification. Examples of these systems include the software controllers of robotic systems. Despite recent advancements on the theory and algorithms of reactive synthesis, e.g., efficient synthesis for the GR(1) fragment of linear temporal logic, many challenges remain in bringing reactive synthesis technologies to the hands of software engineers.
The SYNTECH project is about bridging this gap. It addresses challenges that relate to the change from writing code to writing specifications, and the development of tools to support a specification-centric rather than a code-centric development process.
Spectra is a new specification language for reactive systems, specifically tailored for the context of reactive
synthesis. The meaning of Spectra is defined by a translation to a kernel language. Spectra comes with the
Spectra Tools, a set of analyses, including a synthesizer to obtain a correct-by-construction implementation,
several means for executing the resulting controller, and additional analyses aimed at helping engineers write higher-
quality specifications.
Shahar Maoz and Ilia Shevrin. Just-In-Time Reactive Synthesis. Proc. of ASE 2020, pp. 635-646, ACM, 2020.
Shahar Maoz and Rafi Shalom. Inherent Vacuity for GR(1) Specifications. Proc. of ESEC/FSE 2020, pp. 99-110, ACM, 2020.
Elizabeth Firman, Shahar Maoz, and Jan O. Ringert. Performance Heuristics for GR(1) Synthesis and Related Algorithms. Acta Informatica, 2019.
Gal Amram, Shahar Maoz, and Or Pistiner. GR(1)*: GR(1) Specifications Extended with Existential Guarantees. Proc. of FM 2019, pp. 83-100, Springer, 2019.
Shahar Maoz, Jan O. Ringert, and Rafi Shalom. Symbolic Repairs for GR(1) Specifications. Proc. of ICSE 2019, pp. 1016-1026, IEEE/ACM, 2019.
Aviv Kuvent, Shahar Maoz, and Jan O. Ringert. A Symbolic Justice Violations Transition System for Unrealizable GR(1) Specifications. Proc. of ESEC/FSE 2017, pp. 362-372, ACM, 2017.
Elizabeth Firman, Shahar Maoz, and Jan O. Ringert. Performance Heuristics for GR(1) Synthesis and Related Algorithms. Proc. of SYNT 2017: 6th Workshop on Synthesis (with CAV'17).
Shahar Maoz and Jan O. Ringert. On Well-Separation of GR(1) Specifications. Proc. of ESEC/FSE 2016, pp. 362-372, ACM, 2016.
Shahar Maoz, Or Pistiner, and Jan O. Ringert. Symbolic BDD and ADD Algorithms for Energy Games. Proc. of SYNT 2016: 5th Workshop on Synthesis (with CAV'16).
Shahar Maoz and Jan O. Ringert. GR(1) Synthesis for LTL Specification Patterns. Proc. of ESEC/FSE 2015, pp. 96-106, ACM, 2015.
Shahar Maoz and Jan O. Ringert. Synthesizing a Lego Forklift Controller in GR(1): A Case Study. Proc. of SYNT 2015: 4th Workshop on Synthesis (with CAV'15).
Spectra Tools includes application-specific Java code generation tailored to run on Lego NXT robots. It also includes an execution API for symbolic controllers. We have used it to execute Lego robots where the actual execution runs on a Raspberry Pi.