Date of Award


Document Type


Degree Name

Master of Science (MS)


Computer Engineering and Sciences

First Advisor

Siddhartha Bhattacharyya

Second Advisor

Juan C. Avendano

Third Advisor

Brian Lail

Fourth Advisor

Philip J. Bernhard


Unmanned Aerial Vehicles (UAVs), particularly electrically powered multi-rotors, are becoming increasingly popular in the entertainment, transportation, logistics, and military sectors. One of the main drawbacks presented by these vehicles at the time of writing is the limited range achieved as a consequence of the limits of battery technology. One common method used to overcome such limitations, is the use of multiple vehicles in cooperation to achieve a certain goal. This application of UAVs is called swarming, where multiple agents can coordinate their actions to fly in a certain formation, to access a certain challenging area, or to fly further. As with any multi-component system, the complexity of swarms equates to multiple points of failure. The risk posed by any uncertainties presented in the highly complex real time mechanics of coordinated flight are unacceptable in safety critical industries. The consequences of critical failures could be significant loss of life, property damage, or environmental harm. Assuring the correct behaviour of UAV swarms is a primordial challenge to be addressed for the technology to expand its use cases. One of the most robust techniques to verify the correctness of systems is model checking, which allows to verify the behaviour of a system through the systematic inspection of all possible states. The system is verified based on a high-level model representation which allows for the abstraction of implementation details. This approach to software development is not commonly used due to the time and resources investment it requires. The work presented here proposes a framework to model, verify, and provide evidence of correctness for a distributed system of agents with a common objective. Specifically, the framework demonstrates a partially automated process to take a system modeled in the UPPAAL model checker and implement it in the Robot Operating System (ROS) environment. The target system is a swarm of UAVs that travel to a specified goal location while implementing a leader-follower hierarchical structure through a consensus protocol. This document provides an algorithmic representation for the mapping of UPPAAL structures to ROS constructs. The work concludes with the simulation of the ROS implementation of the UAV mission in the Gazebo 3-D robotics simulator.

Available for download on Saturday, June 17, 2023