Split Runtime Class Module Pre-Linking for Mobile Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Resource-limited mobile devices face inefficiencies in software testing due to the significant runtime resources consumed by traditional class file loading and linking processes, which slow down execution and exceed storage capacity, especially with the Java 2 Standard Edition (J2SE) platform.
Innovation Solution
The implementation of a split runtime system that optimizes class file loading and linking by converting class files into modules, which are pre-loaded and linked on a host system, reducing the need for repeated loading and linking on the target device, and utilizing a symbolic information server to retrieve missing symbolic information for undefined symbols during testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional class file loading and linking processes are used on mobile devices, then complete Java 2 Standard Edition (J2SE) functionality is available, but runtime resources are significantly consumed and execution speed decreases
Solution Approach 1:
The system segments the runtime environment into two parts: a full J2SE runtime on the host system and a minimized runtime on the mobile device. Class files are split into modules that are pre-processed on the host, with only essential code downloaded to the device, while symbolic information remains on the host for retrieval during execution.
Solution Approach 2:
Class files are converted into modules and pre-linked on the host system before deployment to the mobile device. This preliminary processing reduces the runtime workload on the resource-constrained device, as modules are ready for execution without requiring extensive loading and linking operations on the device itself.
2Adaptability or versatility
If traditional class file loading processes are used, then all classes are available for execution, but code setup time and communication time increase
Solution Approach 1:
Class files are converted into modules and pre-linked on the host system before deployment to the mobile device. This preliminary processing reduces the runtime workload on the resource-constrained device, as modules are ready for execution without requiring extensive loading and linking operations on the device itself.
Solution Approach 2:
The system extracts and separates symbolic information from the module code. Module code is downloaded to the mobile device for execution, while symbolic information remains on the host system and is retrieved on-demand during runtime, reducing the amount of data that needs to be stored and transmitted to the device.
3Adaptability or versatility
If complete class files are stored on mobile devices, then all functionality is accessible, but storage capacity is exceeded
Solution Approach 1:
The system extracts and separates symbolic information from the module code. Module code is downloaded to the mobile device for execution, while symbolic information remains on the host system and is retrieved on-demand during runtime, reducing the amount of data that needs to be stored and transmitted to the device.
Solution Approach 2:
The system segments the runtime environment into two parts: a full J2SE runtime on the host system and a minimized runtime on the mobile device. Class files are split into modules that are pre-processed on the host, with only essential code downloaded to the device, while symbolic information remains on the host for retrieval during execution.
4Speed
If class files are converted into modules with pre-loading on host system, then execution speed increases and module size reduces, but compatibility with existing processing machines must be maintained
Solution Approach 1:
The system introduces a module format as an intermediary representation between standard class files and the optimized runtime execution. The module format preserves compatibility with existing Java infrastructure while enabling the performance benefits of pre-processing and selective code download.
Data Source
AI summary
Systems and methods for providing symbolic information about fields, methods, and/or classes for a target device. A system and method may be used where the runtime processing is split between a host system and a target system. At the target device a test program uses a symbol not defined on the target device. A query is sent from the target device to a symbolic information source. The symbolic information source then provides the target device with information about the undefined symbol. The target device uses the information from the symbolic information source to complete the test program.


