Temporal Stream Logic: Synthesis beyond the Bools
Bernd Finkbeiner, Felix Klein, Ruzica Piskac, Mark Santolucito

TL;DR
This paper introduces Temporal Stream Logic (TSL), a new temporal logic designed for synthesizing reactive systems with complex data, offering scalable synthesis by separating control and data, demonstrated through practical applications.
Contribution
TSL provides a novel logical framework that enables scalable synthesis of data-rich reactive systems by decoupling control and data processing, with a CEGAR-based approach for guarantees.
Findings
Successfully synthesized a music player Android app.
Developed a controller for an autonomous vehicle in TORCS.
Synthesis from TSL is scalable despite undecidability in general.
Abstract
Reactive systems that operate in environments with complex data, such as mobile apps or embedded controllers with many sensors, are difficult to synthesize. Synthesis tools usually fail for such systems because the state space resulting from the discretization of the data is too large. We introduce TSL, a new temporal logic that separates control and data. We provide a CEGAR-based synthesis approach for the construction of implementations that are guaranteed to satisfy a TSL specification for all possible instantiations of the data processing functions. TSL provides an attractive trade-off for synthesis. On the one hand, synthesis from TSL, unlike synthesis from standard temporal logics, is undecidable in general. On the other hand, however, synthesis from TSL is scalable, because it is independent of the complexity of the handled data. Among other benchmarks, we have successfully…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Embedded Systems Design Techniques · Model-Driven Software Engineering Techniques
