Extending Behavior Trees for Robotic Missions with Quality Requirements
Razan Ghzouli, Rebekka Wohlrab, Jennifer Horkoff
TL;DR
The paper addresses the lack of explicit quality representation in behavior trees used for robotic missions by introducing a meta-model extension and a domain-specific language that encodes qualities and quality requirements. It automates generation of BehaviorTree.CPP code from DSL models, enabling early design-time specification, late design-time constraints, and run-time monitoring of quality satisfaction. Key contributions include the Quality and QualityRequirement classes with satisfices and satisfies relations, an ISO/IEC 25010-centered instantiation on a mobile-laboratory mission, and a preliminary evaluation with six practitioners. This approach promotes early quality expression, improves mission/component traceability with respect to quality concerns, and facilitates integration with existing robotics tooling like BehaviorTree.CPP and Groot.
Abstract
Context and motivation: In recent years, behavior trees have gained growing interest within the robotics community as a specification and control switching mechanism for the different tasks that form a robotics mission. Problem: Given the rising complexity and prevalence of robotic systems, it is increasingly challenging and important for practitioners to design high-quality missions that meet certain qualities, for instance, to consider potential failures or mitigate safety risks. In software requirements engineering, quality or non-functional requirements have long been recognized as a key factor in system success. Currently, qualities are not represented in behavior tree models, which capture a robotic mission, making it difficult to assess the extent to which different mission components comply with those qualities. Principal ideas: In this paper, we propose an extension for behavior trees to have qualities and quality requirements explicitly represented in robotics missions. We provide a meta-model for the extension, develop a domain-specific language (DSL), and describe how we integrated our DSL in one of the most used languages in robotics for developing behavior trees, BehaviorTree.CPP. A preliminary evaluation of the implemented DSL shows promising results for the feasibility of our approach and the need for similar DSLs. Contribution: Our approach paves the way for incorporating qualities into the behavior model of robotics missions. This promotes early expression of qualities in robotics missions, and a better overview of missions components and their contribution to the satisfaction of quality concerns.
