Machine configuration infrastructure

General Description

By employing blockchain technology for configuration management, the i4QBC Solution helps secure management of machine configurations, which ensures: (i) immutability, non-repudiation, and auditability of the configuration update history; and (ii) integrity and consistency of stored configuration information. With the mentioned features, it can bring several benefits for companies, for example, (i) track, control and audit of configuration changes; (ii) help stakeholder (e.g. producers of machine) to check the compliance of machine usage i.e. machine configuration with laws and guidelines; (iii) audit and validate the machine configuration i.e. machine usage to during maintenance and warranty cases (iv) linking to the working context data, such as the quality data of the produced product component, to find optimal machine configurations.

Features

The i4QBC Solution provides mainly the following three main elements to facilitate the blockchain-technology-based configuration management, as shown in the Figure below:

Three main elements of configuration management in the i4QBC Solution
  • Configuration Identification &Initialization. It creates a bassline for the machine configuration and supports users to initialize the configuration values for a machine.

  • Configuration Control & Change Management. It includes the process of evaluating all change proposals on a machine configuration. It will lead to the approval or disapproval of a machine configuration.

  • Configuration Verification & Audit. It provides an independent review of the historical of changes in the machine configuration. It allows auditors to verify that the machine configuration complies with guidelines.

Actors & Use Cases

The figure below illustrates the involved actors and use cases:

Use Case Diagram - i4QBC Machine Configuration Management

As shown in the use case diagram, it involves mainly three types of actors:

  • Operator. A user who plans and identify the machines and machine configurations that need to be managed with blockchain technology. According to the plan, the user can then initialize the and request updates on machine configurations.

  • Controller. A user who evaluates the update request on machine configurations. According to the evaluation, a change request can be approved or rejected.

  • Auditor. A user who verifies and audit the historical of machine configurations.

In addition, it requires IT administrators to manage the system, for example, add new machines or users into the system.

High-Level Architecture

Figure below shows the high-level solution architecture of the i4QBC Machine Configuration Management.

High Level Solution Architecture - i4QBC Machine Configuration Management

It is based on microservice architecture and includes mainly six services & components: the frontend service, the machine configuration management service, the Mongo DB, the Hyperledger Orion Server (Blockchain DB), the Kafka server, and a SMTP server.

Implementation & Deployment

The current implementation includes three micro-services:

  • A machine configuration management service

  • A frontend service

  • A Hyperledger Orion client SDK in JAVA.

They are built on based on different technologies, such as, non-SQL database, Kafka, and Angular, and Orion client SDK in JAVA. The frontend service and machine configuration management service are available currently within a Gitlab repository within BIBA. The Hyperledger Orion client SDK in JAVA is open source in GitHub repository.

The solution is currently deployed as docker containers in BIBA server, as shown in the Figure below:

Sample deployment - i4QBC Machine Configuration Management

The frontend service is accessible under https://i4q-mc.ikap.biba.uni-bremen.de/. The backend service i.e. the machine configuration management service is accessible under https://i4q-mc.ikap.biba.uni-bremen.de/mc-management-service. In addition, the REST APIs of the machine configuration management service are documented with Swagger documentation, and is accessible under: https://i4q-mc.ikap.biba.uni-bremen.de/mc-management-service/swagger-ui/index.html#.

Demo Scenario

The figure below provides a sample demo scenario:

Sample Demo Scenario for managing machine configurations

It takes a machine from the production line for demonstration of the machine configuration management. In this scenario, the quality engineer, line manager, and producers of machine can play, respectively, the role operator, controller, and auditor. A quality manager (operator) proposes a change to the configuration of the machine. A line manager (controller) checks if the configuration is valid and should be applied to the machine and make decisions on approval or dis-approval. In case the configuration is applicable, then the change request of configuration is approved and saved in the Blockchain (Orion server). Later, the users, such as, machine producer or production manager, takes the role as auditor to review & audit the historical changes of the machine configuration. They can, for example, use the records to check the compliance of the machine usage, or link the machine configuration data with product quality data or warranty & maintenance cases to help data-driven decision making. Meanwhile, there are various permission controls, and only users with appropriate permission can approval change requests or audit history machine configurations. The demonstration is available under: https://i4q-mc.ikap.biba.uni-bremen.de/

See demo video in the Rehearsal Meeting: