Eclipse BaSyx is an ongoing joint research project funded by the German Federal Ministry of Education and Research, with 15 partners from industry and academia (including the Eclipse foundation). The goal of Eclipse BaSyx is the development of a basic system (similar to AUTOSAR) for production plants that implements the efficient reconfiguration of production processes, which is the central challenge of the 4th industrial revolution (Industrie 4.0). To achieve this goal, existing technologies must be networked and integrated in such a way that industry 4.0 applications can be realized. To this end, the project develops a virtual middleware that allows the necessary services to be provided and linked to each other. This middleware will be realized as an open-source platform, and we intend to develop it as an Eclipse project.
The scope of the Eclipse BaSyx project incorporates the following:
- A virtual function bus that abstracts from the actual communication protocols used underneath it.
- An implementation of main Industrie 4.0 concepts like “digital twins” and “asset administration shell”, which provides access to supplementary information and meta-data of assets in a plant, as well as access to the assets themselves.
- A runtime environment that builds upon the virtual function bus, and integrates main Industrie 4.0 concepts. It shall be able to execute machine independent code.
This project aims to provide a middleware for industrial automation which realizes Industrie 4.0 concepts using existing technologies like OPC-UA and oneM2M. One essential element of this middleware is a virtual function bus which abstracts from underlying network technologies, similar to the approach chosen in AUTOSAR. Another essential part of BaSyx will be an implementation of the asset administration shell concept that allows access to every information relevant to an asset, as well as access to the asset itself.
The figure above shows a sketch of the planned architecture of the BaSyx runtime environment. The yellow part are the interface layers, and the green part is the runtime and service layer. The Eclipse BaSyx project will consist of the yellow part as a standard, and the green part as a reference implementation.
The Hardware and Operating System Abstraction layer provides a standard interface to the runtime and service layer, such that any implementation of the latter can run on it. This includes, for example, basic services of the operating system, such as resource management and access to networks. Device manufacturers (or 3rd party SW companies) must provide this interface layer in order for devices to be conformal to BaSyx. It is planned to define different conformity classes of this interface. For example, cheaper and resource-conserving devices, which do not offer the full range of capabilities, can be integrated with reduced functionality in BaSyx.
The runtime and service layer can run hardware-independent code, and provides a common set of services that are used to manage the functional components, and implement various basic services. It can be accessed through the BaSyx API, the 2nd large interface layer. There are now different options for applications to run on top of the BaSyx runtime environment. They can use the BaSyx API directly, which will probably the way that applications can get the most advantages out of BaSyx. For legacy applications, it is possible to write wrappers, and for applications that adhere to a certain vendor-specific (or other) standard, a standardized compatibility layer can be used, provided from or 3rd party providers or the vendor itself.
The Eclipse Foundation was chosen as a partner for the open-source efforts of the BaSyx project already in the proposal phase. One reason is the abundance of existing IoT projects at the Eclipse Foundation, which we hope to profit from, as Industrie 4.0 is basically synonymous to Industrial IoT. One Eclipse project we want to cooperate specifically is Eclipse 4diac.
None right now, as there is no existing code from before the start of the BaSyx 4.0 project on which the Eclipse BaSyx project builds on.
We plan the initial contribution in Q3 of 2017, the first intermittent release in Q1 of 2018, and the 1.0 release in Q1 2019, since the project is funded until Q2 2019.