In the current chapter, the DDS and OPC UA protocols will be described from industrial and research perspectives, taking into consideration different contexts and applicability domains. Each of the four subchapters provides in-depth analysis and observations for the most important mechanisms and technologies that play an important role in time-deterministic communication scenarios. As from the implementation point of view, for the development of the current work, the eProsima Fast DDS [
12] open-source software development kit (SDK) was used for all the implemented DDS entities, alongside the open62541 SDK [
13] for all OPC UA implementations.
2.1. DDS in the IIoT Context
DDS targets the real-time behavior of the communication by implementing a publish-subscribe paradigm and also providing a request/reply paradigm for sending commands that expect an answer or for accessing individual services, assuring high efficiency for one-to-many, one-to-one, and many-to many scenarios. The availability of multiple mechanisms to be used for information exchange makes DDS a flexible and scalable solution when taking into consideration the constant evolution of the requirements in the context of IIoT. From the perspective of the publish-subscribe mechanism, the unidirectional exchange is done based on the Quality of Service (QoS) policies defined inside the architecture, allowing a set of multiple options from a developmental point of view. DDS implements a data-centric model, establishing the concept of a global data space which all the entities can access, a space where the information is propagated once the role of each entity is established. The publish-subscribe paradigm design is based on topics, and the receiving entities express the interest regarding a topic, and a match is made with the publishing entity of the desired topic. With a topic-based design, in complex architectures, the data exchange is simplified, allowing only the right data to arrive at the right subscriber, increasing the efficiency for real-time constraints and permitting a more abstract manner to categorize and encapsulate the data. It assures the scalability of the protocol in use cases where the architecture of the system contains many entities, and different types of data are published at different time recurrences. The entities can be grouped in domains, having isolated virtual spaces on where the publishers and subscribers can exchange specific data, improving the flexibility of the protocol and enhancing the volume and complexity of the data exchanged, making possible the development of more elaborated architectures.
As wire protocol, Real-Time Publish-Subscribe (RTPS) protocol is used, assuring interoperability over standard networks with emphasis on the real-time requirements. At transport level, RTPS can use TCP/UDP/IP (Transmission Control Protocol / User Datagram Protocol / Internet Protocol) providing access to all the DDS features alongside portability and compatibility with different DDS implementations. Similar to the DDS, the same principles regarding the association of the involved entities to a domain are applied to the RTPS as well, alongside the mapping of DDS subcomponents and features to RTPS. This allows to have an abstract way of dealing with specific details from system architectural perspective and roles definition for all the involved entities from wire level to above. Also, it maintains the flexibility towards different mechanisms, specific to the achievement of real-time requirements or related to discovery possibilities inside a domain.
For a communication protocol capable of achieving real-time responsiveness, the function calls must be executed in a context that is aware of the necessary time needed for the instructions to execute and the expected time based on application needs. Towards this principle, on Linux-based operating systems, DDS comes with the ability to provide a configurable blocking time-interval for functions that compete for resources. In cases where the configured blocking time-intervals are exceeded, there are measures in place that prioritize the most important operations, contributing in this way to the proficiency of the DDS protocol to comply with the development necessities for real-time applications.
Besides the split of the API in two layers, one specific to the wire protocol and another layer specific to more abstract DDS concepts, and besides the real-time behavior assured through build-in mechanisms, another important feature of the DDS protocol is represented by the discovery mechanisms. Simple discovery is based on the RTPS standard and allows compatibility with other DDS implementations. Static discovery implies the knowledge upon all Data Writers and Data Readers alongside data types and topics involved in the architecture, the entities identifying each other by specified IPs and ports. The discovery server mechanism, where the distributor of the discovery meta traffic information is represented by one of the existing entities belonging to the domain, constitutes another flexible solution in a centralized design.
With the evolution of complexity for the distributed architectures in the context of Industry 4.0, the systems are targeting the use of multiple protocols and devices with different types of requirements, making necessary the development of safety mechanisms at different layers for the prevention of system failures and fast recovery features that provide an increased robustness for the technologies involved in the industrial scenarios. For communication protocols that assure the interoperability between multiple devices that exchange high data volumes, the fast recovery of the communication procedures may represent the difference between a technology that is efficient in time-critical situations, capable of achieving hard real-time constraints, and a technology that is inadequate for time-sensitive operations. In the case of DDS, a mechanism for this type of scenario is depicted under the form of the Persistence Service. Based on the recovery process of a previous state of the system before shutdown, between the DataWriter component which is responsible for informing upon a modification of a data value specific to a topic, and the DataReader component in charge of consuming the data values, the Persistence Service allows for the storage of context-related details alongside the last notified change of the data values. Having this feature available, the system is able to restore the communication state previous to an unwanted shutdown and with the stored information as fast as possible. The involved entities responsible for the publish or subscribe operation can act accordingly to the situation, offering a clear view upon which data arrived before the stoppage event and which data need to be delivered at the exact moment of time after the recovery. These types of capabilities represent an advantage for all the IIoT technologies and provide, from a development perspective, a larger view and increased control possibilities upon the system. In the case of DDS, the Persistence Service increases the robustness and offers a high quality of service, making the technology suitable for a large variety of use cases with a wide range of requirements.
In the automotive domain, DDS is part of the AUTOSAR Adaptive Platform, with bindings to the Communication Management, alongside other acknowledged communication protocols over Ethernet, for example, SOME/IP. However, different from SOME/IP, which is universally used for intra-vehicle communication scenarios, DDS is considered to be used mainly for the manufacturing processes in the automotive field, being implemented in assembly and production lines for industrial robots. Additionally targeting the embedded systems and resource-constrained devices area, Micro-XRCE-DDS is available as a middleware solution that assures QoS and multi-platform support with guaranteed low resource consumption.
From the research perspective, DDS implementations are available for a variety of domains and use-cases. In the Ref. [
14], the authors mention the advantages of the Publish/Subscribe paradigm alongside the adoption of RTPS as wire protocol for assuring interoperability between DDS implementations from different vendors. The solution is used for data exchanges among underwater vehicles, indicating the feasibility of DDS in extreme environments. In the Ref. [
15], the challenges regarding the configuration of QoS for real-time systems are highlighted alongside the difficulty of implementing applications with high interoperability due to the lack of DDS standards, the consequences being an increased complexity in understanding DDS dynamic models. The authors provide a framework-based development tool for software reusability with different DDS implementations, useful in architectures with a large number of heterogeneous IoT devices.
2.2. DDS as ROS2 Middleware
The Robot Operating System 2 (ROS 2) is an open-source software framework which consists of algorithms, drivers, and tools for building complex robot applications compatible with various hardware equipment. It provides a communication system adapted for IIoT use cases and visualization and simulation mechanisms, helpful in architecture definitions and system behavioral observations at a low cost. With a whole ecosystem for development in place, ROS 2 gains popularity among both research and industrial fields [
16,
17]. The integration of other technologies, designed for obstacle detection, image processing, and dependency management between components is accessible, resulting in the rapid adoption of ROS2 as the desirable solution for the implementation of complex applications for distributed architectures specialized in robot control and odometry. From the perspective of communication middleware, DDS has been validated as a suitable solution for ROS 2 [
18], providing decentralized communication possibilities between components and extending the capabilities towards the achievement of hard real-time requirements through the Publish/Subscribe paradigm.
As part of ROS 2, the default publication mode used by DDS is the asynchronous mode, meaning that the data are copied into a queue and the control over the publishing operation will be taken over by a different background thread. This thread will be in charge of consuming the data from the queue, leaving the main thread available even before the information is sent. With increased accessibility for the initiation of the publishing process, this mode is targeted for nodes that do not have rapid time expectancies and are not in charge of time-sensitive operations. The second mode that is available is the synchronous publication mode, where the control over the publishing operation is owned by the main thread. No other functions are executed before the data are sent due to certain mechanisms in place that prevent other parts of the application from interfering with the main thread. The advantages of the synchronous mode are related to better control over necessary time-intervals in which the data are expected to be sent, and where higher data volumes with minimal latency are delivered to system nodes in charge of time-critical events. The configuration between the two modes is attainable with ease, confirming the flexibility granted by DDS for complex systems with various demands.
The inclusion of ROS 2 in academic projects is in a beginning state. The main obstacle is represented by the difficulty of migration from ROS 1 due to multiple requirements in terms of technological updates, a consequence being the reduced usability of existing developments, as stated in the Ref. [
19]. However, it is expected for ROS 2 to generally replace the previous version because of the new features that are suitable for the evolving requirements present in Industry 4.0 scenarios. DDS can be viewed as a main contributor to the advancement and expansion of feasibility from the communication perspective. In the Ref. [
20], the importance of DDS as part of ROS2 is detailed alongside the importance of different DDS implementations for achieving the major objectives of ROS2 concerning the multiple robots cooperation, the usage of smaller embedded systems with limited resources, the real-time constraints that are present in multiple industrial use cases, and the communication over unstable networks. The authors propose a solution for dynamically binding proper DDS implementation, suited for specific situations, as a middleware to ROS2. It is expected for DDS to enhance and adapt ROS2 as a solution that is compatible with vast industrial control architectures, establishing a footprint as an efficient communication technology with high potential.
2.3. OPC UA: Established in Industrial and Research Circumstances
The OPC UA protocol is present in industrial automation domains as the main technology capable of offering a wide variety of features on all the levels of the OSI model (Open Systems Interconnection), being capable of overcoming most of the growing demands of the industry. It implements the classic Server/Client paradigm, having a dominant applicability at the moment in multiple fields, like the Water Industry, Manufacturing, Power Industry, and others. More recently, it has offered the Publish/Subscribe paradigm as a response to the growing real-time requirements existing in the Industry 4.0 advancements. From a research perspective, OPC UA represents a major topic for the academic and industrial domains. Studies have been made [
21,
22] focusing on multiple features provided by the protocol, and the results lead to the establishment of OPC UA as a significant technology in the industry. With the recent specifications [
5] that defined the Publish/Subscribe mechanism, new studies have been conducted involving comparisons between the new capabilities and the expanding requirements.
In the Refs. [
23,
24], OPC UA was implemented in the context of car-to-infrastructure communication, proving the feasibility of the protocol in use-cases where interaction between the automotive and automation domains is necessary. In the Ref. [
25], the authors implemented a prototype integration of the OPC UA and TSN technologies in the AUTOSAR Adaptive standard. In the Ref. [
7], the OPC UA Publish/Subscribe mechanism is analyzed in detail and compared to other similar mechanisms from other communication protocols, and architectural improvements are suggested for specific industrial use-cases. In the paper by the Ref. [
26], the applicability of the OPC UA protocol was extended towards image transmission scenarios, implementing multiple UDP Publish/Subscribe channel transmission. The various use-cases in which OPC UA was implemented with significant results indicates the robustness and the flexibility that propagated the protocol as an important technology present in the industry. With the addition of the Publish/Subscribe mechanism, the increased capabilities have expanded its relevance to other areas. In the context of the expanding real-time requirements associated with Industry 4.0, OPC UA offers a high quality of service, and it is expected to continue to extend and improve for an accessible adaptation to any IIoT necessity.
2.4. TSN: Evolution, Challenges and Expectations
When discussing the most promising communication protocols over Ethernet for distributed architectures, the TSN technology must be mentioned as it plays an important role in all use-cases where real-time assurances are needed at network level. As a set of standards and mechanisms that are configurable for achieving different objectives, TSN adoption can raise numerous challenges for any communication structure. One of the obstacles is related to the large number of interdependencies that the TSN implies, lots of adjustments being needed for all the devices and applications involved, generating a significant effort from a development perspective. Another obstacle is represented by the configuration possibilities available for each standard, making the evaluation of the right set-up a complex process and generating scalability issues. A standard configuration scheme is a desirable step to achieve in the near future, however it is a difficult task, taking in consideration the parameters that could influence such a procedure (the number of devices, the capabilities of each device, the most efficient set of mechanisms needed for a certain scenario, real-time requirements, security and safety limitations, etc.). The most efficient approach, for the moment, adopted in the industry at first implies a correct identification of the necessary TSN mechanisms for the desired use-case and subsequently configures each mechanism, increasing the optimization of the system in gradual steps.
Even with considerable benefits provided by TSN, slow progress can be seen in both research and industrial usage. The main reason for this is represented by the limited amount of devices that support TSN technology, found on the market. However, the specialized hardware companies are starting to focus on the development of devices suitable for IIoT use-cases with real-time requirements, that implement specific TSN standards at the data link layer. A relevant example can be observed in the automotive domain, where controller-to-controller Ethernet communication scenarios become more frequent and hardware equipment has to deal with the already established time-constricted operations in a synchronized manner. At the moment, the time guarantees of the networks are desirable for enhanced performance of the IIoT systems, and even with all the challenges associated with the transition to TSN technology, the evolution towards improved communication infrastructures is essential for the industry.