Abstract
In the field of industrial production the usage of Behavior Trees sparks interest due to their modularity and flexibility. Considering Behavior Trees are used in a safety-critical domain, there is increased interest for methods to verify a Behavior Tree’s safety. Current approaches for Behavior Trees are only semi-automatic since they require manually added low-level details about the action’s behavior.
In this paper, we describe an automatic verification method for safety properties on Behavior Trees using Linear Constrained Horn Clauses (LCHCs). Our approach encodes all components of the verification task as CHCs, that is, the structure and semantics of the Behavior Tree, the implemented actions in the leaf nodes and the safety property itself. These clauses are then solved by a state-of-the-art SMT solver, leading to an efficient algorithm for Behavior Tree verification, which we evaluate by comparing our method against a general purpose verification framework.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Biggar, O., Zamani, M.: A framework for formal verification of behavior trees with linear temporal logic. IEEE Robot. Autom. Lett. 5(2), 2341–2348 (2020). https://doi.org/10.1109/LRA.2020.2970634
Colvin, R., Hayes, I.: A semantics for behavior trees using CSP with specification commands. Sci. Comput. Program. 76, 891–914 (2011). https://doi.org/10.1016/j.scico.2010.11.007
Klöckner, A.: Interfacing behavior trees with the world using description logic. In: AIAA Guidance, Navigation, and Control Conference (2013). https://doi.org/10.2514/6.2013-4636
Colledanchise, M., Murray, R.M., Ögren, P.: Synthesis of correct-by-construction behavior trees. In: 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 6039–6046 (2017). https://doi.org/10.1109/IROS.2017.8206502
Klöckner, A.: Behavior Trees for UAV Mission Management (2013)
Ogren, P.: Increasing Modularity of UAV Control Systems using Computer Game Behavior Trees (2012). https://doi.org/10.2514/6.2012-4458
Beyer, D.: Software verification and verifiable witnesses. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 401–416. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_31
Bjørner, N., Gurfinkel, A., McMillan, K., Rybalchenko, A.: Horn clause solvers for program verification. In: Beklemishev, L.D., Blass, A., Dershowitz, N., Finkbeiner, B., Schulte, W. (eds.) Fields of Logic and Computation II. LNCS, vol. 9300, pp. 24–51. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23534-9_2
Komuravelli, A., Bjorner, N., Gurfinkel, A., Mcmillan, K.: Compositional verification of procedural programs using horn clauses over integers and arrays, pp. 89–96 (2015). https://doi.org/10.1109/FMCAD.2015.7542257
Colledanchise, M., Ögren, P.: Behavior Trees in Robotics and AI: An Introduction. arXiv abs/1709.00084 (2017)
Colledanchise, M., Parasuraman, R., Ogren, P.: Learning of behavior trees for autonomous agents. IEEE Trans. Comput. Intell. AI Games 11, 183–189 (2018). https://doi.org/10.1109/TG.2018.2816806
Coronado, E., Mastrogiovanni, F., Venture, G.: Development of Intelligent Behaviors for Social Robots via User-Friendly and Modular Programming Tools, pp. 62–68 (2018). https://doi.org/10.1109/ARSO.2018.8625839
Colledanchise, M., Natale, L.: Improving the Parallel Execution of Behavior Trees, pp. 7103–7110 (2018). https://doi.org/10.1109/IROS.2018.8593504
Isla, D.: Handling complexity in the halo 2 AI. In: Game Developers Conference (2005)
Gurfinkel, A., Kahsai, T., Komuravelli, A., Navas, J.A.: The SeaHorn verification framework. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 343–361. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21690-4_20
de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Komuravelli, A., Gurfinkel, A., Chaki, S.: SMT-based model checking for recursive programs. In: CAV (2014)
Paulson, L.C.: The foundation of a generic theorem prover. J. Autom. Reason. 5, 363–397 (1989)
Biallas, S., Frey, G., Kowalewski, S., Schlich, B., Soliman, D.: Formale Verifikation von Sicherheits-Funktionsbausteinen der PLCopen auf Modell- und Code-Ebene. Tagungsband Entwicklung und Betrieb komplexer Automatisierungssysteme. EKA (2010)
Bohlender, D., Kowalewski, S.: Compositional verification of PLC software using horn clauses and mode abstraction. IFAC-PapersOnLine 51, 428–433 (2018)
Colledanchise, M., Cicala, G., Domenichelli, D.E., Natale, L., Tacchella, A.: Formalizing the execution context of behavior trees for runtime verification of deliberative policies. In: IROS (2021)
Acknowledgements
Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy – EXC-2023 Internet of Production – 390621612.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Henn, T., Völker, M., Kowalewski, S., Trinh, M., Petrovic, O., Brecher, C. (2022). Verification of Behavior Trees using Linear Constrained Horn Clauses. In: Groote, J.F., Huisman, M. (eds) Formal Methods for Industrial Critical Systems. FMICS 2022. Lecture Notes in Computer Science, vol 13487. Springer, Cham. https://doi.org/10.1007/978-3-031-15008-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-15008-1_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-15007-4
Online ISBN: 978-3-031-15008-1
eBook Packages: Computer ScienceComputer Science (R0)