RQ3: Which and to what extent publicly available tools support the formalisms?

Tools Analysis

[Tab.1 - Identified tools (grey-highlighted rows indicate baseline tools that support the core formalism and have been used as foundations for ROS-based packages).]
Name Scope Description Documentation Reference
BT
BehaviorTree.CPP Execution; Debugging C++ library for executing behavior trees. Provides a rich set of control nodes, logging facilities, and interfaces for debugging purposes. behaviortree.dev
PyTrees Execution; Monitoring; Debugging Python library for executing behavior trees, designed to facilitate the rapid development of medium-sized decision-making engines. Offers minimal visualizations for monitoring and debugging purposes. py-trees.readthedocs.io
Groot Modeling; Monitoring; Debugging Graphical editor for behavior trees. Allows tree design, log playback, and real-time introspection when connected to BehaviorTree.CPP. behaviortree.dev/groot
Forester Execution Orchestration engine implementing behavior trees. Supports exporting trees for use with the ROS navigation library. forester-bt.github.io/forester
BehaviorTree.ROS2 Execution ROS-compatible implementation of BehaviorTree.CPP. behaviortree.dev/docs/ros2_integration
PyTrees ROS Execution ROS-compatible implementation of PyTrees. py-trees-ros.readthedocs.io
SM
SMACH Execution; Monitoring Python library for implementing hierarchical state machines in ROS. Provides a runtime viewer that displays active states but offers no modeling interfaces. github.com/ros/executive_smach
FlexBE Modeling; Execution; Monitoring; Debugging Behavior engineering toolkit with a graphical state-machine editor, execution engine, onboard monitoring, and debugging tools. github.com/flexbe
YASMIN Modeling; Execution; Monitoring ROS package for designing and executing state machines using Python. Provides a shared blackboard for data exchange and a lightweight execution engine. github.com/uleroboticsgroup/yasmin
RAFCON Modeling; Execution; Monitoring; Debugging Graphical tool for hierarchical and concurrent state machines. Includes visualization, variable inspection, breakpoints, and step-by-step debugging. github.com/DLR-RM/RAFCON
HTN
Pyhop Planning Lightweight Python HTN planner, suitable for prototyping due to its simple implementation. bitbucket.org/dananau/pyhop
Planning SHOP, SHOP2, JSHOP2 Domain-independent automated planning systems based on ordered task decomposition. cs.umd.edu/projects/shop
ROSPlan Planning; Execution ROS-integrated planning framework that generates plans and dispatches them to ROS components. kcl-planning.github.io/ROSPlan
PlanSys2 Planning; Execution ROS package providing a PDDL-based planning system. After computing a plan, it automatically converts it into an executable behavior tree, enabling integration with robot controllers. plansys2.github.io
BPMN
Camunda Modeling; Execution; Monitoring; Debugging Process orchestration BPMN platform. Provides graphical modeling tools, workflow engines, REST interfaces, and dashboards for runtime monitoring and debugging. camunda.com
bpmn.io Modeling Web-based BPMN editor and viewer for designing and visualizing process models. Serves as the front-end basis for many BPMN-based applications and provides many add-ons that can extend its scope. bpmn.io
FaMe Modeling; Execution; Monitoring BPMN-driven framework for multi-robot system development. Provides BPMN modeling, automatic ROS-compliant mission configuration, and an execution engine implemented as a ROS node. github.com/SaraPettinari/fame