Split Runtime Class Module Pre-Linking for Mobile Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveJ2SE functionalityVSAvoidruntime resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveclass availabilityVSAvoidcode setup time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If complete class files are stored on mobile devices, then all functionality is accessible, but storage capacity is exceeded

Engineering Contradiction:
ImprovefunctionalityVSAvoidstorage capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveexecution speedVSAvoidcompatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8832656B2Testing systems and methods for a resource constrained device
Publication Date: 2014.09.09 MALIKIE INNOVATIONS LTD
  • US8832656B2 patent drawing
  • US8832656B2 patent drawing
  • US8832656B2 patent drawing

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.