A Behavior Tree-inspired programming language for autonomous agents
Oliver Biggar, Iman Shames

TL;DR
This paper introduces a new functional programming language inspired by Behavior Trees for autonomous agents, addressing limitations of traditional BTs and enhancing modularity and reactivity.
Contribution
It extends the Behavior Tree model into a full programming language with primitives for modularity, reactivity, and safety, implemented in Haskell.
Findings
Demonstrates handling of complex agent behaviors with the new language
Provides a formal specification and implementation in Haskell
Successfully translates complex BTs into unambiguous programs
Abstract
We propose a design for a functional programming language for autonomous agents, built off the ideas and motivations of Behavior Trees (BTs). BTs are a popular model for designing agents behavior in robotics and AI. However, as their growth has increased dramatically, the simple model of BTs has come to be limiting. There is a growing push to increase the functionality of BTs, with the end goal of BTs evolving into a programming language in their own right, centred around the defining BT properties of modularity and reactiveness. In this paper, we examine how the BT model must be extended in order to grow into such a language. We identify some fundamental problems which must be solved: implementing `reactive' selection, 'monitoring' safety-critical conditions, and passing data between actions. We provide a variety of small examples which demonstrate that these problems are complex,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMulti-Agent Systems and Negotiation
MethodsSparse Evolutionary Training
