Just-In-Time Programming with LLM and Flow-Based Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional programming systems require extensive upfront planning and design, which do not align with the dynamic nature of user tasks, and lack real-time automation and algorithm implementation capabilities.
Innovation Solution
The integration of Flow-Based Programming with Large Language Models enables a Just-In-Time Programming framework that allows users to develop and implement algorithms in real-time using a graphical user interface, with a cloud-based architecture, collaboration tools, and extensibility, facilitating rapid software development and adaptation to changing requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional programming systems require extensive upfront planning and design, then program structure and reliability are improved, but development time and adaptability to changing requirements deteriorate
Solution Approach 1:
The system pre-provides a library of verified function templates and block components that can be immediately assembled into programs. This preliminary preparation of building blocks eliminates the need for extensive upfront planning while maintaining structural reliability, as users can quickly combine pre-defined functional units without designing everything from scratch.
Solution Approach 2:
The programming system enables dynamic assembly and reassembly of function templates in real-time. Users can modify program structure during execution by adding, removing, or rearranging functional blocks, allowing the system to adapt to changing requirements without requiring complete redesign from the beginning, thus reducing development time while maintaining reliability through structured composition.
2Ease of operation
If traditional programming systems use fixed programming paradigms, then teaching and learning are simplified, but adaptability to diverse user tasks and real-time automation deteriorate
Solution Approach 1:
The system provides a universal set of function templates and block components that can be applied across diverse programming tasks. The same library of standardized functions serves multiple purposes, from data processing to visualization to automation, allowing users to handle diverse tasks using a consistent programming paradigm while maintaining ease of learning through standardized interfaces and patterns.
Solution Approach 2:
The system introduces an intelligent intermediary layer that automatically selects and assembles appropriate function templates based on user requirements. This mediator translates high-level user intentions into specific programming operations, enabling users to accomplish diverse tasks without needing to learn complex programming details for each specific task, thus maintaining ease of operation while enhancing adaptability.
3Device complexity
If programming systems lack real-time automation capabilities, then system complexity is reduced, but productivity and responsiveness to changing requirements deteriorate
Solution Approach 1:
The system implements self-service automation where functions and blocks can automatically execute based on triggered events or data flows without requiring manual intervention. The programming framework includes built-in automation mechanisms that enable tasks to run autonomously, improving productivity by eliminating repetitive manual operations while keeping system complexity manageable through standardized automation patterns and predefined execution contexts.
Solution Approach 2:
The system enables continuous execution of automated functions that operate persistently or in real-time based on incoming data or events. Automated processes can continue running without interruption, maintaining productivity and responsiveness to changing requirements through continuous monitoring and execution, while the modular block architecture keeps system complexity organized and manageable by breaking continuous operations into discrete, composable units.
Data Source
AI summary
A programming system to create programs. Data are stored that describe actions of the users in creating the programs. The programming system has a library of templates for functions. A graphical user interface presents to users functions depicted as templates of blocks to be selected for incorporation into programs. Users direct the system to assemble functions from the set into the programs. The graphical user interface depicts the incorporated functions as graphical elements for manipulation in the graphical user interface. Users can graphically connect data output connection points of incorporated function graphical elements to input connection points of incorporated function graphical elements. A trained artificial intelligence large language model has been trained with a corpus of graphical programs to compute suggestions to the user for functions to be added into the program. The computation of function suggestion is based at least in part on a prompt given by the user and the trained large language model.


