## 2 Related Works
### Open Issues, Challenges and Contributions  
The previous proposals have been reviewed with the idea of finding out about how the current state of the art is regarding solutions for constrained environments in Cyber-Physical Systems. Taking into account these aspects, the most important open issues have been found are:  
1. _Interoperability solutions for autonomous maritime vehicles are hard to find._ While there is significant literature regarding how information can be transmitted at layers that use bits or packages as the Protocol Data Units, interoperability among elements in a distributed or Cyber-Physical System applied to higher level layers (session, presentation or application layers, which may be covered by a distributed middleware solution) is almost entirely missing.
2. _Constrained environments do not necessarily match the challenges to be faced in the environment of the manuscript._ Wireless Sensor Networks, embedded systems, or any environment with severe constrains in the computational capabilities of the participating hardware (or software) elements have challenges that are often different from the ones that are found by underwater vehicles. The main difference between this and other environments is that limitations for the maritime vehicles come from the issues existing for communications due to the transmission medium rather than the hardware itself.
3. _Services available are scarce, if any_. The services that are included in the solutions that have been described before are not that abundant. What is more, there is usually a lack of definition of the services that should be mandatory to have in this environment (hardware registration, access points to the middleware, hardware abstraction, etc.).  
Therefore, as a way to tackle those challenges, the following measures are proposed in order to address the challenges associated with interoperability for a set of deployed AUVs:  
1. _Design and implementation of a distributed platform for the cooperation of CPSs._ A middleware-based architecture that behaves as a distributed system where information can be shared by means of messages containing data has been designed. A fully decentralized solution was discarded, since a somewhat central element is required to contain all the services and Human-to-Computer interfaces that is not reasonable to have installed in the autonomous vehicles, either due to their complexity, or since these vehicles are often based on proprietary solutions that require a tailored interface to interact with the other parts of the system.
2. _Design and implementation of specific services for underwater robots._ The design of the architecture considers all the services needed by a set of AUVs. It has to be noted that the system consists of a set of heterogeneous (both in technical characteristics and other features such as the vendor or the kind of standards used for information transfers) AUVs that must exchange information among them. To the best of the authors' knowledge, the architecture components that have been defined are unprecedented in any other related work of this nature.
3. _Usage of suitable communications paradigms._ Even though there are several suitable paradigms to solve how communications are going to take place (as it has been included in Section 3.1) it is widely considered that a Publish/Subscribe paradigm is the most suitable solution for the application domain of underwater vehicles and their ancillary services.