RT-ORCS

Orchestration of container-based distributed real-time control applications

Project funding

Background

Software development for programmable logic controllers (PLCs) is usually done for a specific target system, such as a proprietary PLC runtime environment. Software components, such as function blocks, have limited reusability and can only be integrated into the final application. To counter these disadvantages, service-oriented architectures (SOAs) have found their way into control technology. To take full advantage of the benefits of modular control architectures, particularly the flexibility to design individual modules, and to achieve the necessary adaptability in hardware-related control technology, a methodology for managing software modules is necessary. This means the modules encapsulated in containers must automatically deploy to target systems as needed and update at runtime.

Problem statement

In order to automatically distribute control containers to suitable computer nodes in the network as required, a deployment methodology is required. In office IT without real-time requirements, the container scheduler, a component of container orchestration tools, is used for this purpose. Based on the set of containers to be executed, the scheduler uses information about the necessary resources, such as CPU, RAM, fixed memory, and access to peripherals, to determine on which computer node a container should be executed. Well-known implementations include Kubernetes and Rancher. Deploying real-time containers is also a subject of research in real-time systems. Each concept requires a specific internal execution model. Therefore, modularity in design is not guaranteed. Furthermore, all concepts require information about container internals, which breaks the modularity principle at the resource level. Internal states pose a significant challenge when updating real-time software during runtime. In office IT, updating microservices is simplified by keeping them stateless. When replacing a service, only the underlying database needs to be migrated. Messages between services can be temporarily buffered in brokers. However, this is not possible in control technology due to latencies in external data storage.

Goals

The project aims to design methods for orchestrating heterogeneous control modules in container-based control architectures that take real-time capability into account. To this end, we will introduce a container orchestrator for cross-computer node management of control modules encapsulated in containers. This will allow control modules to be distributed to computer nodes. This is based on a concept that abstracts module-internal execution models into a standardized description of processor requirements at the container level. Additionally, we will research methods for continuous deployment at runtime, which allow for the continuous updating of control modules without having to consider suitable time windows. Validation will be carried out using real production processes within an existing model factory with industrial robots and five-axis milling machines.

Aim of the project
Aim of the project

Get in touch

This image shows Rebekka Neumann

Rebekka Neumann

M.Sc.

Research Assistant "Software and Engineering Methods"

To the top of the page