monitors from structured English statements using
Copilot and FRET (Perez et al., 2022). Copilot is
a stream-based RV that verifies system behavior by
analyzing the dependencies between input and out-
put streams, making it suitable for systems that pro-
cess large amounts of data. While this work is sim-
ilar to GROOT in terms of using structured English
requirements and targeting real-time embedded sys-
tems, GROOT is an automata-based approach that is
better suited for systems with a finite set of states
and for detecting errors in the system’s control flow.
Automata-based RV is simpler to implement and eas-
ier to understand and visualize. The suitability of a
particular approach depends on the specific require-
ments and constraints of the system being verified.
6 CONCLUSIONS
Runtime verification (RV) can improve trust in real-
time systems with critical timing constraints by gen-
erating monitors from formal system specifications.
However, a lack of standard specification languages
makes RV adoption challenging for practicing engi-
neers without formal method backgrounds. To ad-
dress this issue, we propose GROOT, a monitor gen-
eration tool that uses structured English statements
to automatically synthesize monitors in C using two
distinct flows for functional and timing requirements.
This paper focuses on timing constraints through the
introduction of the TIMESPEC dialect, and highlights
GROOT’s ability to automate formal analysis of mon-
itor correctness using a theorem prover. By provid-
ing an accessible approach to RV, GROOT can help
the adoption of formal methods in industry, leading to
safer and more reliable real-time systems.
In future work, we plan to add more TIMESPEC
templates to support complex requirements contain-
ing several timing constraints. GROOT monitors will
be tested by generating timing and functional specifi-
cations for drones. We intend to compare the perfor-
mance of the GROOT’s monitors with other frame-
works; however, documentation regarding other RV
tools is scarce.
ACKNOWLEDGEMENTS
This material is based upon work supported by
the National Science Foundation under Grant No.
2123550. Any opinions, findings, and conclusions
or recommendations expressed in this material are
those of the author(s) and do not necessarily reflect
the views of the National Science Foundation.
REFERENCES
Alur, R. and Dill, D. L. (1994). A theory of timed automata.
Theoretical Comput. Sci., 126(2):183–235.
Aurandt, A. et al. (2022). Runtime verification triggers real-
time, autonomous fault recovery on the CySat-I. In
NASA Formal Methods, pages 816–825. Springer.
Autili, M. et al. (2015). Aligning qualitative, real-time, and
probabilistic property specification patterns using a
structured English grammar. IEEE Trans. Softw. Eng.,
41(7):620–638.
Bartocci, E. et al. (2018). Introduction to Runtime Verifica-
tion, pages 1–33. Springer, Cham.
Baudin, P. et al. (2008). ACSL: ANSI/ISO C specification
language.
Cuoq, P. et al. (2012). Frama-C: A software analysis per-
spective. In Proc. Int. Conf. Softw. Eng. and Formal
Methods, SEFM’12, page 233–247, Berlin. Springer.
Falcone, Y. et al. (2021). A taxonomy for classifying run-
time verification tools. Int. J. Softw. Tools for Technol.
Transfer, 23(2):255–284.
Giannakopoulou, D. et al. (2020). Formal requirements
elicitation with FRET. In REFSQ Workshops.
Gorostiaga, F. and S
´
anchez, C. (2018). Striver: Stream run-
time verification for real-time event-streams. In Run-
time Verification, pages 282–298, Cham. Springer.
He, J. et al. (2022). DeepSTL: From English requirements
to Signal Temporal Logic. In Proc. Int. Conf. Softw.
Eng., ICSE’22, page 610–622, New York, USA.
Khan, W. (2019). RuSTL: Runtime verification using STL.
Master’s thesis, University of Waterloo.
Konrad, S. and Cheng, B. H. C. (2005). Real-time specifica-
tion patterns. In Proc. Int. Conf. Softw. Eng., ICSE’05,
page 372–381, New York, USA.
Maler, O. and Nickovic, D. (2004). Monitoring temporal
properties of continuous signals. In Formal Techn.,
Modelling and Anal. of Timed and Fault-Tolerant
Syst., pages 152–166, Berlin. Springer.
MathWorks (2022a). Autonomous Emergency Braking with
Sensor Fusion. Natick, MA, USA.
MathWorks (2022b). Simulink: A graphical programming
environment for modeling, simulating, and analyzing
dynamic systems. Natick, MA, USA.
Perez, I. et al. (2022). Automated translation of natural lan-
guage requirements to runtime monitors. In Tools and
Algorithms for the Construction and Anal. of Syst.,
pages 387–395, Cham. Springer.
Pnueli, A. (1977). The temporal logic of programs. In Annu.
Symp. Found. Comput. Sci. (SFCS’77), pages 46–57.
Rajhans, A. et al. (2021). Specification and runtime verifi-
cation of temporal assessments in Simulink. In Run-
time Verification, pages 288–296, Cham. Springer.
Texas Instruments (2015). OPT9221 Time-of-Flight Con-
troller. Dallas, TX, USA.
Torfah, H. (2019). Stream-based monitors for real-time
properties. In RV, pages 91–110, Cham. Springer.
Valmari, A. (1998). The state explosion problem, pages
429–528. Springer, Berlin.
ICSOFT 2023 - 18th International Conference on Software Technologies
360