Original software publication
Controlling timed automata against MTL specifications with TACoS
Image 1

https://doi.org/10.1016/j.scico.2022.102898Get rights and content

Highlights

  • TACoS is a tool for controller synthesis against specifications with timing constraints.

  • The tool supports full Metric Temporal Logic (MTL) as specification language.

  • It provides a C++ library with a simple-to-use API.

  • It also supports human-readable text input and output.

  • It uses several techniques such as heuristic search to improve performance.

Abstract

TACoS is a tool for synthesizing controllers against specifications of undesired behavior with timing constraints. Given a timed automaton and an MTL specification, the tool synthesizes a controller that guarantees that every possible execution of the system satisfies the given specification. TACoS comes with a C++ library with a simple-to-use API and can read from and write to human-readable text input and output. In this paper, we outline the approach of the tool and present two examples in further detail.

Section snippets

Motivation

Digital systems interacting with the continuous real world are often safety critical in the sense that certain unwanted behavior should be avoided. Determining whether a given system is safe has been under extensive research for various system types. Related to the question of safety is the synthesis of a controller, which tries to find a component which can ensure safe execution of a system. Based on observations of the environment, the controller must select an action from a set of

Software description

The tool TACoS [11] is a tool for the automated synthesis of controllers for systems described by a timed automaton with respect to a specification formalized in MTL. As such, it augments well-known theoretical results [12] by a functional, easy-to-use implementation. Based on a TA representation of a system (the plant) and an MTL formula (the specification), TACoS synthesizes a TA which controls the plant against the specification such that the composition (i.e., the concurrent execution of

Approach

We sketch the approach implemented in TACoS with a small example, where we have a timed automaton (see Fig. 1) with one clock c. Initially, the automaton is in location l0, from which the clock can be reset at any non-zero (positive) time via the a-transition. Additionally, a second transition can be taken to reach the location l1, but only if one time unit has passed. The bad behavior is given by the MTL formula2

Example

We consider a classical example of a train-gate system [14]. As shown in Fig. 4, the system consists of two parts: an uncontrollable train and a controllable gate. The train in Fig. 4a approaches the gate and is modeled as TA with some timing constraints on its actions, which describe the traveling time of the train. The gate is modeled as a second TA that may open and close, as shown in Fig. 4b. Opening and closing both takes some time, which is modeled by having the intermediate states CLOSING

Impact

TACoS provides the first implementation of TA controller synthesis against full MTL specifications. It ships with a C++ API, which allows applications to integrate the synthesis library, as well as a protobuf API, which can be used for textual input in a standalone binary.

In the current implementation, a TA controller is synthesized, but we aim to generalize the approach. We especially expect TACoS to serve as a basis for further development in the area of program synthesis in the context of

CRediT authorship contribution statement

Till Hofmann: Conceptualization, Methodology, Software, Validation, Visualization, Writing – original draft, Writing – review & editing. Stefan Schupp: Methodology, Software, Validation, Visualization, Writing – original draft, Writing – review & editing.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgements

This work was funded by the German Research Council (DFG) in the context of the research training group UnRAVeL (RTG 2236), DFG grant GL-747/23-1 ConTrAkt, and the EU ICT-48 2020 project TAILOR (No. 952215).

References (14)

  • A. Bohy et al.

    Acacia+, a tool for LTL synthesis

  • R. Ehlers

    Unbeast: symbolic bounded synthesis

  • P.J. Meyer et al.

    Strix: explicit reactive synthesis strikes back!

  • A. Duret-Lutz et al.

    Spot 2.0 — a framework for LTL and ω-automata manipulation

  • S. Jacobs et al.

    The reactive synthesis competition (SYNTCOMP): 2018-2021

  • K. Altisen et al.

    Tools for controller synthesis of timed systems

  • G. Behrmann et al.

    UPPAAL-Tiga: time for playing games!

There are more references available in the full text version of this article.

The code (and data) in this article has been certified as Reproducible by Code Ocean: https://codeocean.com/. More information on the Reproducibility Badge Initiative is available at https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals.

View full text