Virtual Hardware Emulation for Early Integration Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for integration testing in software development, such as Model Based Design and Model Based System Engineering, often exclude essential components like APIs, device drivers, and I/O protocols, making it difficult to simulate data transmission between systems and requiring manual modifications that are time-consuming and not suited for early system design.
Innovation Solution
A virtualization system that intercepts memory locations to emulate physical hardware devices, allowing virtual hardware to exchange variables with other devices without APIs, enabling high-fidelity integration testing before APIs and device drivers are developed, and allowing application software to run unmodified on a development platform.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If Model Based Design and Model Based System Engineering are used for integration testing, then early integration of core functionality is achieved, but essential components like APIs, device drivers, and I/O protocols are excluded
Solution Approach 1:
The patent creates a virtual hardware device that is a copy of the physical hardware device, allowing the application program to be tested against this virtual copy before the actual hardware is available. This copying approach enables early testing while maintaining the interface structure that will exist in the final system.
Solution Approach 2:
The patent introduces a virtualization system as an intermediary layer between the application program and the physical hardware. This intermediary creates a virtual hardware device that mediates the interaction, allowing APIs, device drivers, and I/O protocols to be tested without requiring the actual physical hardware.
2Productivity
If pure simulation techniques are used, then integration testing can start before defining an API, but data transmission between systems cannot be accurately simulated
Solution Approach 1:
Instead of using abstract simulation models, the patent creates a virtual hardware device that copies the actual hardware's interface structure, memory layout, and communication protocols. This allows data transmission to be tested with high fidelity while still enabling early development before physical hardware is available.
3Adaptability or versatility
If application program is compiled for two different environments (proxy system and physical hardware), then development flexibility is improved, but compilation time and complexity increase
Solution Approach 1:
The patent creates a virtual hardware device that serves as a universal testing platform, combining the benefits of both proxy system development and physical hardware testing. The application program is compiled once for this virtual environment, which provides the same interface as physical hardware, eliminating the need for separate compilation for different environments.
4Reliability
If manual modifications are made to tie engineering units with simulated systems, then integration is achieved, but the process is time-consuming and not suited for early system design
Solution Approach 1:
The virtual hardware device automatically copies the structure and interface of the physical hardware, including memory locations, I/O protocols, and data formats. This automatic copying eliminates the need for manual modifications to tie engineering units with simulated systems, as the virtual device already provides the correct interface structure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods and systems are provided for testing a physical hardware device by a virtual hardware device using a virtualization system. The methods and systems perform operations including determining a memory location of a variable through which the virtual hardware device exchanges information with an external hardware resource. The operations also include exchanging the information with the external hardware resource via the memory location of the variable. The memory location of the variable used by the virtual hardware device is the same as a memory location of the variable used by the physical hardware device.