Open Source Software for Industry 4.0
The Internet of Things (IoT) represents a significant change and opportunity for the manufacturing industry.
Technological advancements in connectivity and communication technology, real-time data analysis, and complex event
processing have opened the possibility of integrating the traditional operational technology (OT) of a manufacturing
plant with the enterprise information technology (IT) systems. This alignment of OT and IT in the manufacturing industry
presents a huge opportunity for a more efficient manufacturing process, including tighter integration of the supply
chain, preventive maintenance of the factory floor, and more flexibility to react to changing customer demands.
Smart Manufacturing, Industrie 4.0 or Industry 4.0 are terms often used to refer to the trend of bringing
IoT technology to the manufacturing industry. (Note: We will be using the term “Industry 4.0” in this white paper.)
There has been a significant amount of research and documentation on the importance and challenges of Industry 4.0.
Key focuses for this research has been on the architecture required to bring together OT and IT in a complete system
and the business opportunities made possible by Industry 4.0.
The purpose of this white paper is to identify the types of software required to implement an Industry 4.0
solution. Software is a key enabling technology for any IoT solution, including IoT in manufacturing. This white
paper will investigate how software solutions can be used to integrate existing operational technologies on a factory
floor with the existing enterprise applications, like PLM and ERP solutions.
Finally, this white paper will identify how open source software can be used to implement Industry 4.0 solutions.
Open source software has become a dominant provider of critical infrastructure technology for the general software
industry. The open model of development and royalty-free distribution has proven to be an effective way to build
production quality software. Industry 4.0 implementers can now use software from open source communities, like Eclipse
IoT and Apache Software Foundation, to address the software requirements for production-ready Industry 4.0 solutions.
What is Industrie 4.0 and Smart Manufacturing?
“Industrie 4.0” is a term and concept created by the German Academy of Science and Engineering; it stands for and refers to the
integration of industrial manufacturing and information technology based on cyber-physical systems, Internet of Things
and Cloud Computing.
Industrie 4.0 enables and supports new scenarios in manufacturing where humans, machines, production lines, software
systems, such as MES and ERP systems, and the products themselves communicate and cooperate with each other in real
time to enable decentralized decision making and a self-organized production.
This approach includes all phases of the product lifecycle (product idea, development, production, usage, maintenance,
and recycling) and all participants of the value chain (company-internal and -external, such as suppliers and customers)
and thus allows a holistic optimization of the value chain.
Smart Manufacturing is a general term often used to reference the modernization of the manufacturing process.
The Industrial Internet Consortium (IIC) has published a white paper titled “
Smart Factory Applications in Discrete Manufacturing
” that documents many of the benefits of Smart Manufacturing.
Key Challenges for Implementing Industry 4.0
There are a number of unique challenges that occur when implementing an IoT solution in the manufacturing industry. Understanding
and addressing these challenges is important to the implementation of the solution.
Integration of OT and IT
Any solution for Industry 4.0 needs to address the issues both from an OT and IT perspective. The integration of OT and
enterprise IT technologies creates the opportunity to achieve the benefits of Industry 4.0.
However, OT and IT have different priorities on how they adopt and manage technology. Operation technology is often focused
on safety, efficiency, and continuity of the manufacturing process. Downtime and ‘bugs’ represent significant costs
and disruptions to an operation. Enterprise IT is often focused on speed of execution, security of digital resources,
and analysis of data/information.
Greenfield vs. Brownfield
The bulk of Smart Manufacturing/Industry 4.0 implementations will be into existing manufacturing operations. Existing
operations have equipment that might not be network enabled or open to modern software technologies.
Moreover, the lifecycle of manufacturing machines may extend to 40 years which means a greenfield approach is not always
a viable option. Different approaches might be required for
Safety and Security Concerns
Safety and security are significant concerns for the manufacturing industry. Security breaches could lead to personal
safety issues for factory workers.
Additionally, OT and IT often have different safety and security concerns and policies that might be conflicting or create
invisible gaps. Government regulations also influence when and how technology can be introduced into a manufacturing
Any Industry 4.0 implementation will be expected to conform to existing regulations and address the potential for security
Availability and Continuity of Services
For many manufacturing processes, continuous operation is of critical importance. Therefore, any additional IT services
that are made part of a manufacturing process must be engineered for high-availability and be fault tolerant to ensure
continuity of service.
Importance of Real Time
To meet the demands of the manufacturing processes many Industry 4.0 solutions will require real-time data and event
processing. Delays in any data analysis or events could have adverse effects on the manufacturing process.
Creating a More Flexible Manufacturing Processes
A key driver for Industry 4.0 implementations is to create a manufacturing process that can adapt more easily to customer
demand. Current processes are often monolithic and very cumbersome to change, so it is difficult to alter what is
being produced by the production line. The ideal scenario is a highly flexible system that can support a production
line that produces just one unit, sometimes called ‘‘lot size 1”.
More flexible processes create a need for more distributed systems that are configurable and interoperable. This requires
the implementations of open standards for the technical and semantic interchange of information that flows through
Software Implementation Scenarios for Industry 4.0
The most common implementation architecture for IoT solutions has three tiers:
- Constrained devices,
- Smart devices/gateways, and
- IoT platforms.
This typical architecture has been documented in “The Three Software Stacks Required for IoT Architectures” white paper.
Industry 4.0 implementations typically follow this general 3-tier architecture, but introduce some unique challenges
and features for software implementations.
Connecting Industrial IoT Devices
The ‘devices’ in an Industry 4.0 implementation are typically programmable logic controllers (PLC) that control the sensors
and actuators of a machine on a factory floor. Many PLCs have limited processing capabilities and network connectivity.
The software running on these types of PLCs is embedded in the firmware and difficult to modernize or update.
For greenfield Industry 4.0 implementations, new modern PLCs are network enabled and can support connecting the IoT devices.
Similarly, more advanced sensors and actuators now have the ability to directly send and receive data.
For brownfield implementations, an IoT gateway is often introduced to aggregate the data from a group of PLCs and provide
the data to the IT systems. Existing PLCs often implement proprietary protocols that need to be supported by gateways
and transformed into a consistent message and data format. An IoT gateway allows to retrofit existing machines providing
interfacing towards the field and connectivity towards the remote servers while minimizing the impact into existing
Edge vs. Cloud Hosting of IoT Platform
Due to safety, availability, security, and data privacy concerns, Industry 4.0 solutions will often require local processing
of data at the edge versus central processing of data in the cloud. In some approaches, edge processing is provided
at the IoT gateway.
For instance, in predictive maintenance applications, the latency requirement, and the volume of data acquired may be
prohibitive and edge analytics is the only viable option. In other scenarios, the deployment of an IoT platform within
a factory or even distributed within a factory can help to ensure data aggregation at the site level, while providing
availability and near real-time analysis of events and data. In other situations, data analysis will be dependent
upon data aggregation performed outside of the factory, so centralized data analysis will be required.
Integration with Enterprise IT
A key aspect of an Industry 4.0 system is the integration of the OT with the enterprise IT systems. In fact, most Industry
4.0 implementations will need to integrate with existing SCM, PLM, MES and/or ERP systems. To achieve this level
of integration, the OT data will need to be filtered, aggregated and normalized for IT integration. Similarly, large-scale
event processing becomes a key component to successful Enterprise IT integration.
Key Software Features for Industry 4.0
The saying ‘Software is Eating the World’ is applicable to Industry 4.0 and IoT in general. Software has become a pervasive
enabling technology in almost every industry. In Industry 4.0, software provides the flexibility to address many
of the previous issues and enables many of the benefits derived from Industry 4.0 implementations.
Each Industry 4.0 implementation will have unique requirements, but there is a set of key software features that will
be required for any successful deployment, including:
Being able to acquire the data from the factory floor and to perform some level of analysis is central for any Industry
4.0 system. The data collection is typically focused on aggregating raw data from different endpoints, then filtering
and/or processing the raw data so that it is available for real-time or batch analysis.
To accomplish data aggregation and analysis the following is required:
- Digitalization of analog data from the factory floor and communicating this data to the network using standard protocols
like MQTT, OPC-UA or HTTP(S). This can be accomplished via PLCs that are network enabled, or by adding IoT
gateways that connect the PLCs to the network
- Formatting the data using open standards, like OPC-UA, PPMP, PackML
- Defining and sharing of semantic information to allow for easier analysis across different systems.
- Filtering data at the edge so only relevant information is sent to the network. This can be accomplished through
programmatic PLC or IoT gateways.
- Data storage at the edge and in the cloud.
- Ability to store and forward data as well as compression and schedule transfers to enable OT data will eventually
be made available to IT and to the enterprise and data scientists for longer term analysis including training
Security is a key concern for an IoT system, especially for Industry 4.0 implementations. Remote network access to factory
equipment introduces safety and privacy concerns. Therefore, security features like device authentication, role-based
access control, encryption of data and software updates need to be considered.
Remote device management is required for any large-scale implementation. Relying upon manual updates on the factory floor
is prone to errors, time consuming and costly. Device management for industrial IoT devices should include initial
setup and configuration, health check of device, software update and deactivation.
Event Management and Data Analysis
Industry 4.0 implementations will generate a tremendous amount of data and events. For data management, software will
be required to filter this data at the edge, provide real-time analytics at the edge and cloud, provide batch-oriented
analytics and data storage. For event management, software will be required for event routing, processing and handling
at the edge.
Digital Twin Management
Creating a digital representation of a physical asset is often referred to as a ‘digital twin’. Creating a digital twin
allows for easier integration of data analysis, machine learning and monitoring that can be directly tied to the
physical asset. Digital twins also enable simulation of future scenarios that can help with planning and preventive
The software required to manage digital twins includes the tools required to create and model a twin, APIs and runtimes
to interact with a digital twin, and administration consoles to manage the lifecycle of a digital twin collection.
Open Source Software for Industry 4.0
Software might be eating the world, but open source software has become a pervasive supplier of technology to the software
industry. Open source projects like Linux, Apache httpd, Apache Hadoop, Eclipse IDE, and many others have attained
significant adoption for their specific technology. Open source software has proven to be a safe, reliable source
of production quality software for many industries.
The reason open source software has been so successful is that it provides users with flexibility to choose the technology
best suited for their needs without being tied to a particular vendor solution. The license-free and royalty-free
nature of open source software reduces the capital costs of creating new solutions. And finally the open development
of well-run open source projects allows many different organization to participate in the quality control and future
development of the technology.
There are many open source projects that provide technology specifically suited for Industry 4.0 applications. The Eclipse
IoT Working Group has 28 projects that target general IoT solutions, some being applicable to Industry 4.0. Other
open source communities like the Apache Software Foundation and the Linux Foundation, among others, also have technology
relevant to Industry 4.0. The following sections identify potential open source technologies that can be used for
Industry 4.0 solutions.
Open standards for Industry 4.0 allow for solutions that are interoperable, modular and vendor independent. The
following relevant standards are supported through different open source projects:
- OPC-UA -
Eclipse Milo is a full implementation of OPC-UA. Written in Java it provides a client and server implementation
of the standard.
open62541 (open62541.org) is a C stack implementation of OPC-UA under the Mozilla Public License
(MPL). The OPC Foundation also provides Java implementation of OPC-UA under the GPL license for
- MQTT -
Eclipse Paho and
Eclipse Mosquitto provide a client and broker implementation of the MQTT messaging protocol. Mosquitto implements an MQTT
server in C and Paho provides MQTT clients in a variety of language implementations, including C, C++,
- PPMP - Production Performance Management Protocol (PPMP) is a payload specification to capture data that
is required to do performance analysis of production facilities.
Eclipse Unide is an open source project that maintains the PPMP specification and provides an SDK for PPMP
- oneM2M – oneM2M is a service layer standard that defines common service functions that can be shared by applications,
gateways, and devices. The industry domain enablement work item in oneM2M defines methods of using oneM2M
resource structure to fulfil industry requirements. oneM2M has also defined interworking with standards
such as OSGi, DDS, OPC-UA, and Modbus so that industrial data can be aggregated and exposed to applications
Eclipse OM2M provides an implementation of oneM2M IN (infrastructure node - platform), MN (middle node - gateway),
ASN (application service node - devices), as well as IPE (interworking proxy entity) that can be used
for interworking with heterogeneous protocols.
Traditionally PLC development has been closed and proprietary. New standards, specifically IEC 61499, are being
implemented to support a new generation of PLCs that enable distributed control.
provides the development tools and the runtime to create control systems for PLCs that is based on
IEC 61499. 4diac also integrates OPC-UA and MQTT into PLC to ease PLC connectivity.
Eclipse Kura provides a portable Java/OSGi edge computing framework for building IoT Gateways that can be deployed into
Industry 4.0 solutions.
Kura supports a wide variety of fieldbus protocols like OPC-UA, Siemens S7, and Modbus, simplifying the
steps needed to interact with PLCs and sensors. Java APIs for Bluetooth 2.1, BLE, GPS, serial communication
and GPIO/SPI/I2C interaction complete the set of out-of-the-box features for sensors and end-devices integration
Eclipse Kura also features a modular and visual data flow programming tool called Wires. Wires allows to define
data collection and processing pipelines at the edge by simply selecting components from a palette and wiring
The Eclipse Kura distribution is completed by an easy to use Web UI, firewall and network management capabilities,
integration of a full SQL database, simultaneous multi-cloud connections with built-in support for the leading
IoT cloud platforms.
Eclipse Kura supports the remote deployment of signed code to an IoT Gateway. This ensures the integrity and provenance
of the code deployed in factory floors.
Eclipse Leshan is an implementation of the LWM2M device management protocol. LWM2M supports device authentication and authorization.
Eclipse Keti provides an access control service that protects RESTful APIs, so that only authorized parties can manipulate
sensitive information or data.
Device Management and Configuration
OMA LWM2M - Lightweight M2M (LWM2M) is a device management protocol from OMA.
Eclipse Leshan is a Java implementation of LWM2M and
Eclipse Wakaama is a C implementation.
Eclipse Kapua is a modular integration platform for IoT devices and smart sensors that focuses on providing comprehensive
management of edge IoT nodes including their connectivity, configuration, and application cle. Kapua device
management offers the ability to introspect device configuration, update device applications and firmware,
and control the device remotely.
Eclipse hawkBit provides back-end framework for rolling out software updates to constrained edge devices, as well as more
powerful controllers and gateways connected to IP-based networking infrastructure.
Event Management and Data Analysis
Eclipse Hono provides remote service interfaces for connecting large numbers of IoT devices to a back end and interacting
with them in a uniform way regardless of the device communication protocol. Hono provides a scalable and
secure ingestion of sensor data and transforms the data into consistent events that can be integrated into
enterprise IT systems.
Eclipse Kapua provides a modular IoT platform for managing and integrating IoT data and events. Kapua enables easier IT
integration through a message routing service and REST API. This provides a consistent set of APIs to enable
OT and IT integration.
Eclipse Vert.x provides an event processing framework that handles large amounts of concurrent events which is typical of
Groovy, Ruby, Ceylon, Scala and Java.
Apache Spark is a fast, general purpose data processing framework that is highly scalable for IoT systems. Applications
running on Spark can be written in Java, Scala, Python and R.
Apache Hadoop enables distributed and scalable storage of large amounts of data by making use of computer
clusters built from commodity hardware.
Apache HDFS is a component within the Hadoop family that enables highly scalable storage of any form
of data, both structured and unstructured. It is highly redundant and highly scalable. It is very suitable
for large scale batch storage.
Apache Kudu is another storage component within the Hadoop family that is optimized for fast analytics
and storage of fast data. This makes it ideal for storing and analyzing IoT data in either the OT or IT environments.
It is columnar in nature, inherently distributed and scalable, and deals well with relational database patterns
including frequent updates.
Apache HBase is a component that builds on HDFS with additional NoSQL storage capabilities. Like HDFS,
it can store structured and unstructured data, and is suitable for high speed writes and reads.
Eclipse Kapua provides a microservice to store and manage the data from an Industry 4.0 applications. Kapua provides a
consistent API that allows for easy data analysis across applications and integration into existing enterprise
IT system. The default data store for Kapua is ElasticSearch but other NoSQL and SQL data stores can be used.
Eclipse Ditto is a framework to create and manage digital twins. Ditto exposes a unified resource-based API that can be
used to interact with devices, abstracting from the complexity of different device types and how they are
connected. It helps to structure the devices into their distinct aspects of functionality and can optionally
enforce data types and data validation based on a formal device meta model, based on Eclipse Vorto.
Eclipse Kura provides open APIs in REST and Java, and an MQTT-based communication layer, that can be leveraged to interact
with field devices and assets. Kura drivers provide a hardware abstraction layer that reduces the device
interaction complexity and simplifies the communication with the devices attached to the gateway. The MQTT
and REST APIs that Kura exposes for each device attached to a gateway allows to perform on-demand, remote,
read and write operations, and provide a digital twin interface to those devices.
Industry 4.0 is set to revolutionize the manufacturing industry. The potential for more flexible manufacturing, more
efficient processes and lower costs are the driving factors behind the investment in Industry 4.0 solutions. A key
part in creating successful Industry 4.0 solutions will be software on the factory floor and in the cloud.
In this white paper we have identified the software requirements critical to any Industry 4.0 implementation. Solution
architects will be best to understand how each of these requirements: Data Aggregation, Security, Device Management,
Events Management and Data Analysis, and Digital Twin Management will be addressed in their Industry 4.0 solution.
Open source software has become a trusted source of technology for the enterprise IT software industry. The Eclipse IoT
open source community and other open source communities are now ready to provide production ready technology for
the manufacturing industry and Industry 4.0. Open source software will provide the key building blocks that will
promote interoperability and flexibility that are required by Industry 4.0 solutions.
The Eclipse IoT community includes leading organizations from IT and OT. The community has been providing the general
IoT industry open source technology for the last 6 years , and is also working on open testbeds that demonstrate
how this technology can be used together with commercial offerings to build Industry 4.0 solutions.
We invite you to discover the technology available and participate in the community. Join us at