Self-Assembling Software Generator for Non-Technical Users

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code generators require extensive knowledge of software programming and are limited in generating executable code without pre-designed software structures, making them inaccessible to non-technical users and inefficient for creating adaptable, user-specific applications.

Innovation Solution

A system and method using self-assembling software machines (s-machines) that can autonomously generate executable tasks by binding and organizing into complex structures, allowing for dynamic creation of software entities and functionalities without pre-existing source code, using a task specification data structure to guide self-assembly and execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional code generators are used to automatically write source code, then productivity is improved, but the system requires extensive programming knowledge and pre-designed software structures, reducing ease of operation

Engineering Contradiction:
Improvecode generation speedVSAvoidaccessibility to non-technical users
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system enables self-service through automatic software generation from natural language descriptions. The code generator automatically creates software applications without requiring users to manually design software structures or have programming knowledge, allowing non-technical users to generate functional code by simply describing their needs in natural language.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary natural language interface between the user and the code generation system. Instead of requiring users to directly interact with complex software design tools or programming languages, the system translates natural language descriptions into executable software, serving as a mediator that simplifies the interaction for non-technical users.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If conventional code generators translate pre-designed structures into source code, then manufacturing precision is improved, but the system lacks adaptability for user-specific applications without manual coding

Engineering Contradiction:
Improvecode structure accuracyVSAvoiduser-specific application customization
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The system implements dynamics by enabling runtime modification and adaptation of generated software. The code generator can create adaptable applications that can be customized and modified during execution based on user-specific requirements, allowing the software to evolve and adjust to different use cases without requiring complete manual redesign.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies universality by creating a multi-functional code generation system that can handle various types of software applications from a single natural language interface. The system is designed to generate diverse software structures and functionalities based on different user descriptions, making it versatile across multiple application domains while maintaining accurate code generation.

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

3Adaptability or versatility

If manual coding is used to create adaptable software, then adaptability is improved, but productivity decreases due to time-consuming manual processes

Engineering Contradiction:
Improvesoftware customization capabilityVSAvoidsoftware development speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system applies preliminary action by automatically generating the foundational software structure and code framework before detailed customization is needed. The code generator creates a ready-to-use software base from natural language descriptions, which can then be easily adapted and customized without starting from scratch, significantly reducing the time required for software development while maintaining adaptability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8046742B1Self-assembling software generator
Publication Date: 2011.10.25 SANDA CORP OPERATOR OF SANDIA NAT LAB
  • US8046742B1 patent drawing
  • US8046742B1 patent drawing
  • US8046742B1 patent drawing

AI summary

A technique to generate an executable task includes inspecting a task specification data structure to determine what software entities are to be generated to create the executable task, inspecting the task specification data structure to determine how the software entities will be linked after generating the software entities, inspecting the task specification data structure to determine logic to be executed by the software entities, and generating the software entities to create the executable task.