Table of Contents
Fetching ...

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.

Extending Behavior Trees for Robotic Missions with Quality Requirements

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.

Paper Structure

This paper contains 9 sections, 6 figures, 3 tables.

Figures (6)

  • Figure 1: A behavior tree of the mobile laboratory robot. The dotted arrows show sub-tree expanded.
  • Figure 2: Our quality-focused meta-model extension of the behavior-tree model
  • Figure 3: An example of a concrete model for representing the different quality concerns in behavior trees. For , we provide representation across different development stages: (A) early-stage design time, (B) late-stage design time, and (C) run-time.
  • Figure 4: An overview of (A) our design process of our DSL using MD practices and (B) the user process to use the DSL.
  • Figure 5: Our DSL representing part of the laboratory mission in Xtext editor.
  • ...and 1 more figures