Behavior Trees in Action: A study of Robotics Applications
Paper in proceedings, 2020

Autonomous robots combine a variety of skills to form increasingly complex behaviors called missions. While the skills are often programmed at a relatively low level of abstraction, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. Recently, the language of Behavior Trees gained attention among roboticists for this reason. Originally designed for computer games to model autonomous actors, Behavior Trees offer an extensible tree-based representation of missions. However, even though, several implementations of the language are in use, little is known about its usage and scope in the real world. How do behavior trees relate to traditional languages for describing behavior? How are behavior tree concepts used in applications? What are the benefits of using them?

We present a study of the key language concepts in Behavior Trees and their use in real-world robotic applications. We identify behavior tree languages and compare their semantics to the most well-known behavior modeling languages: state and activity diagrams. We mine open source repositories for robotics applications that use the language and analyze this usage. We find that Behavior Trees are a pragmatic language, not fully specified, allowing projects to extend it even for just one model. Behavior trees clearly resemble the models-at-runtime paradigm. We contribute a dataset of real-world behavior models, hoping to inspire the community to use and further develop this language, associated tools, and analysis techniques.

robotics applications

behavior trees

empirical study


Razan Ghzouli

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers), Software Engineering for Cyber Physical Systems

Thorsten Berger

University of Gothenburg

Einar Broch Johnsen

University of Oslo

Dragule Swaib

Chalmers, Computer Science and Engineering (Chalmers)

Andrzej Wąsowski

IT University of Copenhagen

SLE 2020: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering

Vol. 16 November 2020 196-209

The 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE20
Virtual USA , USA,

Subject Categories

Language Technology (Computational Linguistics)

Software Engineering






Related datasets

Replication package for article: Behavior Trees in Action: A Study of Robotics Applications [dataset]

DOI: 10.1145/3410254

More information

Latest update

1/7/2021 1