Page 30 - Kaleidoscope Academic Conference Proceedings 2020
P. 30
complex states, e.g., of manufacturing devices. It calling services in a sequence to achieve a behavior is called
furthermore enables the definition and invocation of services. service orchestration. Only service orchestrators are aware of
Data and services are provided by servers and are requested the application behavior that service calls will create; service
by clients. A server organizes all provided data and services providers must not have knowledge of application behavior,
data into namespaces. With the OPC-UA pub/sub extension, and therefore do not depend on a specific application
it became possible to subscribe to individual values within behavior. The explicit interface between service providers
the namespace of a server. Subscribed values are delivered and service users is the service interface that defines the
with a lightweight protocol, such as MQTT, which only has information that is provided to services by the orchestrator,
low protocol overheads. OPC-UA furthermore develops and the information that is provided back to the orchestrator
companion specifications, which provide unified data from the service provider.
models for a variety of devices and applications. Together
with the Industrie 4.0 asset administration shell, it enables
the realization of complex digital twins covering level 3 of
the Industrie 4.0 maturity model.
Reaching higher levels of the Industrie 4.0 maturity index
requires additional effort. Analysis-centric advancements,
such as predictive maintenance, the identification of process
and supply chain improvement potential, and condition
monitoring, require the inclusion of analysis backends. In
this paper, however, we will focus on the ability to adapt
production processes, which are also required to reach higher
maturity levels.
3. SERVICE-ORIENTED I4.0 ARCHITECTURE
Nowadays, process automation is realized with PLCs. These
implement cyclic programs that automate part of a
production process, e.g., an individual production cell. The
physical connection of production cells yields the overall
manufacturing process. The resulting software architecture Figure 4 – SoA concept for manufacturing
is a heavily distributed system. Changing the manufacturing
process consequently requires manual changing of all PLC When transferring the SoA principle to production systems,
programs that are related to that process change, as well as production devices or complete production cells become
all dependencies. Often these dependencies are not fully service providers. In contrast to current automation
known, and also not documented. Process steps may have architectures, a service provider in an SoA-based production
side effects, e.g., by communicating data to other cells, or by environment has no process knowledge and no knowledge
adhering to a specific time frame. Changes in PLC programs regarding the product that is being manufactured. It provides
may break these dependencies, causing the overall process to a set of manufacturing services with optional constraints that
malfunction. Complex, grown processes containing a large define, for example, the required time for a manufacturing
number of these dependencies are difficult to change because step. Service orchestrators implement production processes
each change requires all dependencies to be fixed. The and orchestrate production services according to a product
automation software is therefore a limiting factor for process recipe. Changing a production process involves changing
changes. only the orchestration. Therefore, orchestrators may use
different recipes for different products, e.g., to create
SoA is a pattern in software engineering that improves different sets of drilling holes in products to enable them to
maintainabilit and changeability for large-scale be mounted to specific product lines. Simple production
applications by removing (implicit) dependencies between processes only contain one orchestrator. Complex processes
software components. SoA defines service providers and contain several process orchestrators that are hierarchically
service users. Service providers offer reusable services. structured and offer services on different levels of
These must not have any dependencies to other services or abstraction.
service providers. Instead, all the information that is
necessary to run a service must be provided with the service Figure 4 illustrates the architecture of a service-oriented
call. Consequently, all return information is passed back to production process created with Eclipse Basyx. Control
the caller. Service providers do not maintain an internal state. components control physical devices and implement a
Therefore, provided services may be used by any number of unified interface (API) for invoking services. As this is
service users in different contexts, which improves the usually a time-critical process, control components are
reusability of services. Service users combine and use generally implemented on PLCs. Asset administration shells
services from service providers to create application logic. (AAS) implement the digital twins of production assets
They are called service orchestrators, and the process of including devices. An AAS describes the services of a device
– xxvi –