Minimal Build Dependency Determination for Executable Source Modules
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the context of technical computing environments like MATLAB, the existing methods require compiling and porting entire libraries of source modules, even when only a few are necessary, leading to increased compilation time and memory usage, especially when transferring models to different platforms.
Innovation Solution
A method and system that identify and use only the necessary source modules to build an executable, minimizing compilation time and memory usage by creating a reduced set of source modules and excluding unnecessary ones, allowing for efficient porting and validation of models.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire libraries of source modules are compiled and linked, then all necessary functions are available, but compilation time and memory usage increase significantly
Solution Approach 1:
The patent extracts only the necessary source modules from the entire library by analyzing the model's dependencies. It identifies which source modules are actually required based on the model's block diagram and signal flow, then compiles and links only those specific modules rather than the entire library, thereby reducing compilation time while maintaining all necessary functions.
Solution Approach 2:
The patent segments the library into necessary and unnecessary source modules based on the model's requirements. By dividing the complete library into subsets (those required by the model and those that are not), it enables selective compilation of only the necessary segments, reducing the overall compilation time and memory footprint.
2Reliability
If entire libraries are ported to new platforms, then all functionality is preserved, but porting time and resource requirements increase
Solution Approach 1:
The patent extracts only the necessary source modules for porting to the target platform. By analyzing the model's dependencies and identifying which source modules are actually used, it creates a reduced set that must be ported, eliminating the need to port the entire library and significantly reducing porting time and resource requirements.
3Adaptability or versatility
If all source modules are loaded into memory, then complete library access is available, but memory requirements increase
Solution Approach 1:
The patent extracts only the necessary source modules that the model requires into memory. By analyzing dependencies and identifying required modules, it loads only those specific source modules into memory rather than the entire library, reducing memory usage while maintaining complete access to all necessary functions.
Data Source
AI summary
The present invention provides a method and system for building an executable using only the necessary source modules or a reduced set of source modules. The complete list of necessary source modules can be determined by checking for dependency of any already identified necessary source modules. Hence, if any of the source modules belongs to a library, the entire library will not need to be compiled in order to use any necessary source module to build the executable. The present invention has the advantage that the executable takes shorter time to build and the executable is smaller in memory size so that it is easier to be ported to a target system. The present invention may also be used to minimize or reduce the memory needed to load a model so that only the elements/blocks that are used in the model are loaded into memory when a model loads. The present invention may further be used to minimize or reduce efforts in validating a model by creating a new library containing only the library elements/blocks that are used in the model, so that it is easy to identify which library elements/blocks need to be validated.


