Runtime Dependency Resolution for Embedded Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Embedded computing devices often fail to load non-supported software applications due to missing binary files, as they are typically pre-loaded with a subset of the operating system that does not include all necessary dependencies.
Innovation Solution
Incorporating a loader module and a dependency finder module that identifies and obtains missing binary files from file storage devices during runtime, allowing the software application to be loaded transparently to the user.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a subset of the operating system is pre-loaded on the embedded computing device to save disk and RAM space, then storage space is reduced, but the ability to run software applications is limited due to missing binary files
Solution Approach 1:
The operating system is segmented into a core subset pre-loaded on the embedded device and additional binary files stored externally. The loader module dynamically loads only the necessary segments (binary files) required by each specific software application, rather than pre-loading the entire OS. This resolves the contradiction by maintaining a minimal core installation while enabling on-demand access to additional functionality.
Solution Approach 2:
The dependency finder module performs preliminary analysis of the software application to identify required binary files before the loader module attempts to load the application. This advance identification allows the system to proactively retrieve necessary files from external storage, preventing loading failures and ensuring compatibility without pre-loading all possible binary files.
2Adaptability or versatility
If the entire full client operating system is pre-loaded on the embedded computing device, then software application compatibility is improved, but disk and RAM space consumption increases
Solution Approach 1:
The operating system is divided into a minimal core subset that resides permanently on the embedded device and additional binary files that are stored externally and loaded on-demand. This segmentation allows the system to maintain full OS functionality when needed while keeping the default installation footprint minimal, directly resolving the storage versus compatibility contradiction.
Solution Approach 2:
The loader module provides universal functionality by being capable of loading any software application and dynamically retrieving the specific binary files required for each application. This single loader component replaces the need to pre-load multiple application-specific components, achieving universal compatibility without proportionally increasing storage requirements.
3Adaptability or versatility
If a user attempts to load a non-supported software application, then software flexibility is improved, but the loading process fails due to missing binary files
Solution Approach 1:
The dependency finder module monitors the loader module's operation and provides feedback by identifying binary files that are required but missing from the embedded device. This feedback mechanism enables the system to dynamically retrieve the necessary files from external storage, transforming potential loading failures into successful loads and maintaining both flexibility and reliability.
Solution Approach 2:
The system performs self-service by automatically identifying and retrieving missing binary files without requiring user intervention. When the loader module encounters a non-supported application, the dependency finder module autonomously analyzes the requirements, locates the necessary binary files, and facilitates their retrieval, allowing the user to load applications flexibly without manual configuration.
Data Source
AI summary
A method for satisfying loader dependencies on a running embedded computing device is provided. When a software application is loaded on a running embedded computing device, one or more binary files are identified that need to be loaded in order to run the software application. A determination is made as to whether the identified binary files are stored on the embedded computing device. If one or more of the identified binary files are missing from the embedded computer device, one or more file storage devices are identified that contain the missing binary files. The missing binary files are obtained from the one or more file storage devices during runtime and used to complete the load of the software application.


