Decentralized Autonomous Vehicles and Control Stations Data Sharing for Partially Disconnected Operation Locations

Marine research is, nowadays, still one of the most challenging research fields in today’s science. Reasons for this include factors like the adverse environments, the elevated costs and isolation introduced by the vastness of the earth’s oceans. To produce this work I worked together with Laboratório de Sistemas e Tecnologia Subaquática (LSTS), a research laboratory that develops software and hardware solutions for Marine exploration. Our goal was to develop a software system that could easily be integrated into the existing toolchain and provide a solution to existing problems. Said existing problems concern limitations in data sharing between connected systems, laborious manual processes concerning data sharing and information loss in certain recurring scenarios. After analyzing the existing system, the operation context and the desired functionalities, we defined the expected system as a data replication system capable of tolerating network partitions while working in both local and wide-area networks and being integrated into LSTS’ target systems, Dune and Neptus. We divide the solution into four modules. The core module bridges the interaction of this system with the target systems in the toolchain, it is responsible for receiving and sending updates of the existing system. LSTS uses its application layer protocol for data exchange so the second module is the communication interface provided by the target systems. The third module and by far where most of my work was directed, is the consistency manager. In this module, I implement a solution for consistent data replication capable of supporting network partitions. This solution leverages the Strong Eventual Consistency properties provided by Conflict-Free Replicated Data Types to provide the system with high availability and a guarantee of eventual consistency. I implement State-based CRDTs including the documented Grow-Only Set and Observed-Remove Set, as well as, custom ones built from these, Dictionary and LSTS Plan. Lastly, the election manager is a module required to allow efficient wide-area communication and aims at solving the problem of leader election in a dynamic network where partitions occur. Testing procedures were conducted under controlled conditions due to the COVID-19 pandemic. Two scenarios were developed by LSTS to simulate real operations. Both scenarios were completed successfully and a comparison in performance between the pre-existing system with and without the developed framework is presented. The preliminary results obtained in a controlled environment are very promising for future, real-world, testing. Integration in Neptus was limited to the Plan data type. Integration in Dune was relatively simpler allowing for an extended integration to vehicle state data types. The prototype system solved most of the problems initially set, but since it is essentially a proof of concept, it can still be improved. The existing system had no problem when faced with an eventual consistency model, which was an initial concern. CRDTs proved to be an effective solution for high availability when faced with network partitions and eventual consistency fulfills the system’s requirements.