Bytecode Virtual Machine Checks for Safety Program Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing safety programs in production cells are vulnerable to random hardware errors, environmental interferences, operating system errors, and interfering software errors, which can lead to malfunction and safety risks.

Innovation Solution

Implementing a bytecode virtual machine (BVM) that executes and checks the execution of bytecode instructions to recognize and handle errors in the underlying hardware and software, ensuring safe operation by isolating the safety program from these errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a safety program is written in a higher programming language to handle a wider range of dangers, then the level of safety and sophistication of the safety program is improved, but the program becomes more complex and more vulnerable to errors in the operating system, hardware, and interfering software

Engineering Contradiction:
Improvesafety levelVSAvoidprogram complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A bytecode virtual machine is introduced as an intermediary layer between the safety program written in a higher programming language and the underlying operating system/hardware. The virtual machine executes bytecode instructions generated from the safety program, providing isolation from errors in the underlying system while maintaining the ability to handle complex safety scenarios through sophisticated high-level language constructs

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If standard hardware is used for safety-critical applications, then cost is reduced and availability is improved, but the system becomes vulnerable to random hardware errors and environmental interferences

Engineering Contradiction:
Improvehardware availabilityVSAvoiderror susceptibility
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The bytecode virtual machine serves as a protective intermediary between standard hardware and the safety program. It monitors and verifies the execution of bytecode instructions, detecting errors caused by random hardware failures or environmental interferences before they can compromise safety critical operations

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The virtual machine implements continuous feedback mechanisms by checking the execution of each bytecode instruction. When an error is detected in the underlying hardware or software, the virtual machine can identify the error and respond by shutting down the safety program in a controlled manner, preventing unsafe states

Inventive Principle:
Principle #23Feedback

3Reliability

If the safety program is isolated from the operating system and hardware, then reliability is improved by preventing error propagation, but device complexity increases due to the virtual machine layer

Engineering Contradiction:
Improveerror isolationVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct layers: the safety program written in a higher programming language, the bytecode virtual machine that executes and monitors bytecode instructions, and the underlying operating system and hardware. This segmentation isolates the safety program from errors in other layers while maintaining manageable complexity through modular architecture

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260104907A1Method and apparatus for checking an execution of a bytecode instruction
Publication Date: 2026.04.16 SICK AG
  • US20260104907A1 patent drawing
  • US20260104907A1 patent drawing
  • US20260104907A1 patent drawing

AI summary

A method for checking an execution of a bytecode instruction of a safety program comprises: executing the bytecode instruction in a virtual machine; and checking by means of the virtual machine whether the bytecode instruction was executed correctly.