Compile-time Polyphasic Module Management via Directory Hierarchy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software systems face increased complexity and maintenance risks due to growing code size and dependencies, leading to performance issues and unmanageability, which existing modularization techniques struggle to effectively address.

Innovation Solution

A system that uses a directory hierarchy to infer compilation units as module members, dynamically identifies dependencies, and compiles software programs by merging module directory paths into a classpath, limiting visibility and enforcing accessibility restrictions between modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If software systems are modularized to manage complexity, then maintainability and readability improve, but the compilation process becomes more complex due to dependency management

Engineering Contradiction:
ImprovemaintainabilityVSAvoidcompilation process complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The compilation manager automatically infers module membership from directory hierarchy and dynamically identifies dependencies without manual configuration. The system serves itself by using the existing directory structure to determine module boundaries and automatically resolving dependencies, eliminating the need for complex manual module declarations while maintaining modularity benefits

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary organization of code into modular directory structures before compilation. By pre-organizing files into module directories that reflect the desired module hierarchy, the compilation process automatically inherits this structure, simplifying dependency management rather than complicating it

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If manual module management is used to control dependencies, then compilation accuracy improves, but time consumption and manual input increase

Engineering Contradiction:
Improvecompilation accuracyVSAvoidcompilation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The compilation manager automatically infers module membership from directory hierarchy and dynamically identifies dependencies without manual configuration. The system serves itself by using the existing directory structure to determine module boundaries and automatically resolving dependencies, eliminating the need for complex manual module declarations while maintaining modularity benefits

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary organization of code into modular directory structures before compilation. By pre-organizing files into module directories that reflect the desired module hierarchy, the compilation process automatically inherits this structure, simplifying dependency management rather than complicating it

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8584104B2Compile-time management of polyphasic modules
Publication Date: 2013.11.12 ORACLE INT CORP
  • US8584104B2 patent drawing
  • US8584104B2 patent drawing
  • US8584104B2 patent drawing

AI summary

The disclosed embodiments provide a system that facilitates the compilation of a software program. During operation, the system uses a directory hierarchy for the software program to infer a compilation unit to be used in the software program as a member of a module. Next, the system obtains a module declaration for the module using the directory hierarchy. Finally, the system enables compilation of the software program by dynamically identifying and locating one or more dependencies of the module using the module declaration and the directory hierarchy.