Computing Expression Medium for Live Software Component Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programming languages lack a systematic approach to visually express and validate software components, leading to inefficiencies in software development due to potential syntactic and semantic errors.

Innovation Solution

A new systems language, Cubicon, represents software components as metaobjects with both binary and visual forms, allowing live design and validation through integrated development environments (IDEs) to automate syntactic and semantic analysis in real-time, reducing errors and streamlining the development process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional text-based programming languages are used, then developers can express software logic, but syntactic and semantic errors occur frequently requiring manual validation

Engineering Contradiction:
Improvesoftware correctnessVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent transitions from one-dimensional text-based code to two-dimensional graphical block-based programming. Each block represents a programming construct with visual boundaries and connection points, allowing developers to assemble code visually rather than typing text, thereby eliminating syntax errors and enabling intuitive validation.

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

Solution Approach 2:

The system uses color-coding to differentiate block types, connection compatibility, and validation states. Blocks of incompatible types cannot connect due to color mismatches, providing visual feedback that prevents syntactic errors before execution.

Inventive Principle:
Principle #32Color changes

2Ease of operation

If graphical programming is adopted to visually express software components, then design intent can be captured more intuitively, but the complexity of the development environment increases

Engineering Contradiction:
Improvedesign expressionVSAvoiddevelopment environment
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a universal block library where standardized programming blocks can be reused across different projects and contexts. Each block encapsulates common programming patterns, allowing developers to build complex applications by assembling predefined blocks rather than creating everything from scratch, thereby reducing environment complexity.

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

Solution Approach 2:

The development environment is segmented into modular components: a block library, a canvas area for assembly, and an execution environment. This segmentation allows each component to be independently managed and optimized, reducing overall system complexity despite the graphical interface.

Inventive Principle:
Principle #1Segmentation

3Reliability

If real-time validation is implemented to eliminate syntactic errors, then software correctness improves, but processing overhead increases

Engineering Contradiction:
Improvesyntax correctnessVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs validation checks preliminarily during block assembly rather than during compilation or execution. Connection validation occurs immediately when blocks are dragged and dropped, preventing invalid constructions before they can affect performance, thereby eliminating the need for repeated validation overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12443395B2Computing expression medium, development environment, and device communication and control architecture
Publication Date: 2025.10.14 CUBICON CORP
  • US12443395B2 patent drawing
  • US12443395B2 patent drawing
  • US12443395B2 patent drawing

AI summary

During a process called live design, a computing system may receive, from a repository, an instance of a first component comprising a first set of one or more metaobjects that provides a binary representation of the instance of the first component. In turn, the computing system may render the instance of the first component as an icon and a first set of one or more underlying panes that provide a visual expression of the instance of the first component. The computing system may then receive, via the first set of one or more underlying panes, a user modification to the instance of the first component. Thereafter, the computing device and/or the repository may determine whether the user modification to the instance of the first component is valid, and may process the user modification in accordance with the determining.