Content uploaded by Mariusz Postol
Author content
All content in this area was uploaded by Mariusz Postol on May 05, 2020
Content may be subject to copyright.
Machine to Machine
Semantic-Data Based
Communication: Comprehensive
Survey
Mariusz Postół
Lodz University of Technology, Łód´z, Poland
mariusz.postol@p.lodz.pl
Abstract
HTTP as a transport protocol and HTML as a description language are the
big winners selected by millions of people and they have led to the establishment
of the World Wide Web enabling a straightforward possibility to publish new in-
formation and expose it in the context of its description. Unfortunately, this is a
human-centric environment that cannot be easily adapted to an application-centric
approach, which is required to provide distributed globally scoped real-time process
control based on the machine to machine communication. The paper presents a
generic architecture that can be recognized as a framework to deploy solutions
targeting cyber-physical systems established as an integrated set of machines
interconnected over the Internet. To support distributed globally scoped information
processing solutions, inevitably the machines have to expose and update informa-
tion in the context that can be used to describe and discover it by other machines.
The globalization requires integration standardization. To fulfill this requirement it
is also proposed to deploy this architecture using the OPC Unified Architecture
industrial integration standard. The aim of this paper is to represent a first attempt
towards the machine to machine meaningful communication implementation using
existing standardized technologies in compliance with the Industry 4.0 and Internet
of Things paradigms. On the basis of the proposed architecture selected machine
roles as the processing units and related communication patterns and paths are
analyzed in context of the semantics aware data interchange and meaningful data
processing.
Index Terms
M2M, OPC UA, Industry 4.0, IoT, Data Oriented Architecture, Interoperability,
data semantics, server-client, publisher-subscriber
F
1 INTRODUCTION
Nowadays Internet [1] makes it possible to freely publish new data representing
a process information and expose it in the context of its description, i.e. meta-data.
HTTP [1] as a protocol used to transport the data and HTML [4] (more general a
hypertext) as a description language to provide metadata are the big winners selected
by millions of people and they have led to the establishment of the World Wide Web
(WWW). Hypertext is text with references (hyperlinks) to other data that the reader
can access. By design the data can be structural, i.e. organized as a graph where
embedded nodes are interconnected by references. It make the data brows-able.
Because each data entity is exposed in the context of metadata the user can guess
meaning of it and the interconnected destination of a selected reference. It makes the
data discover-able. Each data entity is addressable, so the WWW can be recognized
a globally scoped address space. The discovery process may be additionally assisted
by variety of the search services, e.g. Google, Bing, etc. Because the semantics of
the metadata is not formally defined it has to be interpreted using natural language
and as the result it is inherently ambiguous. This scenario is implemented using
well-known client server communication pattern. In this communication pattern the
server is responsible to publish business process information represented as the
data exposed in the context of metadata. Client is browsing Internet starting from
a selected hypertext document to find required data. The process is human driven
by an Internet user. A real challenge is how to adopt this infrastructure to deploy a
vision for an application of cyber physical systems [36] in the industrial automation
to promote research and development direction towards flexible production systems
coined as the Industry 4.0 [33], [34]. Unfortunately, the above described HTML/HTTP
based environment is human-centric and cannot be easily adapted to an application-
centric approach, which is required to provide machine to machine communication
converging distributed enterprise management and real-time process control against
Industry 4.0 paradigm.
The Industrial IT domain is an integrated set of ICT systems. From any ICT
application-centric solutions we would expect information processing rather than
having only interconnection between the machines. The main challenge of deploying
an industrial ICT solution is that information is abstract – it is knowledge describing
a situation in the selected environment, e.g. temperature in a boiler, a car speed, an
account balance, etc. Unfortunately machines cannot be used to process abstraction.
It is also impossible to transfer abstraction over the wire. Fortunately, there is a
solution to address that impossibility, namely the information must be represented as
binary data. In consequence, we can usually use both ones as interchangeable terms
while talking about ICT systems. Unfortunately, these terms, namely information
and data must be distinguished in the context of further discussion, because before
stepping forward we must be aware of the fact that the same information could have
many different but equivalent representations – different binary patterns. It must be
stressed here that to promote machine to machine interconnection the pattern must
be associated with the information against a common standard used by all machines
taking part in the communication.
To understand the binary data the machine must have used a data type – a formal
description how to create an appropriate bits pattern. Simplifying, the data type
determines:
1) Syntax: a set of valid values (binary patterns) and encoding/decoding rules.
2) Semantics: a set of rules needed to assign the information (understand the
data) to a selected valid values.
3) Operations: a set of operations that can be applied to the valid values.
84 COMPUTER GAME INNOVATIONS, 2018
Therefore, to make machines interoperable, apart from communication, they should
be prepared – integrated to be able to consume data from each other, and so commu-
nication is only a prerequisite for the machines interoperability.
For machine to machine interconnection a programming interface (API) is re-
quired. Because of the community acceptance and reuse of the existing solutions
(especially important for the Internet evolution), a solution – called Web Services
– atop HTTP has been developed a set of standards based on XML (eXtensible
Markup Language) by the World Wide Web Consortium (W3C) [4]. This specifica-
tions suit is commonly referred to as WS-*. Because the WS-* standards are developed
without any initial assumption concerning the underlying system platform they
are implemented on, they therefore must precisely define what must be on the
“wire”. By design to obtain applications interoperability using WS-* manual software
development and individual client server conformance testing are required. As the
result the next level of abstraction is needed to meet the above mentioned goal and
deploy Industry 4.0 paradigm.
To propose a solution that allows meaningful data processing in a distributed
machine to machine communication environment the following two questions should
be addressed:
1) How to get access to (transport) the process data?
2) How to represent (model) the information?
The questions should be addressed in the context of Industry 4.0 paradigm that
requires a standardized meaningful exchange of data between machines across dif-
ferent vendors. To answer the first question we need a globally accepted, platform-
neutral communication standard that allows also addressing the second question, i.e.
designing of an appropriate Information Model. As early as April 2015, the Reference
Architecture Model for Industry 4.0 (RAMI 4.0) recommended only IEC 62541 OPC
Unified Architecture (OPC UA) for implementing the communication layer. Authors
of the RAMI 4.0 model are BITCOM, VDMA and ZWEI [33]. In November 2016, the
Industry 4.0 Platform published a checklist for classifying and advertising products
as Industry 4.0 Basic, Ready, or Full. To comply with the Industry 4.0 communication
criterion, even the lowest category requires the product to be addressable over the
network via TCP/UDP or IP and to integrate at least the OPC UA information model.
As a result, any product being advertised as Industry 4.0-enabled must be OPC UA-
capable somehow.
It is a broad class of application domains where business ICT and control systems
are converged in a global scope to make a large whole with the aim to improve
performance as the result of the macro optimization and synergy effect. One of the
main requirements of the Industry 4.0 is to provide a consistent mechanism for the
integration of the vast varieties of systems. This requirement can be met as the
result of employing the OPC Unified Architecture (UA) as the mechanism for the
integration. It is assumed that it should be robust and the implementation should be
platform independent.
As it has been confirmed in the [1], the OPC UA server-client archetype is well
suited to address all the above-mentioned requirements. To deploy the Industry 4.0
paradigm additionally the data holder mobility behavior must be incorporated. This
way we have entered the domain of Internet applications coined as the Internet of
Things (IoT). One of the arguments for an Internet of Things is allowing distributed
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 85
yet interlinked devices, machines, and objects (data holders) to interact with each
other without relying on human intervention to set-up and commission the embed-
ded intelligence. In this context, the IoT is all about:
•mobile data fetching – how to gather data from mobile things (data holders),
•mobile data distribution – how to transfer the data over the Internet to a place
where it could be processed,
•mobile data processing – how to integrate consistently the partial data into a se-
lected application as a one whole to improve process behavioral performance.
Mobile data means that it may be generated in different geographical places or
comes from mobile devices. In case the generation places of data are arbitrary it
means that the data appearance must be recognized and further processed as an
event. A good example of this scenario is products (e.g. hygiene products, cosmetics,
drugs, cars, cigarettes) global tracking system. If data comes from mobile devices
it means that we must deal with the dynamic Internet attachment point. A typical
example of this scenario is mobile monitoring or control of the underlying process,
for example, a mobile healthcare solution. Another scenario is ad hock interconnected
data holders, for example devices that are being attached randomly to a selected in-
dustrial process. Consider a scenario where cars entering a service area are recognized
as the vital data holders. As the result we are facing the following problems:
•mobility – the data holders must be interconnected in spite of the Internet
attachment point geographical location in the selected service area,
•navigation – routing the data holder from one place to another,
•remote control – data destination is responsible to control the data source
behavior and consequently becomes the source of a feedback data,
•reusability – the data published by a source must be available by many data
destination.
To promote mobility the IoT solution must make the data transfer over the Internet
transparent, i.e. dynamic network access points must not disturb interoperability.
In some application, navigation is vital to move the interconnected data holder
against a selected geographical path, e.g. doctor on the way to rescue a monitored
patient. In some applications, the process must be remotely controlled to avoid a
catastrophic behavior, say serviceman on the way to fix a problem monitored by
a biogas generator. Usually, the same data must be also available and shared by a
variety of data destinations.
Unfortunately, the data mobility make the client-server archetype practically use-
less, because the client must know in advance the server end point where the data
is made available. It makes the server-client interconnected by the session tightly
coupled relationship. By design the mobile data holders are loosely coupled inter-
connected parties. This loosely coupled nature of the mobile interaction in large-
scale applications well adapted relationship is the publish/subscribe communication
paradigm [35]. With systems based on the publish/subscribe interaction scheme,
the senders of messages containing the process data fetched by the sensor, called
publishers, do not prepare the messages to be sent directly to specific receivers, called
subscribers, but instead, they categorize published messages into topics without
knowledge of which subscribers, if any, may receive the message. Similarly, sub-
scribers express interest in one or more topics and only receive messages that are of
86 COMPUTER GAME INNOVATIONS, 2018
interest, without knowledge of which publishers, if any, there are. Many variants
of this communication pattern have recently been proposed. For the interaction
paradigm of the mobile data holders it is important to guarantee full decoupling
of the communicating parties in time, space, and synchronization.
The OPC Unified Architecture (UA) technology [5], [6], [7], [8] meets all the
requirements, because:
1) It is Internet based technology.
2) It supports the client-server and publisher-subscriber communications rela-
tionship.
3) It is a platform neutral standard allowing easy implementation on any system
including embedded systems.
4) It is designed to support complex data types and object models (structural
data).
5) It is designed to achieve high speed data transfers using efficient binary data
encoding/decoding.
6) It is scalable from embedded applications up to the process control and
enterprise management/operation systems.
7) It has broad industry support and is being used in support of other industry
standards such as ISA S95, ISA S88, EDDL, MIMOSA, OAGiS, etc. [9].
The aim of this paper is to represent a first attempt towards the machine to
machine communication implementation using existing standardized technologies
in compliance with the Industry 4.0 paradigm. This paper also presents a prospective
of the OPC-UA as an enabler for the deployment of the machine to machine semantics
based communication.
Considering the above defined requirements and OPC UA main technology fea-
tures (Sect. 2) as a starting point for the further discussion on generic architecture is
proposed (Sect. 3). The proposed architecture is modeled using UML domain model.
It allows designing robust real time globally scoped distributed systems against the
cyber-physical systems paradigm called Industry 4.0.
On the foundation of this model selected interoperability deployment issues and
available solutions are presented (Sect. 4). The discussion is focused on the issues
related to meaningful data transfer, underlying process data binding, data discovery
and data security.
2 OP C UA MAIN TECHNOLOGY FEATURES
2.1 Introduction
An important aspect of Industry 4.0 paradigm is a robust interoperation of all dis-
tributed components taking part in a consistent information processing with the
goal to obtain macro optimization. To reach these ambitious objective information
modeling and secure communication interfaces are needed. The interfaces must be
flexible enough to support Internet of Things paradigm where data mobility is of vital
importance. Beside other technologies the OPC UA is an approach, which abstracts
from the network technology and software application, and offers a generic standard-
ized information modeling mechanism and secure communication framework.
In this section main technology features of the OPC UA technology are presented
with the goal to propose a domain model of the machine to machine communication
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 87
coherent with the Industry 4.0 and Internet of Things paradigms (Sec. 3). The model
is described with goal be analyzed against implementation of the meaningful data
transfer mechanisms supporting interactive and reactive communication over the
Internet.
2.2 Service Oriented Architecture
At the very beginning of a new solution development the question about its fun-
damental paradigms and architecture must be addressed. Observing continuous
evolution of the ICT domain, it seems that finding a solution that will guarantee
an unlimited lifetime is a real challenge. However, decoupling the solution from any
base technology increases the chance of its surviving the disappearance of the base
technology from the market. Fortunately, as mentioned above, there are many options
on how to get applications interconnected over the Internet. Developing services and
deploying them using Service Oriented Architecture (SOA) is the best way to utilize
ICT systems to meet this challenge. A service differs from an object or a procedure
because it is defined by messages that it exchanges with other services. SOA defines
the way in which services are deployed and managed. Adopting of the SOA approach
increases reuse, lowers overall cost, and improves the ability to rapidly change and
evolve systems, whether old or new.
To make systems interoperable, any even brilliant idea is not enough – a data
transfer technology is needed, however – when defining data exchange in context
of messages – we do not need to bother about different technologies used by the
participants as long as they can absorb the messages. Today, an ideal platform for the
SOA concept implementation is Web Service technologies.
The WS-* standards are the basic foundation for OPC UA but, using them alone,
would not be enough to reach the expected data throughput performance in indus-
trial applications. Additionally, by design, it supports client-server communication
pattern. To promote scalability, the OPC UA suite of protocols, therefore, expands the
WS-* standards by defining a few proprietary ones that allow binary encoding and
can be used alternatively according to selected profile (Sec. 2.7.)
2.3 Communication relationship
In general speaking the following two distinct patterns are used to transfer data
between communicating parties:
1) Connection-oriented: requires a session that has to be established before any
data can be sent between sender and receiver.
2) Connectionless-oriented: the sender may start sending messages (called packets
or datagrams) to the destination without any preceding handshake proce-
dure.
Each has its own advantages and disadvantages. In general, the OPC UA is a
session centric communication relationship. The session is established by the OPC
UA Clint that must connect to the OPC UA Server before any data can be exchanged
between them. In this connection oriented scenario defined by the services in Part 4
[10], the data flow is bidirectional over the session. The session entities communicate
over a secure channel that is created in the underlying communication layer and relies
88 COMPUTER GAME INNOVATIONS, 2018
upon it for secure communication. It enables to log-in using user authentication and
enable authorization of the OPC UA Client operation requests.
Using the connection-oriented communication pattern it is difficult or even impos-
sible to gather and process mobile data (Sec. 3.1), which is one of the IoT paradigms.
OPC UA Part 14 PubSub offers the connectionless approach as an additional option
to session based client-server interoperability and is a consistent part of the OPC UA
specifications suit. As the result it can be recognized as the IoT ready technology.
2.4 Object Oriented Information Model
OPC UA uses an object as a fundamental notion to represent data and activity of
an underlying processes system. The objects are placeholders of variables, events
and methods and are interconnected by references. This concept is similar to well-
known object oriented programming (OOP) paradigm [11]. The OPC UA Information
Model [1], [6], [7], [12], [13] provides features such as data abstraction, encapsulation,
polymorphism, and inheritance.
The OPC UA object model allows servers to provide type definitions for objects
and their components. Type definitions may be abstract, and may be inherited by new
types to reflect polymorphism. They may also be common or they may be system-
specific. Object types may be defined by standardization organizations, vendors or
end users. Each type must have a globally unique identifier that can be used to
provide description of the information meaning, i.e. semantics from the defining
body or organization. Using the type definitions to describe the information exposed
by the server allows:
•development against type definition,
•unambiguous assignment of the semantics to the data expected by the client.
Unfortunately, this concept is not applied to define data semantics for the connec-
tionless-oriented communication.
2.5 Abstraction and Mapping
Interoperability of applications can be achieved if communicating parties are able to
interchange streams of bits and assign to these streams the same meaning without any
ambiguity. Unfortunately, the representation of information on the wire, and commu-
nication protocols are subject to continuous evolution, if not revolution nowadays.
This could be dangerous for any long term initiatives. Because it is impossible to stop
the progress of technology changes, some other precautions must be taken to keep
the specification alive within a long term horizon. It is achieved by clear separation of
definitions provided by the specification from their actual implementation. It makes
OPC UA seamlessly portable from one technology to another. Mappings defined in
the specification [15] set forth how to implement an OPC UA feature using a specific
technology.
2.6 Security
Security is the fundamental aspect of computer systems, in particular those dedi-
cated to enterprise and process management. Especially in this kind of applications,
security must be robust and effective. Security infrastructure should also be flexible
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 89
enough to support a variety of security policies required by different organizations.
OPC UA may be deployed in diverse environments; from clients and servers residing
on the same hosts, throughout hosts located on the same operation network protected
by the security boundary protections that separate the operation network from exter-
nal connections, up to applications running in global environments using public net-
work infrastructure. Depending on the environment and application requirements,
the communication services must provide different protections to make the solution
secure [16]. OPC UA Security is concerned with the authentication of applications,
the authorization of users, the integrity and confidentiality of their communications
and the auditing of client server interactions. To meet this goal, security is integrated
into all aspects of the design and implementation of OPC UA servers and clients.
OPC UA relies upon the site cyber security management system to protect con-
fidentiality on the network and system infrastructure, and utilizes the public key
infrastructure to manage keys used for symmetric and asymmetric encryption [17].
OPC UA uses symmetric and asymmetric encryption to protect confidentiality as a
security objective, as well symmetric and asymmetric signatures to address integrity
as a security objective.
2.7 Profiles
OPC UA is designed to support integration of wide range of servers, from plant-
floor control devices to enterprise management and operation systems. All of them
are characterized by a variety of performances, execution platforms and functional
capabilities. Therefore, OPC UA defines a comprehensive set of capabilities servers
may implement a subset of. These subsets are referred to as Profiles, and servers may
claim conformance to them.
2.8 Robustness
Because it is to be used in the production environment including real-time process
control applications, OPC UA is designed especially to provide robustness of the
remote access to the underlying process data. OPC UA provides mechanisms for
clients to quickly detect and recover from communication failures associated with
transfers without having to wait for long timeouts provided by the underlying
protocols [18].
3 COMMUNICATION ARCHITECTURE
3.1 Domain Model
It is a broad class of application domains where business ICT and control systems
are converged in a global scope to make a large whole with the aim to improve
performance as the result of the macro optimization and synergy effect. One of the
main requirements of the Industrial ICT is to provide a consistent mechanism for
the integration of the vast varieties of unmanned systems. This requirement can be
met as the result of employing the OPC Unified Architecture (UA) as the mechanism
for the integration (Sect. 1, Sect. 2). It is assumed that it should be robust and the
implementation should be platform independent. Domain model in Fig. 1 illustrates
the architecture of the proposed solution that can be used to integrate variety of
cyber-physical systems. In this approach the following classes are distinguishable:
90 COMPUTER GAME INNOVATIONS, 2018
Fig. 1. Unified Architecture archetype
1) Server Services – the frond-end component of the OPC UA Server software
application.
2) Client – Client software application compliant with the OPC UA standard.
3) Reactive Application – a software application framework supporting reactive
communication pattern.
4) Publisher – a software application derived from Reactive Application and
implementing Publisher role.
5) Subscriber – an application derived from Reactive Application and imple-
menting Subscriber role.
6) Address Space Management – loosely coupled part of the OPC UA Server
implementing OPC UA Address Space maintenance services.
7) Address Space – the instance of the OPC UA Address Space created by and
maintained by the Address Space Management.
8) Information Model – information model designed according to OPC UA prin-
ciples and formally defining semantics of the underling process data.
9) Raw Data – data representing information describing the underlying process
state and behavior.
3.2 Connection-oriented communication
The primary objective of the OPC UA Server is to expose information resources
and services, which then can be used by clients to manage an underlying real-time
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 91
process or the entire enterprise as a large whole with the main challenge of integrating
systems and management resources into one homogenous environment. Information
describes the state and behavior of the processes and the server must be able to
transfer it in both directions. The main challenge of the Server Services (Fig. 1) is
to support this transfer by a unique and transparent means in spite of the process
complexity and roles of clients in the enterprise management hierarchy.
The OPC UA is a standard that allows clients to get indirect access to the server
underling processes. To meet this objective, each UA Server instantiates and main-
tains the Address Space (Sec. 3.4) instance that is a collection of data to be exposed
to Client instances over a connection. In the proposed model (Fig. 1), to create
the Address Space the Address Space Management must instantiate all nodes and
interconnect them by means of references based on the Information Model (Sec. 3.5).
Using already established session, the Client creates server side references that are
called monitored items. These items reflect the changes in attributes and behavior of
Address Space against their real-world counterparts, when they detect a data change
or an event/alarm occurrence, they generate a notification that is published to a client
who has subscribed to that item.
As it was stated previously, typical implementation architecture consists of variety
of OPC UA clients applications (Client in Fig. 1), which are connected to an OPC UA
server over the session. To get access to underlying Raw Data a generic Client does
not need to have any awareness of the Information Model used to create the Address
Space exposed by the sever in advance. However, in the production environment, the
Information Model may be useful to offer additional functions, like dedicated data
processing, customized control panels or predefined structure of the database tables
designed in advance based on the type definitions (expressed as dependency in Fig.
1). Types knowledge also simplifies configuration of the clients, because all of the
items composing the complex process information can be accessed simultaneously.
The Address Space is instantiated using the Information Model. This dependency
may be used to promote the design time Client configuration provided that Clint
depends also on the same Information Model. It is worth stressing now that the Clint
may be connected to many servers at the same time and usually not all content of
Address Space are relevant for a particular Client instance. Hence this design time
approach must depend on the partial or/and aggregated model.
3.3 Connectionless-oriented communication
Reactive Application (Fig. 1) is an application responsible to transfer the process data
over the network using message centric transport of the data standardized by the
OPC UA Specification Part 14 Pub/Sub. The Subscriber and Publisher roles expand
the Reactive Application (Sect. 1) and they may be used as a framework to implement
varieties of possible applications including but not limited to:
1) XML Gateway – it factories objects and serializes them into XML text repre-
sentation for further processing.
2) JSON Gateway – it factories objects using the and serializes them into the
JSON text representation for further processing.
3) Data Archival – it collects the process data received over the wire and archives
it in a database.
92 COMPUTER GAME INNOVATIONS, 2018
4) Cloud Gateway – it simplifies creation of a bridge to the cloud that enables data
to stream from industrial equipment to a cloud messaging endpoint such as
Azure IoT.
5) Human Machine Interface (HMI) – reactive visualization of the process data.
6) Supervisory Control and Data Acquisition (SCADA) – is a control system archi-
tecture that uses computers, networked data communications and graphical
user interfaces for high-level process supervisory management.
7) Fieldbus Gateway – a gateway to family of industrial computer network pro-
tocols.
The Data Archival can also be used to transfer data from the OPC UA environment
to any Database Management System for further processing by Enterprise Manage-
ment BI systems. The JSON Gateway and XML Gateway supports strong typed
objects serialization and deserialization using JSON and XML industrial standards.
Converting the OPC UA objects into text based representation is required to publish
and subscribe using Enterprise Service Base concept.
The Publisher is the actor that pushes network messages to an underlying trans-
port layer. It represents a certain data source, for example, a control device, a man-
ufacturing process, a weather station or a stock exchange. It may be also OPC UA
Client, OPC UA Server or in general any applications that understand the syntax and
semantics of the NetworkMessage structure defined by the specification.
The Subscriber actors are the consumers of NetworkMessage structures, which
are polled from the underlying transport layer. They may be OPC UA Client, OPC
UA Server or in general any applications that understand the syntax and semantics
of the NetworkMessage structure.
NetworkMessage is an ordered collection of data items. Each data item has asso-
ciated a DataType (Sect. 2.4) definitions provided in the domain specific Information
Model and encoded in compliance with the OPC UA standard [15].
3.4 Address Space and Address Space Management
To create the Address Space – i.e. to instantiate all nodes and interconnect them by
means of references – the Address Space Management class uses a predefined static
information context (Information Model in Fig. 1)providing a detailed description
of all the nodes, including their attributes and references. Static means that the
model is predefined at the design time for the selected environment – application
domain, but it does not mean that the exposed Address Space is static at all. In this
approach, nodes can be instantiated and linked dynamically, however this operations
must conform to the model definition. Dynamic behavior of the Address Space can
be controlled by the connected clients using services or by the current state of the
process.
The Information Model is abstract and hence, in a real environment, it must
be implemented in terms of bit streams (to make information transferable) and
addresses (to make the data selectively available). To meet this requirement, OPC UA
specification introduces a Node notion as an atomic addressable entity that consists
of attributes (value-holders) and references (address-holders of coupled nodes). The
set of the Node instances that the UA Server makes available to clients is referred to
as the OPC UA Address Space [6], [7], [14] (Address Space in Fig. 1). The Address
Space enables representation of both underlying process state and its behavior. The
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 93
Address Space Management makes up a context the process data is made available
and shareable. Creation of this context depends on an application domain unique In-
formation Model and is instantiated and exposed by the Address Space Management
(see Fig. 1).
The technique of binding the nodes with process data is vendor specific, but it
must be transparent to the Clients. Address Space Management functionality on the
Client part is standardized by the OPC UA Service Model [10]. Access to the values
representing the current process state is provided by the Read/Write functions. The
client can also be informed about changes of the process state using “data change”
notifications. Invoke and event notification functionalities allow clients to use the
Method instances.
The Address Space can be recognized as a container of the structural data. It is a
repository of the underlying process aimed at replication of the state and behavior in
real-time (Raw Data in Fig. 1). Set of variables represent the state. Modification of the
current value attribute of a variable is sent transparently to an actuator to control the
process behavior. By design, the historical data access can be used to represent the
behavior of the underlying process in time. Alarm and events are used to expose any
change in the current process state.
Information exposed by the UA Server is structural, i.e. it is composed of Node
instances being placeholders of simple (integer, float, Boolean, etc) or complex data
(arrays, structures) interconnected by references. Address Space Management users
may, therefore, want to obtain the information formal definition. Generally speaking,
to select a particular target piece of information we have two options: random access
or browsing. Random access requires that the target, i.e. a Node entity must have
been assigned a globally unique address and the clients must know it in advance. We
call them well-known addresses. The browsing approach means that the clients walk
down available references that build up the structure of information.
It seems that, in spite of the access method, to all of the accessible Node instances
in this representation of the information a unique address have to be assigned. There-
fore we call the collection of these items the Address Space [6], [7], [14]. Each Node
instance is a collection of the predefined set of attributes that have values accessible
locally in context of the instance. To represent information about the structure Node
instances are interconnected by references.
Accessing data by the Client is the first aspect of controlling the data stream
between the clients and the underlying process environment of the server. Another
one is creating and maintaining the Address Space in real-time.
To create the Address Space, we need to instantiate nodes and interconnect them
by references. Instantiating nodes operation requires assigning appropriate values
to attributes and adding references. To make information internally consistent as
a large whole, we need rules governing the creation and modification processes.
The Information Model implies these rules using the type concept. Types are called
metadata since they describe the data structure (context) not the actual data values.
The Address Space concept based on types can be a foundation for exposing
any information that is required. Client applications connected over the session with
the UA Server understand the Address Space concept and using a browse service
provided by the Server Services (Sec. 2) navigate through the Address Space. Since
browsing is based on the incremental and relative passage among Node instances
it is apparent that each path must have a defined entry point, so the question as to
94 COMPUTER GAME INNOVATIONS, 2018
“where to start” must be addressed. To meet this requirement, the Address Space
must have a predefined template containing well defined nodes that can be used
as anchors from which a client can start browsing the Address Space content. Thus
to design an Address Space and define new types, they must be derived from the
existing ones. At the very beginning the only existing types are the standard ones
defined by the specification.
3.5 Information Model
To make systems interoperable, the data transfer mechanism must be associated
with a consistent information representation model. OPC UA uses an object as a
fundamental notion to represent data and activity of underlying processes (Raw Data
in Fig. 1). The objects are placeholders of variables, properties, events and methods
and are interconnected by references. This concept is similar to well-known object
oriented programming (OOP) that is a programming paradigm using “objects” – data
structures consisting of properties, fields, events and methods – and their interactions
to design computer programs [11]. The OPC UA Information Model specification
[12], [13] (Information Model in Fig. 1) provides features such as data abstraction,
encapsulation, polymorphism, and inheritance.
Information is an abstract knowledge; therefore it cannot be directly processed
by physical machines. To make information capable of being processed, it must be
represented as the binary data. To define the relationship between information and
binary data on the one-to-one basis, syntax and semantics are needed. Syntax defines
rules of the vocabulary usage, and semantics maps valid bits pattern to the associated
piece of information.
The Information Model is such a collection of vocabulary, syntax and semantics.
This collection plays a role similar to high level programming languages that describe
data structures and an algorithm to be executed by the processor.
Even though the Information Model specification contains a rich set of predefined
types, the type concept allows designers to freely define types according to the
application needs. New types are derived from the existing ones. The derived types
inherit all features of the base types but can include modifications to make the new
types more appropriate for information that is to be represented.
Standardized expandability of the metadata used to provide a context of un-
derling process data is key requirements of the Object Oriented Internet concept
presented in [1].
3.6 Row Data
Raw Data in Fig. 1 represents functions responsible for getting access to business or
industrial processes source of exposed information resources and services hereinafter
referred to as process data. Raw Data is process data, which semantics is not described
by any OPC UA Information Model. For example it may be data representing current
state and behavior of any underling process.
4 INTEROPERABILITY DEPLOYMENT
4.1 Meaningful Data Transfer
In this section based on foundation of the presented architecture (Sec. 3) the machine-
to-machine interoperability deployment is described. The interoperability requires
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 95
meaningful exchange and processing of the real-time data. The process data can
be obtained from any underling process, i.e. sensors, database, devices or even
large scale highly distributed automation system. For embedded applications it may
directly use internal controller registers of the device. Main challenge of the OPC UA
is to standardize the meaningful in-band data exchange. In Fig. 1 two in-band data
streams can be distinguished:
1) Connection-oriented communication over OPC UA – the data is exchanged be-
tween Server Services and Client using the monitored items.
2) textitConnectionless-oriented communication over OPC PubSub – the data
is exchanged between Publisher and Subscriber using selected underlying
protocol and subscription mechanism.
The data that is to be exchanged over the in-band channel must be gathered from
the real word. The real word is presented in the architecture Fig. 1 as the Raw Data
class, which is a collection of data-holders, e.g. analog signal, database item, a device
internal register, etc. Except for the embedded scenario where the internal register
is the in-process data-holder for an instance of the in-band channel implementation,
again the raw data must be transferred over the wire. This data transfer may be
recognized as out-of-band. In computer networking, out-of-band data is the data
transferred through a stream that is independent of the main in-band data stream. An
out-of-band data mechanism provides a conceptually independent channel, which
allows any data sent via that mechanism to be kept separate from in-band data.
The main advantage of the in-band communication is that it is precisely described
in a specification, so it makes the solution portable and applicable to a variety of prod-
ucts. As a result of standardization, the flexibility of the communication capabilities
is limited by the specification. To promote standardization the deployment strategy
should minimize the required scope of the out-of-band communication. Main goal
of this section is to figure out how to achieve this. The data transfer for embedded
scenario is out this paper scope.
To comply with the Industry 4.0 communication criterion, even the lowest cate-
gory requires (Sect. 1) the product to be addressable over the network via TCP/UDP
or IP and to integrate at least the OPC UA information model. As a result, any
product being advertised as Industry 4.0-enabled must be OPC UA-capable some-
how. To comply with this requirements it is worth stressing that at design time the
Information Model architecture building block is a fundamental concept for further
research and development (Sect. 2.4). The Address Space has similar role at the run
time.
Before nodes making up the Address Space can be instantiated by the server,
this Address Space must be designed first. Model designing is a process aimed
at Information Model definition development as a set of nodes and their associa-
tions and, next, creating the information context as its representation in a format
appropriate for the implementation of the Address Space Management. Depending
on the OPC UA server implementation, the Information Model format and support
for the modeling process varies. The main challenge that must be faced up is how
to prepare and deploy Information Model seamlessly without programming. The
designing process can be supported by the Address Space Model Designer tool [21],
[23], [24] that is intended to help architects, engineers and developers accomplish
Information Model preparation. Using the tool it could be similar to preparation of a
96 COMPUTER GAME INNOVATIONS, 2018
hypertext document [1]. Unfortunately the OPC UA Specification [12] doesn’t define
formal format to be used for Information Model design and interchange, therefore
more research is required with the goal to define a human-centric language with the
goal to widely accepted representation of Information Model, semantic validation
methods, generation of the Address Space and custom complex data serialization to
leverage the deliverables to the designers, developers, end user, etc. and to integrate
them into other applications. This issue can be relaxed by using a format defined
in the specification dedicated to be used to interchange formal description of the
Address Space. It is proposed to carry on this research work as a community effort
using an open source project [25] as the research workspace, which offers basic
work framework and very convenient project management utilities available on
the well-known GitHub platform. In other words, applications interoperability is
yet granted by the OPC UA standard, the next step is to work out unification of
the designing/deploying methods and supporting tools to make people cooperation
possible.
In the presented architecture for the connection-oriented communication the mean-
ingful data processing on the Clint side is guaranteed because the data semantics is
preserved as the result of:
1) Server selection – Client selects the server to get access to underling process,
i.e. Raw Data.
2) Session creation – the session created by the Client makes up a context for the
Client side monitored items random selection.
3) Address Space content – the types defined in the Address Space are used as the
meta-data to recover data semantics by the Client to create monitored items.
4) DataType definition – exchanged simple and complex data over the wire is en-
coded according to the well defined rules specified by the OPC UA standard
[12].
Because the connection-oriented communication does not support structural data
transfer over the wire it is the Client responsibility to select and group the moni-
tored items using the semantics recovered from type definition exposed by Address
Space. The communication is secure and robust but the Client must deal with the
structural data consistency issue because the related entities are always transferred
asynchronously over the wire.
For connectionless-oriented communication, by design, the mentioned above server
selection is not applicable and as the result the session creation operation not avail-
able. Because the ultimate data receiver (Subscriber) do not have any services to
access back the Address Space on the Publisher side even if it really has appropriate
association RA-ASM Binding (it is optional) the semantics of the structural data can-
not be recovered at run time. Publisher can send simple and complex data embedded
in the NetworkMessage structure (Sect. 3.3), which is ordered sequence of items.
Because the Subscriber do not have access to DataType definition in context of Infor-
mation Model the data processing on the Subscriber side must be subject of manual
configuration or hardcoded based on out-of band exchanged type definitions. Further
research is required to support NetworkMessage semantics using dependency on the
Information Model (Fig. 1). In this approach the NetworkMessage content should be
implemented as the data transfer graph factored using a partial and/or aggregated
Information Model.
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 97
4.2 Data Binding
In context of the proposed architecture the data binding is all resources that must
be involved to establish a data transfer path between the data processing entity
(business logic) and the real world. This resources makes up a context responsible to
transfer the data in both directions and provides the proper notifications, i.e. when
the data source changes its value, the entities that are bound to follows this change
automatically. In must be a simple and consistent way for applications to present and
interact with data. It is expected that this data transfer will be meaningful, robust and
secure.
In Fig. 1 the following data-flow paths associated with Row Data can be distin-
guished:
1) ASM-RD Binding – association with the Address Space Management.
2) RA-RD Binding – association with Reactive Application.
3) C-RD Binding – association with the Client.
To implement the ASM-RD Binding association two questions must be addressed
[22]:
1) How to instantiate (create all Node instances) and maintain Address Space?
2) How to couple the Node instances bi-directionally with the underling process
data sources (Raw Data in Fig. 1)?
Using the Node instances by means of a well-defined set of services [10] (Server
Services in Fig. 1), clients get access to data representing a selected part of the
underlying processes environment. Node definitions are divided into classes. The
Variable class is used to represent the values – has the Value attribute. To be used
as the process state representation, the value of the Value attribute must be bound
with a real data source, e.g. an analog signal or a database item. The Method class
represents a function that can be called by the clients connected to the server. In
this case the real-time process bindings are responsible for conveying the parameter
values, invoking the represented series of operations and returning the execution
result. The both node classes are the main building blocks of the architecture that
allow the Address Space Management to couple the exposed Address Space with the
Raw Data, i.e. current state and behavior of the underlying processes.
In [1], [27] a generic solution is proposed for the ASM-RD Binding association
that meets the requirements of the defined typical enterprise systems structure con-
sistent with the presented one above (Sec. 1). The solution based on an intermediate
component called Process Observer is proposed. The Process Observer is a generic
communication machine, which handles proprietary out-of-bound data transfer us-
ing a pluggable data binding mechanism. Using pluggable components the commu-
nication engine can be composed using any custom protocol implementation. Main
advantage of this solution is integration of this binding mechanism with Information
Model design using an independent tool [27]. This approach allows for significant
reduction of the solution complexity, but the implementation of this model proves
that the architecture additionally could increase robustness by adding redundancy.
The Reactive Application is getting access to real word data using RA-RD Binding
association. Like ASM-RD Binding it must support bidirectional data transfer but the
data transfer is closely coupled with the role it plays on the network. Publisher uses
it to gather process data and push it to subscribers. Subscriber transfer pulled from
98 COMPUTER GAME INNOVATIONS, 2018
the network data in opposite direction to the data processing units, e.g. data base
for historian, Graphical User Interface for HMI. This functionality may be also used
to control the underlying process if the ultimate data destination are actuators, for
example. To monitor and control underlying process similar solution may be used as
presented above for ASM-RD Binding.
The RA-RD Binding is only one option for getting access to process data by the
Reactive Application class. Using a custom program interface (API) it may also be
associated with the Address Space Management by RA-ASM Binding.
Functionality of these associations depends on the role Reactive Application takes
in the data processing chain. Sec. 3.3 enumerates selected applications that can be
deployed on the foundation of the Reactive Application. In general, the following
data processing role can be distinguished for this component:
1) Ultimate destination of the data stream, e.g. historian, analytics, HMI, SCADA,
DCS, Address Space update.
2) Ultimate source of the data stream, e.g. sensor, database, file, Address Space
content publication.
3) Intermediary broker/router, e.g. OPC UA Server, custom protocol gateway.
The C-RD Binding functionality is similar to RA-RD Binding for Subscriber. It
consumes data gathered over the session established with servers and push it to
5 CONCLUSIONS
Nowadays, in such a fiercely competitive environment, modern highly distributed
manufacturing and transportation automation systems have to be involved. Such
systems consist of numerous different ICT systems located at different levels, i.e.
business, process management and process control. They are frequently dispersed
geographically in multi-division organizations. The Internet is a globally available
communication infrastructure that makes it the first and practically the only candi-
date to be used as a platform to build a universal solution for the above objectives and
even to integrate systems belonging to cooperating organization groups to benefit
from the synergy effect and global optimization. HTTP as a transport protocol and
HTML as a description language has been selected by millions of people and they
have led to the establishment of the World Wide Web enabling a straightforward
possibility to publish new information and expose it in the context of its description.
Sect. 1 introduces the discussion on how this human-centric environment may be
adapted to an application-centric approach, which is required to provide distributed
globally scoped real-time process control based on the machine to machine commu-
nication. It was assumed that any globally scoped solutions must be researched in
compliance with the recently emerged Industry 4.0 and Internet of Things paradigms.
To leverage interoperability a communication standardization is required. Based
on the recent research results related to development of the Industry 4.0 OPC UA
industrial integration standard was select as the only candidate to be a foundation
for architectural analysis. Main technology features of this standard are described in
Sect. 2.
A generic architecture is presented in Sect. 3. It is stated that it can be recognized
as a framework to deploy solutions targeting cyber-physical systems established as an
integrated set of machines interconnected over the Internet. To support distributed
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 99
globally scoped information processing solutions, inevitably the machines have to
expose and update information in the context that can be used to describe and
discover it by other machines. OPC UA introduces information modeling concept
that can be used by the interconnected systems to meaningfully process data with
the goal to achieve global optimization and synergy effect. The aim of this paper is to
represent a first attempt towards the machine to machine meaningful communication
implementation using existing standardized technologies and architecture
The meaningful machine to machine communication interoperability over the
Internet presented in the article prove that the above goal can be achieved and the
final solution offers the following features:
1) It makes it possible to freely publish and update information and services in
a contextual (semantics aware) environment.
2) Both connection-oriented and connectionless-oriented communication pat-
terns are supported.
3) It makes it possible to get a description, discover and finally get access to the
requested information and services.
4) Information resources and services exposed on the network that represent
the state and behavior of the underlying processes allow clients to manage
and control them over the Internet/Intranet.
5) Software of communication party can be offered by independent vendors as
generic off-the-shelf products.
6) The products can be tested for interoperability independently of each other.
The presented in the paper approach can be used for countless applications, from
exposing the representation of measurement devices to building multi-enterprise
management and remote process control systems. Smart networks, i.e. smart grid,
smart district heat distribution networks, utility distribution, oil distribution, rail-
ways, etc. are an example of applications like that.
It is worth nothing that to leverage the presented direction of further development
relate to deploy machine to machine communication in compliance with cyber physi-
cal solution concept in a wider scope more research is required with the goal to define
a formal, widely accepted representation of Information Model, semantic validation
methods, generation of the Address Space and custom complex data serialization to
leverage the deliverables to the designers, developers, end user, etc. and to integrate
them into other applications. In other words, applications interoperability is yet
granted by the OPC UA standard, the next step is to work out unification of the
designing/deploying methods and supporting tools to make people cooperation in
this respect possible.
It is proposed to carry on this research work as a community effort using the open
source project [25] as the research workspace on the well-known GitHub platform.
REFERENCES
[1] Postol, M.: Object oriented internet. Proceedings of the 2015 Federated Conference on Computer
Science and Information Systems, FedCSIS 2015, p. 1069, 2015.
[2] Liu, B., Jiang, T., Wang, Z. & Cao, Y.: Object-Oriented Network: A Named-Data Architecture Toward
the Future Internet. IEEE Internet of Things Journal, vol. 4, no. 4, pp. 957-967, 2017.
[3] Network Protocols Handbook. Javvin Press, 2007.
[4] The World Wide Web Consortium (W3C). http://www.w3.org/, 2015.
100 COMPUTER GAME INNOVATIONS, 2018
[5] Postol, M.,: UA Specifications. [in:] Lange, J., Iwanitz, F., Burke, T.J. OPC – from Data Access to
Unified Architecture, Häthig Fachverlag, 2010.
[6] OPC Unified Architecture e-book. http://www.commsvr.com/UAModelDesigner/, 2015.
[7] Mahnke, W., Helmut, S., Damm, L.M.: OPC Unified Architecture. Berlin: Springer, 2009.
[8] OPC UA Specification: Part 1 – Concepts, Version 1.0 or later. OPC Foundation, 2009.
[9] The OPC Foundation – The Interoperability Standard for Industrial Automation. https://
opcfoundation.org/, 2019.
[10] OPC UA Specification: Part 4 – Services, Version 1.0 or later. OPC Foundation, 2009.
[11] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-
Oriented Software. Addison-Wesley, 1995.
[12] OPC UA Specification: Part 5 – Information Model, Version 1.0 or later. OPC Foundation, 2009.
[13] M. Postol, Information model, in J. Lange, F. Iwanitz, T. J. Burke, OPC – from Data Access to
Unified Architecture, Häthig Fachverlag, 2010.
[14] OPC UA Specification: Part 3 – Address Space Model, Version 1.0 or later. OPC Foundation, 2009.
[15] OPC UA Specification: Part 6 – Mappings, Version 1.0 or later. OPC Foundation, 2009.
[16] OPC UA Specification: Part 2 – Security, Version 1.0 or later. OPC Foundation, 2009.
[17] C. Adams, C., S. Lloyd, S.: Understanding PKI: Concepts, Standards, and Deployment Considerations.
Second Edition, Addison-Wesley Professional, 2002.
[18] CommServerUA: Redundant, Multi-protocol, Multi-channel OPC UA Server For Highly Distributed
Systems. http://www.commsvr.com/Products/OPCUA/CommServerUA.aspx, 2015.
[19] OPC Unified Architecture Companion Specification for Analyser Devices. OPC Foundation, 2009.
[20] OPC Unified Architecture Companion Specification for Devices. OPC Foundation, 2009.
[21] Postol, M.: OPC UA Information Model Deployment. CAS, 2015, http://www.commsvr.
com/DownloadCenter/Publications/OPCUAInformationModelDeployment.aspx, DOI:
10.5281/zenodo.2586615.
[22] Postol, M.: Design and Modelling of the Address Space. [in:] Lange, J., Iwanitz, F., Burke, T.J. OPC –
from Data Access to Unified Architecture, Häthig Fachverlag, 2010.
[23] http://www.commsvr.com/Products/UAModelDesigner.aspx – OPC UA Address Space
Model Designer software, 2010
[24] Postol, M.: UA Address Space Model Designer. [in:] Lange, J., Iwanitz, F., Burke, T.J. OPC – from
Data Access to Unified Architecture, Häthig Fachverlag, 2010.
[25] OPC UA Object Oriented Internet. Opc-ua-ooi open source project on GitHub, http://mpostol.
github.io/OPC-UA-OOI/, DOI: 10.5281/zenodo.1198852, 2019.
[26] Postol, M.: Real-Time Communication for Large Scale Distributed Control Systems. International
Multiconference on Computer Science and Information Technology; Wisła, PIPS, pp. 849–859,
ISSN 1896-7094, 2007.
[27] Postol, M.: Large scale distributed process and business management integration. 14th International
Congress of Cybernetics and Systems of World Organization of Systems and Cybernetics,
Wroclaw, pp. 632-642, ISBN 978-83-7493-400-8, 2008.
[28] Giovinazzo, W.A.: Internet-Enabled Business Intelligence. Prentice Hall, 2002.
[29] Connolly, T.: Database Systems. 2nd ed., Addison-Wesley, 1999.
[30] Chappell, D.A: Enterprise Service Bus. O’Reilly Media, Inc., 2004.
[31] Lange, J., Iwanitz, F., Burke, T.J.: OPC – from Data Access to Unified Architecture. Häthig
Fachverlag, 2010.
[32] Imtiaz, J., Jasperneite, J.: Scalability of OPC-UA down to the chip level enables “Internet of things”.
Industrial Informatics (INDIN), 2013 11th IEEE International Conference on. 500-505, 2013.
[33] Zezulka, F., Marcon, P., Vesely, I., & Sajdl, O.: Industry 4.0 – an introduction in the phenomenon.
IFAC-PapersOnLine, 49(25), 8-12. doi:10.1016/j.ifacol.2016.12.002, 2016.
[34] Hermann, M., Pentek, T., Otto, B.: Design principles for industrie 4.0 scenarios. Proceedings of the
Annual Hawaii International Conference on System Sciences, 3928-3937, March 2016.
[35] Eugster, P.T., Felber, P.A., Guerraoui, R., & Kermarrec, A.: The many faces of Publish/Subscribe.
ACM Computing Surveys, 35(2), 114-131. doi:10.1145/857076.857078, 2003.
[36] Schlick, J.: Cyber-physical systems in factory automation-towards the 4th industrial revolution. 9th
IEEE International Workshop on Factory Communication Systems (WFCS), 2012.
POSTÓŁ, M.: MACHINE TO MACHINE SEMANTIC-DATA BASED COMMUNICATION. . . 101