Modularized Application Directory Hierarchy for Interoperability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing modularized application development systems have proprietary module formats, restricting interoperability between modules from different vendors and requiring proprietary runtimes and development tools, which are costly and complex to use.

Innovation Solution

Implementing an abstraction layer using file-system directories to define modules and their associations, allowing for independent implementation of modules and runtimes, and enabling customization through familiar file-system operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If proprietary module formats are used in modularized application development, then modules can be developed with specific vendor features, but interoperability between modules from different vendors is restricted

Engineering Contradiction:
ImproveinteroperabilityVSAvoidmodule format complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal module format that can be used across different vendors and runtimes. The module structure uses standard file-system directories and configuration files that are universally accessible, allowing modules to be portable and interoperable between different development environments without vendor-specific constraints.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an abstraction layer consisting of standardized configuration files and directory structures that act as intermediaries between the module implementation and the runtime environment. This abstraction layer enables different vendors to implement modules using their own internal formats while maintaining a universal interface through the standardized configuration structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If proprietary runtimes are required to execute modularized applications, then vendor-specific features can be fully utilized, but costs and complexity increase

Engineering Contradiction:
Improveruntime compatibilityVSAvoidruntime system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs the runtime system to be universally compatible with modules from different vendors by implementing a standard interface that reads module configuration files and executes modules based on their directory structure. This universal runtime can handle modules from any vendor that follows the standardized format, eliminating the need for vendor-specific runtime implementations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent extracts the essential execution functionality from proprietary runtime systems and implements it as a universal runtime that only requires basic file-system operations. By separating the core execution logic from vendor-specific features, the system achieves runtime compatibility without requiring complex proprietary runtime environments.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If proprietary development tools are used for assembling and configuring modules, then vendor-specific features can be accessed, but accessibility and ease of use decrease

Engineering Contradiction:
Improvedevelopment tool accessibilityVSAvoiddevelopment tool complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent enables developers to assemble and configure modules using standard file-system operations that are already familiar to users. The module configuration files use standard formats that can be edited with any text editor, and module assembly can be performed through basic file copying and directory creation, eliminating the need for specialized proprietary development tools.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces complex proprietary development tool interfaces with simple file-system operations. Instead of requiring specialized software for module assembly and configuration, the system uses standard file manipulation commands and directory structures that can be accessed through any operating system's file manager or command-line interface.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Adaptability or versatility

If modules are implemented with detailed configuration parameters, then functional capability increases, but ease of configuration decreases

Engineering Contradiction:
Improvemodule functional capabilityVSAvoidconfiguration ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments module configuration into hierarchical sections within configuration files, organizing parameters by functional category. This segmentation allows developers to configure only the specific parameters relevant to their needs while maintaining the ability to access detailed functionality when required, making configuration more manageable and easier to understand.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11080102B2System and method for developing modularized application
Publication Date: 2021.08.03 CHEN MICHAEL CHANGCHENG
  • US11080102B2 patent drawing
  • US11080102B2 patent drawing
  • US11080102B2 patent drawing

AI summary

A system and method for developing modularized applications are disclosed. In one preferred embodiment, a modularized application 12′ is implemented as a directory-hierarchy comprises a plurality of directories, with each directory 20 containing a module-implementation definition 22 for implementing an application module 14′ for performing one of the application's tasks. Directory relationship 26, such as parent-child, is used in defining modules association for inter-module communication. In one preferred embodiment, when executing a modularized application, modules' module-implementation definitions 22A 22B are used by application runtime, for running hardware processes 24A 24B performing the modules' intended tasks, and for conducting inter-module communication 28 between hardware processes 24A 24B of associated modules 14A″14B″.