(1) Problem Being Addressed
The increasing usage of small, Uncrewed Aerial Systems (sUAS) in various applications such as recreation, emergency services, and commercial activities has led to a rising number of incidents related to hardware failures, software bugs, and human errors. These incidents can create dangerous situations, especially when sUAS are flown in shared airspace alongside other aircraft. Factors such as adverse weather conditions and radio interference further exacerbate the risks. Traditional aviation systems require pilots to complete safety cases before flying, ensuring that all operational checks and evaluations are complete. However, such safety cases do not exist for sUAS, leaving pilots without a robust, formalized way of assessing the readiness of their vehicles for safe operation in shared airspace.
(2) Project Idea and How It Works
Our project aims to solve this problem by creating a sUAS Safety Case Tool, which will programmatically generate customized safety cases for small, uncrewed aircraft systems based on specific input parameters such as the pilot's training, the vehicle's condition, and the environmental factors of the flight. This tool will assist pilots in verifying the safety of their flight in various contexts, reducing the risk of incidents and helping to comply with future regulations.
Detailed Project Overview
- Dynamic Questionnaire Generation: By parsing an XML model (model.xml) representing various flight configurations, our backend server generates a dynamic set of questions. This ensures that the questionnaire is relevant to the user's specific context.
- User-Friendly Interface: The frontend, built with React and TypeScript, presents the questions intuitively, allowing users to easily input their responses. The interface is designed to resemble the FAA's Flight Risk Assessment Tool (FRAT), providing familiarity for pilots.
- Data Storage and Retrieval: User responses are stored in a MongoDB database. This not only allows for future retrieval and analysis but also supports regulatory compliance by maintaining records of safety assessments.
- Automated Safety Case Generation: The core of our tool is the transformation of user responses and the XML model into a safety case represented in YAML format. This YAML file is then processed to generate graphical safety case diagrams using Goal Structuring Notation (GSN).
- Risk Assessment Integration: The tool incorporates a risk assessment algorithm that calculates the overall risk level based on user inputs. This risk level is visually represented in the safety case diagrams, highlighting areas of concern.
System Architecture
- Frontend Application:
- Built with React and TypeScript.
- Dynamically generates the user questionnaire based on the parsed XML model.
- Collects user responses and sends them to the backend server.
- Displays the generated safety case diagrams to the user.
- Backend Server:
- Developed using Node.js and Express.
- Parses the XML model (model.xml) to generate the questionnaire structure.
- Handles API requests from the frontend and interacts with the MongoDB database.
- Executes scripts to generate the YAML safety cases and processes them into GSN diagrams.
- Safety Case Generation Engine:
- Contains scripts (json_xml_to_yaml.js) that convert the XML model and user responses into YAML safety cases.
- Utilizes templates and risk configurations to generate customized safety cases.
- Generates graphical representations (GSN diagrams) of the safety cases, which are color-coded based on risk levels.

Risk Assessment Mechanism
Our tool incorporates a risk assessment algorithm that evaluates the safety of the proposed flight based on user inputs. Key features include:
- Risk Scoring: Each response is evaluated against predefined risk factors. Based on the cumulative score, the flight is categorized as either low-risk or high-risk.
- Dynamic Risk Representation: The calculated risk levels influence the appearance of the safety case diagrams. Nodes in the GSN diagrams are color-coded (e.g., green for low-risk and red for high-risk) to highlight areas that may require attention.
- Regulatory Compliance Support: By identifying high-risk factors, the tool helps pilots address potential issues before the flight, supporting compliance with aviation regulations.

Safety Case Diagrams
The final output of the tool is a set of safety case diagrams generated using Goal Structuring Notation (GSN). The first safety case generated is the entire tree, showcasing all of the nodes that have passed/failed. The second is the pruned safety case, which only showcases failed nodes. These diagrams provide a visual representation of the safety arguments, including:
- Goals and Strategies: Showcasing the objectives of the safety case and the approaches taken to achieve them.
- Evidence and Context: Including the data and conditions that support the safety claims.
- Risk Indicators: Color-coded nodes that indicate the risk levels associated with different aspects of the flight.


(3) Team Contributions and Technical Achievements
Our team has collaboratively developed a comprehensive tool that leverages both front-end and back-end technologies:
- XML and JSON Parsing: Successfully parsed complex XML models and integrated user responses stored in JSON format to generate functional safety cases.
- Dynamic Frontend Development: Created a responsive and dynamic user interface that adapts to different flight configurations.
- Backend Processing and Database Management: Implemented robust backend services that handle data processing, risk assessment calculations, and interactions with MongoDB.
- Algorithmic Innovations: Developed algorithms to assess risk levels and assign appropriate classifications to different components of the safety case.
- Visualization and Automation: Automated the generation of GSN diagrams, providing clear and actionable insights for pilots.