A data-flow oriented software architecture for heterogeneous marine data streams
Keila Lima, Ngoc-Thanh Nguyen, Rogardt Heldal, Lars Michael Kristensen, Tosin Daniel Oyetoyan, Patrizio Pelliccione, Eric Knauss
TL;DR
The paper addresses engineering Marine IoUT data systems where data quality drives analytics and decisions. It introduces a data-flow oriented architecture built from ten architectural decisions to handle distributed processing, heterogeneous data sources, secure sharing, and quality control. Grounded in a Design Science methodology and validated through a longitudinal expert-driven process plus a prototype, the work yields practical guidance for interoperable, energy-aware, cross-organizational marine data streams. This contributes to more trustworthy and reusable marine data platforms with clear governance and edge-to-cloud data flows.
Abstract
Marine in-situ data is collected by sensors mounted on fixed or mobile systems deployed into the ocean. This type of data is crucial both for the ocean industries and public authorities, e.g., for monitoring and forecasting the state of marine ecosystems and/or climate changes. Various public organizations have collected, managed, and openly shared in-situ marine data in the past decade. Recently, initiatives like the Ocean Decade Corporate Data Group have incentivized the sharing of marine data of public interest from private companies aiding in ocean management. However, there is no clear understanding of the impact of data quality in the engineering of systems, as well as on how to manage and exploit the collected data. In this paper, we propose main architectural decisions and a data flow-oriented component and connector view for marine in-situ data streams. Our results are based on a longitudinal empirical software engineering process, and driven by knowledge extracted from the experts in the marine domain from public and private organizations, and challenges identified in the literature. The proposed software architecture is instantiated and exemplified in a prototype implementation.
