Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

A Flexible and Efficient Temporal Logic Tool for Python: PyTeLo

About

Temporal logic is an important tool for specifying complex behaviors of systems. It can be used to define properties for verification and monitoring, as well as goals for synthesis tools, allowing users to specify rich missions and tasks. Some of the most popular temporal logics include Metric Temporal Logic (MTL), Signal Temporal Logic (STL), and weighted STL (wSTL), which also allow the definition of timing constraints. In this work, we introduce PyTeLo, a modular and versatile Python-based software that facilitates working with temporal logic languages, specifically MTL, STL, and wSTL. Applying PyTeLo requires only a string representation of the temporal logic specification and, optionally, the dynamics of the system of interest. Next, PyTeLo reads the specification using an ANTLR-generated parser and generates an Abstract Syntax Tree (AST) that captures the structure of the formula. For synthesis, the AST serves to recursively encode the specification into a Mixed Integer Linear Program (MILP) that is solved using a commercial solver such as Gurobi. We describe the architecture and capabilities of PyTeLo and provide example applications highlighting its adaptability and extensibility for various research problems.

Gustavo A. Cardona, Kevin Leahy, Makai Mann, Cristian-Ioan Vasile• 2023

Related benchmarks

TaskDatasetResultRank
Reach-avoid navigationSingle-agent reach-avoid 2D point mass model
Runtime (ms)324.6
6
Showing 1 of 1 rows

Other info

Follow for update