Virtual Time Test Environment for Embedded Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing embedded software systems in real-world scenarios is challenging due to the difficulty in simulating dynamic and unpredictable stimuli, as existing simulation models often operate slower than real-time, leading to timing inconsistencies and inaccuracies in simulating real-world conditions.

Innovation Solution

A test environment apparatus utilizing an inner and outer agent within a virtual machine to track and store snapshots of the system-under-test, allowing for virtual time rollbacks to correct timing discrepancies by reverting to previous states and re-delivering delayed messages, thereby maintaining accurate real-world simulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If simulation models are used to generate dynamic stimuli for testing embedded systems, then the ability to simulate real-world conditions is improved, but the time required to generate test stimuli increases significantly

Engineering Contradiction:
Improvesimulation accuracyVSAvoidtest stimulus generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-generating and storing multiple simulation scenarios with their corresponding stimuli in a database before actual testing begins. This allows the test system to quickly retrieve and execute pre-simulated scenarios rather than generating stimuli in real-time during testing, thus resolving the contradiction between simulation accuracy and generation time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If complex dynamic stimuli are generated to closely simulate real-world conditions, then testing realism is improved, but the complexity of the test environment increases

Engineering Contradiction:
Improvetesting realismVSAvoidtest environment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the test environment into distinct modular components: a simulation scenario database, a stimulus generation module, a test execution module, and a result analysis module. Each component handles specific aspects of testing independently, allowing complex dynamic stimuli to be generated through coordinated operation of simpler modular elements rather than requiring a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary simulation scenario database that mediates between the complex requirements for realistic testing and the simpler needs of the test execution system. The database stores pre-processed simulation scenarios that translate complex real-world conditions into structured, executable test cases, reducing the complexity burden on the active test environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If isolated fixed serial scenarios are used for testing, then test implementation simplicity is improved, but the ability to simulate real-world parallel and interrelated stimuli is reduced

Engineering Contradiction:
Improvetest implementation simplicityVSAvoidreal-world simulation capability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent applies dynamics by enabling the test system to execute multiple simulation scenarios in parallel rather than strictly serially. The system can dynamically activate multiple test cases simultaneously, process their stimuli in parallel, and coordinate their execution based on temporal relationships defined in the pre-simulated scenarios. This maintains implementation simplicity through structured scenarios while achieving real-world simulation capability through parallel execution.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11704227B2Virtual time test environment
Publication Date: 2023.07.18 JOHNS HOPKINS UNIVERSITY
  • US11704227B2 patent drawing
  • US11704227B2 patent drawing
  • US11704227B2 patent drawing

AI summary

A test environment apparatus having processing circuitry is provided for testing an embedded system-under-test. The processing circuitry may be configured to implement the system-under-test for interaction with external test participants via messaging and control operation of an inner agent and an outer agent. The inner agent may be implemented within a virtual machine that is also implementing the system-under-test and the outer agent may be implemented external to the virtual machine implementing the system-under-test. The inner agent and the outer agent may be controlled to operate collaboratively to trigger captures of snapshots that store current states of the system-under-test at respective times and trigger a rollback of the system-under-test based on a timestamp of a delayed message using a snapshot for a selected time that provides a state of the system-under-test prior to the timestamp to permit subsequent delivery of the delayed message with the system-under-test in a rollback state.