Industrial Controller Memory Analysis for Fault-Safe Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial controllers face challenges in ensuring memory safety and reliability due to flexible memory utilization, leading to potential errors in operation, which existing technologies have not adequately addressed.
Innovation Solution
A method for analyzing allocated memory on industrial controllers using metadata to identify fault conditions, providing notifications for remedial actions, and transitioning the controller into a safe state to prevent faulty operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If flexible memory utilization is enabled through modern programming language concepts (pointers, interfaces), then adaptability and versatility of memory usage is improved, but reliability and security deteriorate due to faulty memory utilization leading to operational errors
Solution Approach 1:
The patent applies preliminary action by performing static analysis and generating metadata during the compilation phase, before the program is executed. The analysis unit examines the program code and generates metadata describing memory allocation, data structures, and access patterns in advance. This preliminary characterization enables runtime verification without affecting program performance, resolving the contradiction by preparing safety checks beforehand rather than during execution.
Solution Approach 2:
The patent introduces metadata as an intermediary between the program code and the verification process. The metadata acts as a mediator that captures memory usage characteristics during compilation and enables runtime verification without direct intervention in the program execution flow. This intermediary layer allows flexible memory utilization while maintaining reliability by verifying memory operations against the pre-generated metadata.
2Reliability
If metadata-based memory analysis is implemented to detect fault conditions, then reliability and security are improved, but device complexity increases due to additional analysis and verification mechanisms
Solution Approach 1:
The patent replaces complex runtime verification mechanisms with a lighter approach by performing the heavy analysis work during compilation. The analysis unit generates metadata statically, and runtime verification simply checks against this pre-computed information. This substitution of static analysis for dynamic verification reduces the computational burden and system complexity while maintaining high reliability.
Solution Approach 2:
The patent creates a simplified copy or representation of the program's memory behavior through metadata. Instead of implementing complex analysis mechanisms that mirror the full program complexity, the system generates a lightweight metadata representation that captures essential memory characteristics. This copied representation enables verification without replicating the full complexity of the original system.
3Measurement precision
If comprehensive memory analysis is performed on allocated memory, then measurement precision of memory faults is improved, but loss of time increases due to analysis overhead
Solution Approach 1:
The patent performs the time-consuming analysis work during compilation and generates metadata in advance. Runtime verification only requires checking against this pre-generated metadata, which is a lightweight operation. This preliminary action shifts the time burden from runtime to compile time, achieving high measurement precision without significant runtime overhead.
Solution Approach 2:
The patent applies partial action by performing analysis only on the portions of memory that are actually allocated and used by the program. The analysis unit generates metadata specifically for the program's memory footprint rather than analyzing entire memory spaces. This selective approach maintains high detection accuracy while minimizing analysis time by focusing only on relevant memory regions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer-implemented method is disclosed, comprising providing at least one program for execution on an industrial controller, analyzing a memory allocated to the program on the industrial controller, identifying at least one fault condition in the memory, and in response to the identified at least one fault condition, providing a notification including an indication of the at least one fault condition. Furthermore, an industrial controller and a system enabling automated analysis of allocated memory are described.