Adaptive Simplex Control for Reliable CPPS Code Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cyber-Physical Production Systems (CPPS) face challenges in achieving high security, resilience, and maintainability due to increased software complexity from integrating complex machine learning and statistical libraries, which can lead to non-deterministic behavior and high maintenance costs, especially under agile development processes.

Innovation Solution

The adaptive simplex architecture uses a statistical emulator to dynamically switch between high-assurance and high-performance program codes based on verification parameters, employing machine learning algorithms to detect errors and adapt execution, ensuring fault-tolerant operation and reducing complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex machine learning and statistical libraries are integrated into CPPS software to achieve high adaptability and autonomous functions, then the adaptability and productivity of the system are improved, but the software complexity and device complexity increase, leading to non-deterministic behavior and high maintenance costs

Engineering Contradiction:
ImproveadaptabilityVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is segmented into multiple independent computing devices (first computing device, second computing device, test device, control device) that can be developed, tested, and maintained separately. This modular architecture reduces overall software complexity while maintaining adaptability through the coordinated operation of specialized components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A test device acts as an intermediary between the second computing device and the control device. It verifies program code before execution, serving as a mediator that ensures quality without requiring the control device to directly handle complex verification logic, thus reducing control device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If complex third-party ML libraries are integrated into embedded CPPS software to enable autonomous functions, then the productivity and adaptability improve, but the reliability decreases due to potential software bugs and non-deterministic behavior

Engineering Contradiction:
ImproveproductivityVSAvoidreliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The test device performs preliminary verification of program code generated by the second computing device before it is executed by the control device. This advance checking catches potential bugs and reliability issues before they affect system operation, enabling the use of complex ML libraries while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a safety mechanism where the first computing device provides a fallback program code that can be used if the second computing device's code fails verification or produces unreliable results. This cushioning approach protects the system from reliability issues while allowing aggressive optimization in the second computing device.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Device complexity

If externally hosted ML algorithms are used to reduce system complexity, then the device complexity is reduced, but the autonomy decreases due to dependency on remote services and communication delays

Engineering Contradiction:
Improvedevice complexityVSAvoidautonomy
Core Design Contradiction:
Device complexityVSExtent of automation

Solution Approach 1:

The control device is designed to execute multiple types of program code (from both the first and second computing devices) and can operate in different modes depending on verification results. This multi-functionality allows the system to maintain autonomy by making local decisions about which code to execute, rather than relying on external services.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If rigorous software development processes and methodologies are used to ensure security and reliability, then the reliability and security improve, but the ease of manufacture and maintenance worsen due to rigid and expensive processes

Engineering Contradiction:
ImprovereliabilityVSAvoidease of manufacture
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system implements automated verification and testing through the test device, which automatically checks program code without requiring manual inspection. This self-service approach maintains reliability through rigorous checking while reducing the burden on developers and simplifying the manufacturing process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system allows flexible configuration of verification parameters and criteria through the emulation platform, enabling the verification process to be adapted to different requirements. This parameter flexibility makes the rigorous verification process more adaptable and easier to implement across different projects.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3712720B1Method and device for controlling a technical system using an adaptive simplex architecture
Publication Date: 2021.10.27 SIEMENS AG
  • EP3712720B1 patent drawingFigure 1~2
  • EP3712720B1 patent drawingFigure 3~4
  • EP3712720B1 patent drawing

AI summary

A method for controlling a technical system (1) based on an adaptive simplex architecture, wherein, starting from a control command (10), a first safe computing device (11) provides a first program code (21) and a second fast computing device (12) provides a second program code (22) by means of a statistical emulator (70) comprising a trained model (61). The model (61) is trained or generated by an emulation platform (60). A test device (30) is provided, which executes the second program code (22) and determines a verification parameter (31), e.g., "Test (failed)", for the second program code (22). A program code selector (35) decides at runtime, based on the verification parameter (31), which program code (21, 22) is supplied to the control device (40) for execution.The control device (40) generates a control instruction (41) for controlling the technical system (1) and records an operating parameter (42), e.g., vibrations, temperature and/or energy consumption, of the technical system (1). A monitoring device (50) determines a monitoring parameter (51) which is supplied to the emulation platform (60) and on the basis of which the model (61) is trained or generated.