KR102515698B1 - 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법 - Google Patents

이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법 Download PDF

Info

Publication number
KR102515698B1
KR102515698B1 KR1020210018869A KR20210018869A KR102515698B1 KR 102515698 B1 KR102515698 B1 KR 102515698B1 KR 1020210018869 A KR1020210018869 A KR 1020210018869A KR 20210018869 A KR20210018869 A KR 20210018869A KR 102515698 B1 KR102515698 B1 KR 102515698B1
Authority
KR
South Korea
Prior art keywords
programming language
image
programming
providing
development environment
Prior art date
Application number
KR1020210018869A
Other languages
English (en)
Other versions
KR20220115195A (ko
Inventor
최현길
최영재
Original Assignee
(주)메인라인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)메인라인 filed Critical (주)메인라인
Priority to KR1020210018869A priority Critical patent/KR102515698B1/ko
Publication of KR20220115195A publication Critical patent/KR20220115195A/ko
Application granted granted Critical
Publication of KR102515698B1 publication Critical patent/KR102515698B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법은 복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 적어도 하나의 이미지 컴포넌트(Image Component)를 선택받고, 상기 선택된 적어도 하나의 이미지 컴포넌트에 대한 각각의 스크립트를 입력받아 이미지 로직을 생성하는 이미지 로직 생성부, 상기 복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받는 프로그래밍 언어 선택부 및 상기 이미지 로직을 상기 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행하는 프로그래밍 수행부를 포함한다.

Description

이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING PROGRAMMING LANGUAGE DEVELOPEMT ENVIRONMENT FOR GENERATING A PLUALITY OF PROGRAMMING LANGUAGES BASED ON IMAGE COMPONENT}
본 발명은 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 장치 및 방법에 관한 것이다.
프로그래밍 언어란 사람이 사용하기에 쉬운 문자로 명령을 입력하면 그 명령을 기계어로 바꾸어 컴퓨터가 인식할 수 있도록 하는 도구를 의미한다.
프로그래밍 언어는 컴퓨터에게 명령을 내릴 때 해석하는 방식에 따라 어셈블리 언어, 인터프리터 언어, 컴파일 언어 등으로 분류될 수 있다. 어셈블리 언어는 초기 프로그래밍 언어로, 컴퓨터를 위한 단순한 형태의 언어로 구성되어 실행 속도가 빠르다는 특징을 가지고 있다. 인터프리터 언어는 인간이 이해하기 쉽게 만든 언어로, 인간이 사용하는 부호를 기계어로 바꾸어 실행하며, 명령어를 각각 해석함에 따라 실행 속도가 느리지만, 프로그램에 오류가 발생했을 때 수정이 용이하다는 장점을 가지고 있다.
컴파일 언어는 인터프리터 언어보다 좀더 인간 사고에 맞는 고수준의 언어로, 명령어를 한번에 처리하여 수행 속도가 빠르고 보안성이 높지만, 프로그램에 오류가 발견된 경우 수정이 다소 어렵다는 특징을 가지고 있다.
프로그래밍 언어는 예를 들어, 어셈블러(Assembler), 코볼(Cobol), C 언어, C++ 언어, 자바(Java), 자바스크립트(JavaSript), 파이썬(Python) 등을 포함한다. 이러한 프로그래밍 언어와 관련하여, 선행기술인 한국등록특허 제 10-1080804호는 C언어 기반의 프로그래밍 언어로 작성된 애플리케이션의 배포 시스템 및 방법을 개시하고 있다.
개발자들은 시대적 변화 및 전산 환경에 따라 다양한 프로그래밍 언어를 학습한 후, 학습한 프로그래밍 언어를 이용하여 프로그램을 개발하고 있다. 그러나 프로그래밍 언어는 화면을 생성하는 언어, 비즈니스 로직을 담당하는 언어 등이 존재하며, 화면을 생성하는 언어의 경우, 서비스 로직에 따라 4GL(파워빌더, 델파이), 웹 개발 언어(Jquery, 엥글로, Extjs 등), MFC(Microsoft Foundation Class Library), 비쥬얼 베이직(Visual Basic) 등의 다양한 언어가 이용되고 있다.
이처럼 개발자들은 시대적 변화 및 서비스 로직에 따라 다양한 프로그래밍 언어의 학습이 요구됨에 따라 프로그래밍 언어의 학습에 많은 부담을 느끼고 있다.
복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 적어도 하나의 이미지 컴포넌트(Image Component)를 선택받고, 선택된 적어도 하나의 이미지 컴포넌트에 대한 각각의 스크립트를 입력받아 이미지 로직을 생성하는 장치 및 방법을 제공하고자 한다.
복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받고, 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행하는 장치 및 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 적어도 하나의 이미지 컴포넌트(Image Component)를 선택받고, 상기 선택된 적어도 하나의 이미지 컴포넌트에 대한 각각의 스크립트를 입력받아 이미지 로직을 생성하는 이미지 로직 생성부, 상기 복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받는 프로그래밍 언어 선택부 및 상기 이미지 로직을 상기 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행하는 프로그래밍 수행부를 포함하는 프로그래밍 언어 개발 환경 제공 장치를 제공할 수 있다.
본 발명의 다른 실시예는, 복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 적어도 하나의 이미지 컴포넌트를 선택받고, 상기 선택된 적어도 하나의 이미지 컴포넌트(Image Component)에 대한 각각의 스크립트를 입력받아 이미지 로직을 생성하는 단계, 상기 복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받는 단계 및 상기 이미지 로직을 상기 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행하는 단계를 포함하는 프로그래밍 언어 개발 환경 제공 방법을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 프로그래밍 언어 개발 환경을 통해 복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 이미지 컴포넌트를 선택받고, 이미지 컴포넌트에 대한 스크립트를 입력받아 이미지 로직을 생성하는 장치 및 방법을 제공할 수 있다.
개발자로부터 복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받고, 이미지 로직을 선택된 특정 프로그래밍 언어로 생성함으로써, 개발자들이 다양한 프로그래밍 언어를 학습하지 않고도, 손쉽게 프로그래밍을 할 수 있도록 하는 장치 및 방법을 제공할 수 있다.
시뮬레이션이 완료된 특정 프로그래밍 언어의 소스 코드를 프로그래밍 언어별 데이터베이스에 저장하여 유지 관리 및 버전 패치 등을 관리하고, 재개발, 변환 등을 손쉽게 수행할 수 있도록 하는 장치 및 방법을 제공할 수 있다.
프로그램에서 업무의 설계 변경 없이, UI(User Interface) 또는 UX(User Experience) 등 일부 요소가 변경된 경우, 변경된 부분을 개발자가 파악하기 쉽게 알려주도록 하는 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 프로그래밍 언어 개발 환경 제공 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 복수의 프로그래밍 언어 간의 공통된 예약어를 설명하기 위한 예시적인 도면이다.
도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 공통된 예약어와 관련된 이미지 컴포넌트를 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 프로그래밍 언어 개발 환경을 통해 특정 프로그래밍 언어를 선택받는 과정을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 프로그래밍 언어 개발 환경 제공 장치에서 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 프로그래밍 언어 개발 환경 제공 장치의 구성도이다. 도 1을 참조하면, 프로그래밍 언어 개발 환경 장치(100)는 이미지 로직 생성부(110), 프로그래밍 언어 선택부(120), 점검부(130), 프로그래밍 수행부(140), 검증부(150) 및 시뮬레이션부(160)를 포함할 수 있다.
이미지 로직 생성부(110)는 복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 적어도 하나의 이미지 컴포넌트(Image Component)를 선택받을 수 있다. 공통된 예약어와 관련된 이미지 컴포넌트에 대해서는 도 2 내지 도 3c를 통해 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 복수의 프로그래밍 언어 간의 공통된 예약어를 설명하기 위한 예시적인 도면이다. 도 2를 참조하면, 복수의 프로그래밍 언어는 자바(JAVA), 파이썬(Python), C 언어, C++ 언어 등을 포함하며, 이러한 복수의 프로그래밍 언어는 '제어 기능'(200), '단순 기능'(210), '데이터베이스'(220), '파일'(230) 및 기타 등과 같은 공통 요소를 갖는다.
예를 들어, 복수의 프로그래밍 언어 간의 공통된 예약어는 공통 요소 중 '제어 기능'(200)의 판단 함수(201), 반복 함수(202) 및 '단순 기능'(210)의 프린트 함수(211)를 포함할 수 있다.
도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 공통된 예약어와 관련된 이미지 컴포넌트를 설명하기 위한 예시적인 도면이다. 여기서, 이미지 컴포넌트는 복수의 프로그래밍 언어의 공통된 예약어에 대해 이미지 노테이션(Image Notation)이 정의된 것일 수 있다.
도 2 및 도 3a를 참조하면, 이미지 로직 생성부(110)는 복수의 프로그래밍 언어 중 공통된 예약어에 해당하는 '판단 함수'(201)에 대한 이미지 컴포넌트를 선택받을 수 있다. 여기서, 판단 함수(201)는 복수의 프로그래밍 언어 중 if~else문에 관한 것일 수 있다.
일반적으로 if~else문은 if 문 내 괄호의 조건이 참이면, 제 1 문장을 실행하고, if 문 내 괄호의 조건이 거짓이면, else 문에 포함된 제 2 문장을 실행하도록 하는 코드를 의미하며, 프로그래밍 언어에 따라 if~else문은 각각 다르게 표현될 수 있다.
예를 들어, 자바 및 C++ 언어의 경우, if~else문은 if( ), else if( ), else로 표현될 수 있다.
다른 예를 들어, 파이썬의 경우, if~else문은 if, elif, else로 표현될 수 있다. 이 때, 파이썬의 경우, 자바 및 C++ 언어와 달리 괄호 대신 조건 문장 끝에 ':'를 사용한다는 특징을 갖는다. 예를 들어, 파이썬의 경우, if조건에 따라 숫자가 출력되도록 하는 if~else문은 다음과 같이 표현될 수 있다.
if 1==2 :
print('first')
elif 2==3 :
print('second')
else :
print('last')
즉, 복수의 프로그래밍 언어는 모두 if~else문을 포함하지만, 프로그래밍 언어 별로 표현되는 방식이 다르다. 본원은 이와 같이, 프로그래밍 언어 별로 다른 if~else문의 표현 방식을 '판단 함수'(201)의 이미지 컴포넌트를 통해 손쉽게 표현되도록 할 수 있다.
도 2 및 도 3b를 참조하면, 이미지 로직 생성부(110)는 복수의 프로그래밍 언어 중 공통된 예약어에 해당하는 '반복 함수'(202)에 대한 이미지 컴포넌트를 선택받을 수 있다. 여기서, 반복 함수(202)는 복수의 프로그래밍 언어 중 for 반복문 또는 while 반복문에 관한 것일 수 있다.
이하에서는, for 반복문에 대해 설명하도록 한다. 일반적으로 for 반복문은 특정 조건이 참이면, 지속적으로 문장의 실행을 반복하고, 특정 조건이 거짓이면 문장의 실행을 중단하도록 하는 코드를 의미하며, 프로그래밍 언어에 따라 for 반복문은 각각 다르게 표현될 수 있다.
예를 들어, 자바 및 C++ 언어의 경우, for 반복문은 특정 조건에 따라 숫자가 출력되도록 하는 for(int i=0 i<n, i++)과 같이 기본적인 문장으로 표현될 수 있다.
다른 예를 들어, 파이썬의 경우, for 반복문은 다음과 같이 foreach와 비슷한 방법으로 표현될 수 있다.
seq = [1, 2, 3, 4, 5]
for item in seq :
print(item)
또는, 파이썬의 경우, 특정 조건에 따라 숫자가 출력되도록 하는 for 반복문은 다음과 같이 표현될 수 잇다. 여기서, range는 예를 들어, list(range(0, 5))를 통해 [0, 1, 2, 3, 4]로 표현될 수도 있다.
for x in rage(0, 5) :
print(x)
이하에서는, while 반복문에 대해 설명하도록 한다. 일반적으로 while 반복문은 종결 조건을 가지며, 특정 조건이 참이면, 종결 조건을 충족할 때까지 계속 문장의 실행을 반복하도록 하는 코드를 의미하며, 프로그래밍 언어에 따라 while 반복문은 각각 다르게 표현될 수 있다.
예를 들어, 자바 및 C++ 언어의 경우, while 반복문은 while( )로 표현될 수 있다.
다른 예를 들어, 파이썬의 경우, while 반복문은 자바 및 C++ 언어와 달리 괄호 대신 조건 문장 끝에 ':'를 사용한다는 특징을 갖는다. 예를 들어, 파이썬의 경우, 종결 조건에 따라 숫자가 출력되도록 하는 while 반복문은 다음과 같이 표현될 수 있다.
while i < 5
print(i is {}.format(i))
i = i + 1
즉, 복수의 프로그래밍 언어는 모두 for 반복문 및 while 반복문을 포함하지만, 프로그래밍 언어 별로 표현되는 방식이 다르다. 본원은 이와 같이, 프로그래밍 언어 별로 다른 for 반복문 및 while 반복문의 표현 방식을 '반복 함수'(202)의 이미지 컴포넌트를 통해 손쉽게 표현되도록 할 수 있다.
도 2 및 도 3c를 참조하면, 이미지 로직 생성부(110)는 복수의 프로그래밍 언어 중 공통된 예약어에 해당하는 '프린트 함수'(211)에 대한 이미지 컴포넌트를 선택받을 수 있다. 여기서, 프린트 함수(202)는 복수의 프로그래밍 언어 중 print문에 관한 것일 수 있다.
일반적으로 print문은 괄호 속 문장을 출력하도록 하는 코드를 의미하며, 프로그래밍 언어에 따라 print문은 각각 다르게 표현될 수 있다.
예를 들어, 자바 및 C++ 언어의 경우, "aa" 및 "bb"를 출력하도록 하는 print문은 다음과 같이 표현될 수 있다.
if(true) {
System.out.println("aa");
if(true) {
System.out.println("bb");
}
}
다른 예를 들어, 파이썬의 경우, "aa" 및 "bb"를 출력되도록 하는 print문은 다음과 같이 표현될 수 있다.
if True :
print("aa")
if True :
print("bb")
즉, 복수의 프로그래밍 언어는 모두 print문을 포함하지만, 프로그래밍 언어 별로 표현되는 방식이 다르다. 본원은 이와 같이, 프로그래밍 언어 별로 다른 print문의 표현 방식을 '프린트 함수'(211)의 이미지 컴포넌트를 통해 손쉽게 표현되도록 할 수 있다.
다시 도 1로 돌아와서, 이미지 로직 생성부(110)는 선택된 적어도 하나의 이미지 컴포넌트에 대한 각각의 스크립트를 입력받아 이미지 로직(Image Logic)을 생성할 수 있다.
프로그래밍 언어 선택부(120)는 복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받을 수 있다. 특정 프로그래밍 언어를 선택받는 과정에 대해서는 도 4를 통해 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 프로그래밍 언어 개발 환경을 통해 특정 프로그래밍 언어를 선택받는 과정을 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, 이미지 로직 생성부(110)는 프로그래밍 언어 개발 환경(400)을 통해 이미지 컴포넌트 및 이미지 컴포넌트에 대해 작성된 스크립트에 기초하여 이미지 로직(410)을 생성할 수 있다. 여기서, 이미지 로직은 이미지 로직 플로우(Image Logic Flow) XML의 형식으로 표현된 것일 수 있다.
또는, 이미지 로직 생성부(110)는 프로그래밍 언어 개발 환경(400)을 통해 기생성된 이미지 로직(410)을 불러올 수도 있다.
프로그래밍 언어 선택부(120)는 이미지 로직(410)에 기초하여 생성될 복수의 프로그래밍 언어(420) 중 어느 하나의 특정 프로그래밍 언어를 선택받을 수 있다. 예를 들어, 프로그래밍 언어 선택부(120)는 자바, C, C++, 파이썬 등 중 어느 하나를 프로그래밍 언어로 선택받을 수 있다.
다시 도 1로 돌아와서, 점검부(130)는 이미지 로직에 오류가 포함되었는지 여부를 점검할 수 있다.
점검부(130)는 이미지 로직이 프로그래밍 언어 작성 규칙에 기초하여 생성되었는지를 점검할 수 있다.
이 때, 점검 결과, 이미지 로직이 상기 특정 프로그래밍 언어의 생성에 부적합한 것으로 판단된 경우, 이미지 로직 생성부(110)는 이미지 로직을 구성하는 적어도 하나의 이미지 컴포넌트 및 적어도 하나의 이미지 컴포넌트 각각의 스크립트에 대한 수정을 입력받을 수 있다.
이러한 과정을 통해, 이미지 로직에 대한 점검을 수행함으로써, 프로그래밍 상에 흐름에 문제가 있는지 없는지를 사전에 점검하고, 이미지 로직의 수정을 통해 프로그래밍 시 오류가 발생되지 않도록 할 수 있다.
프로그래밍 수행부(140)는 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행할 수 있다. 예를 들어, 프로그래밍 수행부(140)는 선택된 특정 프로그래밍 언어에 기초하여 이미지 로직이 자바, C 언어, C++ 언어, 파이썬 중 어느 하나의 프로그래밍 언어로 생성되도록 프로그래밍을 수행할 수 있다.
검증부(150)는 프로그래밍된 소스 코드를 검증할 수 있다.
시뮬레이션부(160)는 시뮬레이터를 이용하여 프로그래밍된 소스 코드에 기초하여 실행 파일이 동작되는지 여부를 시뮬레이션할 수 있다. 이를 통해, 개발자는 프로그래밍된 소스 코드의 기초하여 실행 파일의 동작 여부에 대한 시뮬레이션 결과를 확인할 수 있다.
저장부(170)는 프로그래밍된 소스 코드를 각 프로그래밍 언어별 데이터베이스에 저장할 수 있다. 이를 통해, 개발자가 언제든지 프로그래밍 언어별로 저장된 프로그래밍 언어의 소스 코드를 비교하여 재개발, 수정, 변환 등을 수행할 수 있다. 이러한 프로그래밍 소스 코드는 표준화된 데이터셋으로 구성될 수 있다. 이는, 이미지 컴포넌트가 복합 타입이라는 공통 오브젝트를 사용하며, 이를 어레이(Array) 구조의 스트럭쳐(Structure)로 가지고 있으며, 트리(tree) 구조 형태의 여러 개의 구조체를 포함하므로, 이를 통해, C++, 자바의 경우, Array vector arraylist 등과 같이 다양한 타임으로 전환 가능하도록 하며, 파이썬의 경우, 리스트(list)와 튜플(tuple)로 변환 가능하도록 할 수 있다. 이러한 구조체는 전환된 후, 나머지 정보가 DB2DB, DB2File 등으로 다양하게 전환되도록 할 수 있다.
도 5는 본 발명의 일 실시예에 따른 프로그래밍 언어 개발 환경 제공 장치에서 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 방법의 순서도이다. 도 5에 도시된 프로그래밍 언어 개발 환경 제공 장치(100)에서 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 방법은 도 1 내지 도 4에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4에 도시된 실시예에 따른 프로그래밍 언어 개발 환경 제공 장치(100)에서 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 방법에도 적용된다.
단계 S510에서 프로그래밍 언어 개발 환경 제공 장치(100)는 복수의 프로그래밍 언어 간의 공통된 예약어와 관련하여 적어도 하나의 이미지 컴포넌트를 선택받고, 선택된 적어도 하나의 이미지 컴포넌트(Image Component)에 대한 각각의 스크립트를 입력받아 이미지 로직을 생성할 수 있다.
단계 S520에서 프로그래밍 언어 개발 환경 제공 장치(100)는 복수의 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받을 수 있다.
단계 S530에서 프로그래밍 언어 개발 환경 제공 장치(100)는 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행할 수 있다.
상술한 설명에서, 단계 S510 내지 S530은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 5를 통해 설명된 프로그래밍 언어 개발 환경 제공 장치에서 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 5를 통해 설명된 프로그래밍 언어 개발 환경 제공 장치에서 복수의 프로그래밍 언어 간의 공통된 예약어와 관련된 이미지 컴포넌트에 기초하여 생성된 이미지 로직을 특정 프로그래밍 언어로 생성하기 위한 프로그래밍 언어 개발 환경을 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 프로그래밍 언어 개발 환경 제공 장치
110: 이미지 로직 생성부
120: 프로그래밍 언어 선택부
130: 점검부
140: 프로그래밍 수행부
150: 검증부
160: 시뮬레이션부
170: 저장부

Claims (14)

  1. 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치에 있어서,
    복수의 서로 다른 프로그래밍 언어 간의 공통된 예약어에 대하여 이미지 노테이션(image notation)이 정의된 적어도 하나의 이미지 컴포넌트(Image Component)를 선택받고, 상기 선택된 적어도 하나의 이미지 컴포넌트에 대하여 상기 복수의 프로그래밍 언어 별로 기 입력된 각각의 스크립트에 기초하여, 상기 선택된 적어도 하나의 이미지 컴포넌트로 구성되는 이미지 로직을 생성하는 이미지 로직 생성부;
    상기 복수의 서로 다른 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받는 프로그래밍 언어 선택부; 및
    상기 이미지 로직을 상기 선택된 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행하는 프로그래밍 수행부를 포함하는, 프로그래밍 언어 개발 환경 제공 장치.
  2. 제 1 항에 있어서,
    상기 프로그래밍을 수행하기 이전에,
    상기 이미지 로직에 오류가 포함되었는지 여부를 점검하고, 상기 이미지 로직이 프로그래밍 언어 작성 규칙에 기초하여 생성되었는지를 점검하는 점검부를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 장치.
  3. 제 2 항에 있어서,
    상기 이미지 로직 생성부는 상기 점검 결과, 상기 이미지 로직이 상기 특정 프로그래밍 언어의 생성에 부적합한 것으로 판단된 경우, 상기 이미지 로직을 구성하는 상기 적어도 하나의 이미지 컴포넌트 및 상기 적어도 하나의 이미지 컴포넌트 각각의 스크립트에 대한 수정을 입력받는 것인, 프로그래밍 언어 개발 환경 제공 장치.
  4. 제 1 항에 있어서,
    상기 프로그래밍된 소스 코드를 검증하는 검증부를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 장치.
  5. 제 1 항에 있어서,
    시뮬레이터를 이용하여 상기 프로그래밍된 소스 코드에 기초하여 실행 파일이 동작되는지 여부를 시뮬레이션하는 시뮬레이션부
    를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 장치.
  6. 제 1 항에 있어서,
    상기 복수의 서로 다른 프로그래밍 언어는 자바(JAVA), 파이썬(Python), C 언어 중 적어도 하나를 포함하는 것인, 프로그래밍 언어 개발 환경 제공 장치.
  7. 제 1 항에 있어서,
    상기 프로그래밍된 소스 코드를 각 프로그래밍 언어별 데이터베이스에 저장하는 저장부를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 장치.
  8. 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 방법에 있어서,
    복수의 서로 다른 프로그래밍 언어 간의 공통된 예약어에 대하여 이미지 노테이션(image notation)이 정의된 적어도 하나의 이미지 컴포넌트를 선택받고, 상기 선택된 적어도 하나의 이미지 컴포넌트(Image Component)에 대하여 상기 복수의 프로그래밍 언어 별로 기 입력된 각각의 스크립트에 기초하여, 상기 선택된 적어도 하나의 이미지 컴포넌트로 구성되는 이미지 로직을 생성하는 단계;
    상기 복수의 서로 다른 프로그래밍 언어 중 어느 하나의 특정 프로그래밍 언어를 선택받는 단계; 및
    상기 이미지 로직을 상기 선택된 특정 프로그래밍 언어로 생성하기 위한 프로그래밍을 수행하는 단계를 포함하는, 프로그래밍 언어 개발 환경 제공 방법.
  9. 제 8 항에 있어서,
    상기 프로그래밍을 수행하는 단계 이전에,
    상기 이미지 로직에 오류가 포함되었는지 여부를 점검하는 단계; 및
    상기 이미지 로직이 프로그래밍 언어 작성 규칙에 기초하여 생성되었는지를 점검하는 단계를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 방법.
  10. 제 9 항에 있어서,
    상기 점검 결과, 상기 이미지 로직이 상기 특정 프로그래밍 언어의 생성에 부적합한 것으로 판단된 경우, 상기 이미지 로직을 구성하는 상기 적어도 하나의 이미지 컴포넌트 및 상기 적어도 하나의 이미지 컴포넌트 각각의 스크립트에 대한 수정을 입력받는 단계를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 방법.
  11. 제 8 항에 있어서,
    상기 프로그래밍된 소스 코드를 검증하는 단계를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 방법.
  12. 제 8 항에 있어서,
    시뮬레이터를 이용하여 상기 프로그래밍된 소스 코드에 기초하여 실행 파일이 동작되는지 여부를 시뮬레이션하는 단계
    를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 방법.
  13. 제 8 항에 있어서,
    상기 복수의 서로 다른 프로그래밍 언어는 자바(JAVA), 파이썬(Python), C 언어 중 적어도 하나를 포함하는 것인, 프로그래밍 언어 개발 환경 제공 방법.
  14. 제 8 항에 있어서,
    상기 프로그래밍된 소스 코드를 각 프로그래밍 언어별 데이터베이스에 저장하는 단계를 더 포함하는 것인, 프로그래밍 언어 개발 환경 제공 방법.
KR1020210018869A 2021-02-10 2021-02-10 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법 KR102515698B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210018869A KR102515698B1 (ko) 2021-02-10 2021-02-10 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210018869A KR102515698B1 (ko) 2021-02-10 2021-02-10 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220115195A KR20220115195A (ko) 2022-08-17
KR102515698B1 true KR102515698B1 (ko) 2023-03-31

Family

ID=83110736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210018869A KR102515698B1 (ko) 2021-02-10 2021-02-10 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102515698B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352383B1 (ko) * 2011-11-16 2014-01-17 주식회사 한백전자 Vpl을 이용한 프로그램 개발 방법과 그 방법을 구현한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR20150099195A (ko) * 2014-02-21 2015-08-31 주식회사 넥스다임 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR20180097223A (ko) * 2017-02-23 2018-08-31 박도환 순서도 제작을 통해 코드가 자동생성되도록 매체에 저장된 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20220115195A (ko) 2022-08-17

Similar Documents

Publication Publication Date Title
García-Quismondo et al. An overview of P-Lingua 2.0
US20070016829A1 (en) Test case generator
CN110716870B (zh) 服务的自动化测试方法及装置
US7895575B2 (en) Apparatus and method for generating test driver
JP2012059026A (ja) ソースコード変換方法およびソースコード変換プログラム
KR20090092617A (ko) 프로세서 및 컴파일 방법
EP3443460B1 (en) Method, apparatus, and computer-readable medium for performing functional testing of software
CN110837362A (zh) 向导式可视的图形模块化的规则编辑方法、***及编辑器
Mak Writing compilers and interpreters: a software engineering approach
KR102546424B1 (ko) 학습용 데이터 생성 장치, 소스 코드 오류 분석 장치 및 방법
Skansholm Java from the Beginning
Daskalov et al. Hybrid visual programming language environment for programming training
KR102515698B1 (ko) 이미지 컴포넌트를 기초하여 복수의 프로그래밍 언어의 생성을 위한 컴포넌트 기반의 언어개발 환경을 제공하는 장치 및 방법
Sureshkumar et al. Ape: An ansprolog* environment
Eden et al. Round-trip engineering with the two-tier programming toolkit
Tarassow The potential of LLMs for coding with low-resource and domain-specific programming languages
Garg Cucumber Cookbook
Pracner et al. Enabling code transformations with FermaT on simplified bytecode
CN114564195A (zh) 一种基于b/s架构的云cad平台的二次开发方法
Arcaini et al. Unified syntax for abstract state machines
Steingartner et al. The visualization of a graph semantics of imperative languages
Essebaa et al. Model-based testing from model driven architecture: A novel approach for automatic test cases generation
CN113448851A (zh) 一种rust编程语言编译器的自动化测试方法及***
Grebing et al. Seamless interactive program verification
Boubekeur A Learning Corpus and Feedback Mechanism for a Domain Modeling Assistant

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant