  Many complex cyber-physical systems can be modeled as heterogeneous
components interacting with each other in real-time. We assume that the
correctness of each component can be specified as a requirement satisfied by
the output signals produced by the component, and that such an output guarantee
is expressed in a real-time temporal logic such as Signal Temporal Logic (STL).
In this paper, we hypothesize that a large subset of input signals for which
the corresponding output signals satisfy the output requirement can also be
compactly described using an STL formula that we call the environment
assumption. We propose an algorithm to mine such an environment assumption
using a supervised learning technique. Essentially, our algorithm treats the
environment assumption as a classifier that labels input signals as good if the
corresponding output signal satisfies the output requirement, and as bad
otherwise. Our learning method simultaneously learns the structure of the STL
formula as well as the values of the numeric constants appearing in the
formula. To achieve this, we combine a procedure to systematically enumerate
candidate Parametric STL (PSTL) formulas, with a decision-tree based approach
to learn parameter values. We demonstrate experimental results on real world
data from several domains including transportation and health care.
