BGen software was designed for auto-generation of code based on a graphical representation of a behavior network used for controlling automatic vehicles. A common format used for describing a behavior network, such as that used in the JPL-developed behavior-based control system, CARACaS [“Control Architecture for Robotic Agent Command and Sensing” (NPO-43635), NASA Tech Briefs, Vol. 32, No. 10 (October 2008), page 40] includes a graph with sensory inputs flowing through the behaviors in order to generate the signals for the actuators that drive and steer the vehicle.
A computer program to translate Unified Modeling Language (UML) Free-form Implementation Diagrams into a legacy C implementation of Behavior Network has been developed in order to simplify the development of C-code for behavior-based control systems. UML is a popular standard developed by the Object Management Group (OMG) to model software architectures graphically. The C implementation of a Behavior Network is functioning as a decision tree.
This work was done by Leonard J. Reder, Terrance L. Huntsberger, and Harry Balian of Caltech for NASA’s Jet Propulsion Laboratory. For more information, download the Technical Support Package (free white paper) at www.techbriefs.com/tsp under the Software category.
This software is available for commercial licensing. Please contact Daniel Broderick of the California Institute of Technology at
This Brief includes a Technical Support Package (TSP).

BGen: A UML Behavior Network Generator Tool
(reference NPO-46787) is currently available for download from the TSP library.
Don't have an account?
Overview
The document presents the BGen: A UML Behavior Network Generator Tool, developed by NASA's Jet Propulsion Laboratory (JPL) to facilitate the creation of behavior-based control systems for autonomous navigation in ground and in-water vehicles. The tool translates Unified Modeling Language (UML) diagrams into legacy C code, simplifying the development process for behavior networks, which function as decision trees to manage vehicle actions based on sensory inputs.
The BGen tool utilizes a graphical interface where users can input required behaviors and sensory perceptions using a computer-aided software engineering (CASE) tool. The UML model is saved in XML Metadata Interchange (XMI) format, allowing for easy parsing by the BGen parser, which generates the corresponding C code. The document emphasizes the hierarchical representation of behaviors, where simple behaviors are mapped to command sequences in C, enabling interaction among various behaviors to produce final control actions for the vehicle.
The behavior network is illustrated through examples, such as a scenario involving two boats approaching each other, where competing behaviors include maintaining safe separation, avoiding hazards, and adhering to navigation rules. The document explains how behaviors are represented using UML elements, with specific attributes assigned to express weightings for behavior-to-behavior and perception communication.
Additionally, the generated source code can be augmented with hand-coded algorithms, allowing for flexibility and adaptability during code-build-test cycles. As new behavior requirements arise, users can easily update the UML model and regenerate the code, streamlining the development process.
The document also acknowledges the support from the National Aeronautics and Space Administration and highlights the potential applications of the BGen tool in various technological, scientific, and commercial domains. It serves as a resource for researchers and developers interested in behavior-based control systems, providing insights into the methodologies and technologies employed at JPL.
Overall, the BGen tool represents a significant advancement in the automation of code generation for behavior networks, enhancing the efficiency and effectiveness of developing autonomous systems for complex navigation scenarios.

