GUI Development Environment Pipeline Code Block Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing development environments, such as Jupyter Notebook or Jupyter Lab, face issues where modifying code blocks requires restarting the entire process, and the structure between code blocks is difficult to comprehend, leading to inefficiencies in collaboration and explanation.

Innovation Solution

A method and computing device that implement a Graphical User Interface (GUI) for a development environment, allowing users to set and connect code blocks through pipelines, enabling partial execution and reuse of execution data from cache, and facilitating the display of execution relationships and results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If code blocks are executed in sequence in existing development environments, then execution simplicity is maintained, but time consumption increases when modifications require complete process restart

Engineering Contradiction:
Improveexecution simplicityVSAvoidtime consumption for process restart
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent divides the code into independent executable blocks that can be selected and executed individually rather than requiring sequential execution of all code. This segmentation allows users to execute only the modified blocks, eliminating the need to restart the entire process when changes are made.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic execution control where the execution order and scope can be adjusted based on dependencies between blocks. The system can adaptively determine which blocks need to be re-executed based on modifications, optimizing the execution process to minimize time consumption while maintaining operational simplicity.

Inventive Principle:
Principle #15Dynamics

2Speed

If code blocks are executed independently without connection tracking, then execution speed is maintained, but difficulty in recognizing structure increases

Engineering Contradiction:
Improveexecution speedVSAvoiddifficulty in recognizing structure
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary mechanism that tracks and records connection relationships between code blocks without interfering with their independent execution. This intermediary layer maintains metadata about dependencies and relationships, enabling users to understand the overall structure while preserving the speed benefits of independent execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds a dimensional layer of connection tracking that operates separately from the execution process. By maintaining relationship information in a separate structural dimension, the system can display code block connections and structure without adding overhead to the actual execution speed.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If entire process is restarted to see results after modification, then result accuracy is ensured, but productivity decreases

Engineering Contradiction:
Improveresult accuracyVSAvoidproductivity loss
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary tracking of dependencies and connections between code blocks before execution. This preliminary action enables the system to automatically determine the minimal set of blocks that need to be re-executed after modifications, ensuring result accuracy without requiring complete process restart and thus maintaining productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the execution parameter from 'all blocks must be re-executed' to 'only affected blocks need re-execution' based on dependency analysis. This parameter change maintains the reliability of results by ensuring all necessary blocks are re-executed while significantly improving productivity by avoiding unnecessary re-executions of unchanged blocks.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If code blocks are executed without connection relationship tracking, then execution efficiency is maintained, but time and cost increase for explanation and collaboration

Engineering Contradiction:
Improveexecution efficiencyVSAvoidtime for explanation and collaboration
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary tracking mechanism that records connection relationships between code blocks without affecting execution efficiency. This intermediary layer provides the necessary information for explanation and collaboration by displaying how blocks are connected and depend on each other, while maintaining the speed benefits of efficient execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms that provide connection relationship information to users during the execution process. This feedback enables better explanation and collaboration by showing how code blocks interact, while the system continues to execute efficiently by using this information only for display and dependency analysis, not for execution overhead.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12254291B2Method for a development environment
Publication Date: 2025.03.18 MAKINAROCKS CO LTD
  • US12254291B2 patent drawing
  • US12254291B2 patent drawing
  • US12254291B2 patent drawing

AI summary

Disclosed is a method performed by a computing device for implementing a Graphical User Interface (GUI) providing a development environment, the method including: setting, by a computing device, a plurality of code blocks; designating two or more execution target blocks among the plurality of code blocks; constructing one or more pipelines defining a relationship between the two or more execution target blocks and connecting the two or more execution target blocks; and executing at least some of the two or more execution target blocks based on the connection relationship of the one or more pipelines.