## 3 Description of the Solution  
As it has been stated, there are multiple open issues involving solutions for data exchange in constrained environments for underwater vehicles, most of them involving the lack of specific services available, underdeveloped interoperability solutions or how the proposals deal with data from different environments. Nevertheless, there are also several aspects that must be taken into account. For example, it will be proved in this and the next sections that the Data Distribution Service (DDS) standard, which is largely based on the Publish/Subscribe communication paradigm, has been proven to be a reliable solution for interoperability among different underwater resources, and it is capable of handling the challenges related to unreliable environments, communication channels of poor quality and high latency. In addition to that, the design and implementation of a middleware architecture as a way to guarantee interoperability, scalability and interconnectivity of the existing hardware components when the Protocol Data Units that are interchanged at the data level, has been regarded as the most suitable option for the application domain of distributed and Cyber-Physical Systems. It can be claimed that the following technical and scientific contributions are provided by the middleware architecture described in this manuscript:  
1. _Interoperability among autonomous vehicles._ The different kinds of vehicles to be included in the deployments of the SWARMs project deal with several of the types that have been defined before (AUVs, ROVs). The issues that have been described before regarding performance of heterogeneous hardware from different vendors in a CPS will be dealt with by the middleware, since it will abstract the different hardware components and data formats present in the deployment and offer a common way to access those services from upper layers, regardless of the different ways that have been used to represent data formats. As it will be describedin the testing section, several different vehicles were integrated by the semantic middleware architecture during the deployment carried out, both in terms of characteristics (AUVs, ROVs) and manufacturers. 2. _Interoperability upon heterogeneous networking communications_. The semantic middleware architecture presented in this manuscript receives data both from a wireless network that is receiving information from a regular layered architecture (where data are transferred via antennas at the bit level and Internet Protocol at the layer one) and an acoustic network that retrieved information from an AUV navigating underwater making use of a set of acoustic modems to transfer the information about the vehicle involved in the communications. The semantic middleware architecture effectively abstracts this heterogeneity for the final human operator or the staff operating the Graphical User Interface so that they will be unaware of the origin of the data. 3. _Inclusion of a specific set of services for middleware architectures for underwater environments_. So far, it has not been made clear the specific software components that are needed for a middleware architecture focused on maritime environments; even on other ones, middleware is often based on ad hoc solutions difficult to port to either other application domains or iterate again in the same ones, thus resulting in a waste of resource each time a new middleware solution has to be created. By having a specific list of components it can be set what is needed for underwater environments and develop it in an easier way. Among the most prominent ones, semantic capabilities, context awareness, the existence of an information model, the capability to add security or Quality of Service (QoS) capabilities have been included in the middleware architecture described in this manuscript.