Program Generation System for Automated Data Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data manipulation strategies are impractical for large datasets, requiring manual effort or programming expertise, and are time-consuming even for experienced users, as they involve converting input information from one format to another.
Innovation Solution
A program generation system that uses input-output examples to automatically generate programs through a parsing module, transformation module, and formatting module, which identifies input and output parts, selects appropriate converter modules, and generates formatting instructions to transform new input items into desired output items.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual conversion is used for small datasets, then simplicity is maintained, but productivity decreases for large datasets
Solution Approach 1:
The system enables self-service automation by allowing users to provide input-output examples and receive an automatically generated conversion program without requiring programming expertise. The system serves itself by learning the conversion logic from examples and producing executable code that can be applied to large datasets automatically.
Solution Approach 2:
The patent introduces an intermediary program generation system that mediates between the user's conversion requirements and the actual data transformation process. This intermediary automatically generates conversion programs based on examples, eliminating the need for users to manually write code while maintaining ease of use.
2Productivity
If automated program writing is used, then productivity increases, but ease of operation decreases due to programming expertise requirements
Solution Approach 1:
The system performs the programming task automatically by learning from input-output examples and generating conversion programs without human intervention in the coding process. Users simply provide examples and receive ready-to-use programs, making the system self-sufficient in bridging the gap between requirements and implementation.
Solution Approach 2:
The system analyzes input-output examples to copy and replicate the conversion logic patterns. By studying the transformations in provided examples, the system learns the underlying rules and generates programs that copy this learned behavior, eliminating the need for users to understand programming concepts.
3Adaptability or versatility
If experienced users write programs manually, then adaptability is achieved, but loss of time increases
Solution Approach 1:
The system performs preliminary analysis of input-output examples to pre-learn the conversion logic before actual data processing is needed. By conducting this analysis in advance and generating the conversion program beforehand, the system eliminates the time-consuming manual program writing process while maintaining adaptability to specific conversion requirements.
Solution Approach 2:
The system uses feedback from input-output examples to automatically adjust and generate appropriate conversion programs. By analyzing the feedback provided in the examples (showing desired input and output transformations), the system learns the correct conversion logic and generates programs that adapt to the specific requirements without manual intervention.
Data Source
AI summary
A program generation system is described that generates a program based on a plurality of input-output examples. The input-output examples include input items and corresponding output items. The program generation system can include three component modules. A parsing module processes the input items and output items to provide a plurality of input parts and output parts, respectively. A transformation module determines, for each output part, whether the output part can be produced from a corresponding input part using one or more converter modules selected from a collection of candidate converter modules. A formatting module generates formatting instructions that transform selected output parts into a form specified by the output items. These three modules provide a generated program that embodies logic learned from the input-output examples; the generated program can be subsequently used to transform new input items into new respective output items.


