Node Compiler Dependency Detection for Software Maintenance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Functional programming languages restrict state changes, making software development challenging, while object-oriented programming languages require extensive expertise and redesign as complexity grows, leading to maintenance issues.

Innovation Solution

A system comprising a programming interface, module creator, object creator, and node compiler that defines modules and objects with sub-functions and detects dependencies between nodes, allowing for extended functionality and easier maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If functional programming languages are used to restrict state changes, then software reliability is improved, but software development ease deteriorates

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidsoftware development ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system segments software into immutable functional components and mutable object-oriented components. The functional programming language processor handles stateless, reliable operations, while the object-oriented programming language processor manages state changes and flexibility. This segmentation allows the system to enjoy both the reliability of functional programming and the ease of software development provided by object-oriented programming.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If object oriented programming languages are used to provide flexibility, then software adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvesoftware adaptabilityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system divides programming tasks between functional and object-oriented paradigms. Simple, stateless operations are handled by the functional programming processor, reducing complexity, while object-oriented processing is used only where flexibility and state management are required. This selective segmentation reduces overall programming complexity while maintaining necessary adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a universal programming platform that accepts both functional and object-oriented code. The dual programming language processor can interpret and execute multiple programming paradigms within a single system, providing multi-functionality that handles both simple and complex requirements without requiring separate systems for each paradigm.

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

3Adaptability or versatility

If object oriented programming languages are used to aggregate code with classes, then software functionality is improved, but maintenance difficulty increases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidsoftware maintenance ease
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The system segments software maintenance tasks by identifying which components are functional (immutable) and which are object-oriented (mutable). The node compiler automatically detects dependencies between nodes, allowing maintainers to understand how changes propagate through the system. This segmentation and automatic dependency tracking make maintenance easier by clearly showing which parts of the system will be affected by changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The node compiler provides automatic feedback about dependency relationships in the software system. When a node is modified, the compiler detects and reports all dependent nodes that may be affected, giving maintainers immediate feedback about the scope of required changes. This feedback mechanism prevents maintenance errors by ensuring all affected components are identified and updated appropriately.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11327721B1System for extending functionality of a computer programming language, and related method and software
Publication Date: 2022.05.10 RENEDO MARCO
  • US11327721B1 patent drawing
  • US11327721B1 patent drawing
  • US11327721B1 patent drawing

AI summary

A system for extending functionality of a computer programming language includes a programming interface, a module creator, an object creator, and a node compiler, all executing on a computer. The programming interface provides a code editor. The module creator defines a module based on user input received via the code editor. The module exports a function with a plurality of sub-functions, including a first sub-function and a second sub-function. The object creator defines a plurality of versions of an object based on user input received via the code editor, including a first version having a call for the function to take as an argument a first node including a first parameter linked to the first sub-function and a second node including a second parameter linked to the second sub-function. The node compiler detects a dependency between the first node and the second node.