Command Line Options


The STLmc tool provides a command-line interface with various command line options, summarized in Table [2].

Option Explanation Default
$\textsf{-bound}<N>$ a discrete bound $N$ -
$\textsf{-time-bound}<\tau>$ a time bound $\tau$ -
$\textsf{-time-horizon}<T>$ a mode duration bound $T$ $\tau$
$\textsf{-threshold}<\epsilon>$ a robustness threshold $\epsilon$ $0.01$
$\textsf{-goal}<N>$ the list of STL goals to be analyzed all
$\textsf{-two-step}$ use the two-phase optimization disabled
$\textsf{-parallel}$ parallelize the two-phase optimization disabled
$\textsf{-visualization}$ generate extra visualization data disabled
$\textsf{-solver}<\textsf{Solver}>$ an SMT solver to be used ($\textsf{z3}$/$\textsf{yices}$/$\textsf{dreal}$) $\textsf{z3}$
$\textsf{-precision}<\delta>$ a precision parameter for $\textsf{dreal}$ $0.001$

Table.2: The command line options of STLmc

A discrete bound $N$ limits the number of mode changes and the number of variable points-at which the truth value of some STL subformula changes-in trajectories. A time horizon $T$ limits the maximum time duration of single modes in trajectories. The options $\textsf{-two-step}$ and $\textsf{-parallel}$ enable the (parallelized) two-phase optimization. When the option $\textsf{-visualize}$ is set, extra data for visualization is generated. Among the STL formulas specified in the input model file, formulas to be analyzed are chosen using the $\textsf{-goal}$.

We can choose different SMT solvers using the $\textsf{-solver}$ option. The STLmc tool currently supports three SMT solvers: Z3, Yices2 and dReal. The underlying solver is chosen depending on the flow conditions of a hybrid automaton. Z3 and Yices2 can deal with linear and polynomial functions, and dReal can deal with nonlinear ODEs-which is undecidable in general for hybrid automata-approximately up to a given precision $\delta > 0$.