Eclipse Arrowhead: A Framework for IoT and System of Systems Solutions
The Eclipse Arrowhead project was created to provide long-term governance and promotion of the Arrowhead Framework, a Service Oriented Architecture (SOA) with a reference implementation for Internet of Things (IoT) interoperability that was originally developed as part of the Arrowhead Tools European research project .
The Eclipse Foundation was chosen to host the Arrowhead project because it provides a well-established open source license , strong intellectual property (IP) support, and a well-developed network for reaching out to developers who are interested in the Arrowhead Framework.
Before we describe the Eclipse Arrowhead project in more detail, here’s some background on the Arrowhead Framework to help put the project in context.
An Architecture to Enable IoT Interoperability and Integration
The Arrowhead Framework enables the design and implementation of automation systems in application domains such as production, smart cities, e-mobility, energy, and buildings.
It was created to efficiently address Industry 4.0 requirements, primarily through scalable, secure, and flexible information sharing that enables system interoperability and integration. To achieve these goals, the SOA architecture abstracts each interface that exchanges information as a service. Instead of hardwiring the connections, it enables loose coupling, late binding, and lookups to discover services.
Since 2016 when the Arrowhead Framework was released, a number of other European Union and national projects have added to it. As a result, the Arrowhead Framework architecture and its reference implementation can be used to implement Industry 4.0 architectures, such as the Reference Architecture Model for Industry 4.0 (RAMI 4.0) and the Industrial Internet Reference Architecture (IIRA).
The Arrowhead Framework architecture has already been applied in:
- Industrial control systems, such as supervisory control and data acquisition (SCADA) and distributed control systems (DCSs)
- Manufacturing execution systems (MESs)
- Programmable logic controllers (PLCs)
- IoT solutions, such as building energy management, industrial gateways for smart city applications, and intelligent rock bolts for mining safety
In the current Arrowhead Tools research project, the Arrowhead SOA architecture is being applied to the engineering process, interoperability among engineering tools, and machine-to-machine (M2M) business transactions to further extend its ability to implement advanced industry 4.0 architectures and their extensions.
Eclipse Arrowhead Fundamentals
The Eclipse Arrowhead project provides an SOA-based framework for designing and building automation and digitalization solutions. The key requirements for the architecture are:
- Real-time performance
- Seamless interoperability between IoT systems
- Engineering simplicity, process, and tool chains
- Evolvable System of Systems
- Flexible automation
- Run-time management
- Integration along value chain
- Integration along product life cycle
- Integration to across stakeholders
To a large extent, automation is geographically local. Combining local automation with real-time and security requirements leads to the concept of self-contained local clouds. A local cloud is a private network that becomes a shell within which sensitive functionality is grouped. If the private network has a real-time, physical network layer, hard real-time performance can be realized with the local cloud. The local cloud concept also provides some interesting security properties. [i]
The Eclipse Arrowhead project is based on an SOA that features loose coupling, late binding, and lookups. Together, these features enable discovery of services in operation. They also enable run-time definition of service bindings and provide autonomous service exchange operation until further notice. These capabilities are supported by the Arrowhead core systems ServiceRegistry and Orchestration. In addition, security of service exchanges requires authentication of the service consumer and authorization of the specific service consumption. This is supported by the Arrowhead core system Authorisation.
Building Applications With Eclipse Arrowhead
As an example, the fundamental properties of Eclipse Arrowhead allow you to create a simple control loop, as shown in Figure 1. The three core systems support deployment of the control loop — the dotted lines in Figure 1 — to enable autonomous execution of the control loop. The run-time deployment is supported by the Arrowhead core systems Service Registry, Orchestration, and Authorisation.
Once deployed, the control loop operates autonomously until further notice from the Orchestration or Authorisation system.
Interoperability between various IoT systems is addressed using a translation concept. As shown in Figure 2, translations to and from various SOA protocols, encodings, and even semantics are supported. The Orchestration system detects a service contract mismatch of protocols, such as HTTP and MQTT, and instantiates a Translator service that translates between the two protocols.
Current implementations support translation between HTTP, CoAP, and MQTT protocols.
Combining the concept of local clouds with the ability to exchange services between local clouds allows you to build a complex system of systems (SoS), which is conceptualized in Figure 3.
Looking at the Bigger Picture
Engineering larger automation and digitalization solutions is currently guided by the International Society of Automation ISA-95 architecture and upcoming RAMI 4.0 and IIRA architectures. Eclipse Arrowhead consists of building blocks — released core systems or work on such support systems that address many aspects of RAMI 4.0 and IIRA. Eclipse Arrowhead includes work on:
- Fundamental deployment procedure ensuring basic security down to hardware level
- Interoperability with other frameworks and platforms
- Inter-cloud service exchanges
- System of Systems support
- Execution support
- Supply chain and product life cycle support for M2M business process support
- Management support
- Engineering support
Figure 4 provides an overview of the current roadmap for Eclipse Arrowhead development, showing the core system status for released (v4.1.3), release candidate, and prototype software.
The focus of the releases is as follows:
- Released core systems: Stability, documentation, and usability.
- Release candidates: Finalization of implementation and passing the continuous integration (CI) and continuous delivery (CD) processes.
- Prototypes: Integration with the overall architecture and how the software contributes to implementation of the RAMI 4.0 and IIRA architectures.
Get More Information
To learn more about the Eclipse Arrowhead project, visit our website.
To access the source code, installation packages, libraries, and documentation for the latest Eclipse Arrowhead release (v4.1.3), visit our GitHub site. You’ll also find release candidates and most prototypes in branches on this site.
Finally, you can read the book IoT Automation - Arrowhead Framework, which was edited by Jerker Delsing, one of the authors of this article. The book describes Arrowhead Framework fundamentals, architecture, reference implementations, and applications. It was published by CRC Press in February 2017 and the ISBN number is 9781498756754. A quick online search should find the book.
The Arrowhead Tools research project is funded by the European Commission, through the European Horizon 2020 research and innovation program, the Electronic Components and Systems for European Leadership (ECSEL) Joint Undertaking, and national funding authorities in Sweden, Spain, Poland, Germany, Italy, Czech Republic, Netherlands, Belgium, Latvia, Romania, Hungary, Finland, Turkey, and Switzerland under the research project Arrowhead Tools with Grant Agreement no. 826452.
[i] Delsing, J. Eliasson, J. van Deventer, H. Derhamy, and P. Varga, “Enabling iot automation using local clouds,” in 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT), 2016, pp. 502–507