Source Code Generation for ETL Tools via Port Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current source code converters are unable to generate source code in the programming language for ETL tools from source code in procedural programming languages, limiting the integration of new modules into existing systems.

Innovation Solution

A source code generation device and method that acquires procedural programming language source code, generates processing blocks, sets and connects input and output ports for data transmission, and converts the source code into the ETL tool programming language, enabling the creation of source code for ETL tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a source code converter designed for procedural programming languages is used, then conversion between procedural languages is achieved, but conversion to ETL tool programming language is not possible

Engineering Contradiction:
Improveprogramming language compatibilityVSAvoidconverter design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary conversion process that translates procedural programming language source code into ETL tool programming language source code through a series of intermediate representations. This mediator approach enables compatibility between different programming paradigms without requiring direct complex mapping rules.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The conversion process is divided into multiple segments: analyzing the procedural source code, generating intermediate representation, mapping to ETL-specific constructs, and outputting the converted code. This segmentation makes the complex conversion task manageable and extensible to different language pairs.

Inventive Principle:
Principle #1Segmentation

2Productivity

If existing modules are reconstructed with new programming languages, then development efficiency is improved, but maintenance complexity increases due to language mixing

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidsystem maintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The source code conversion device provides universal functionality to convert between different programming languages and paradigms, enabling existing modules to be reconstructed in ETL tool languages while maintaining system uniformity. This eliminates language mixing issues and simplifies long-term maintenance.

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

3Manufacturing precision

If manual conversion of source code is performed, then conversion accuracy is maintained, but conversion time increases significantly

Engineering Contradiction:
Improvecode conversion accuracyVSAvoidconversion time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The conversion device performs automated analysis of procedural source code, self-generates the corresponding ETL tool code, and validates the conversion results. This self-service capability maintains high conversion accuracy while dramatically reducing the time required compared to manual conversion processes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10360006B2Source code generation device, source code generation method, and recording medium
Publication Date: 2019.07.23 NEC CORP
  • US10360006B2 patent drawing
  • US10360006B2 patent drawing
  • US10360006B2 patent drawing

AI summary

A source code described in a programming language for an ETL tool is generated from a source code described in a procedural programming language. A source code acquisition unit acquires a source code described in a procedural programming language and in which a group of instructions that handles one or more variables is described. A processing block generation unit generates a group of processing blocks associated with the group of instructions described in the source code acquired. A port setting unit sets, in a group of processing blocks associated with a group of instructions executed between execution of an instruction that handles first a variable focused on and execution of an instruction that handles last the variable focused on, among the group of processing blocks generated, an input port and an output port for transmitting data referred to by the variable focused on. A port connection unit connects the input port and the output port set.