Bridge Modules for Module System Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development systems face challenges in integrating module environments with non-module environments due to unclear dependencies, leading to issues like 'JAR hell' where class loading processes are affected, preventing standard modules from directly depending on non-module code.

Innovation Solution

The generation of bridge modules that explicitly depend on non-module code, allowing standard modules to access non-module code by modularizing non-module code and exposing its packages through a module descriptor, while maintaining explicit dependencies within the module system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard modules are restricted from explicitly depending on non-module code, then module system reliability is improved, but integration capability between module and non-module environments deteriorates

Engineering Contradiction:
Improvemodule system reliabilityVSAvoidintegration capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces bridge modules as intermediary components that standard modules can explicitly depend on. These bridge modules in turn depend on non-module code, thereby mediating the interaction between the module system and non-module environment. This resolves the contradiction by allowing standard modules to access non-module functionality through the intermediary bridge modules while maintaining explicit dependency declarations within the module system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If dependencies between non-module code are not explicitly declared, then ease of use is improved, but dependency management precision deteriorates

Engineering Contradiction:
Improveease of useVSAvoiddependency management precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

Bridge modules serve as intermediaries that explicitly declare dependencies on non-module code. This allows the non-module environment to maintain its flexible, undeclared dependency style while the module system gains precise dependency information through the bridge modules' explicit dependency declarations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary analysis of non-module code to automatically generate bridge modules with explicit dependency declarations. This preliminary action captures the implicit dependencies of non-module code and transforms them into explicit declarations, improving dependency management precision without requiring changes to the non-module code itself.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If bridge modules are generated to expose non-module packages, then integration capability is improved, but system complexity increases

Engineering Contradiction:
Improveintegration capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

While bridge modules do increase the number of components, they provide necessary mediation between module and non-module environments. The complexity is justified by the integration capability gained, and the bridge modules follow standardized patterns that reduce the cognitive complexity of managing them.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the integration functionality into distinct bridge modules, each responsible for specific non-module packages. This segmentation allows for targeted, modular integration rather than requiring a monolithic integration layer, making the system complexity more manageable and organized.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10459708B2Composing a module system and a non-module system
Publication Date: 2019.10.29 ORACLE INT CORP
  • US10459708B2 patent drawing
  • US10459708B2 patent drawing
  • US10459708B2 patent drawing

AI summary

A bridge module is generated to bridge standard modules in a module system and non-module code in a non-module system. The bridge module includes explicit dependencies associated with a namespace, such as a dependency path corresponding to the non-module code. The bridge module exposes packages of the non-module code at least to the standard modules. Operations are performed on a code base that uses standard modules, bridge modules, and non-module code.