KR101585048B1 - 다이어그램 기반 알고리즘 시뮬레이션 시스템 - Google Patents

다이어그램 기반 알고리즘 시뮬레이션 시스템 Download PDF

Info

Publication number
KR101585048B1
KR101585048B1 KR1020140044532A KR20140044532A KR101585048B1 KR 101585048 B1 KR101585048 B1 KR 101585048B1 KR 1020140044532 A KR1020140044532 A KR 1020140044532A KR 20140044532 A KR20140044532 A KR 20140044532A KR 101585048 B1 KR101585048 B1 KR 101585048B1
Authority
KR
South Korea
Prior art keywords
algorithm
diagram
simulation
parse tree
tree data
Prior art date
Application number
KR1020140044532A
Other languages
English (en)
Other versions
KR20150118686A (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 KR1020140044532A priority Critical patent/KR101585048B1/ko
Publication of KR20150118686A publication Critical patent/KR20150118686A/ko
Application granted granted Critical
Publication of KR101585048B1 publication Critical patent/KR101585048B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 다이어그램 기반 알고리즘 시뮬레이션 시스템에 관한 것으로서, 보다 구체적으로는 알고리즘 다이어그램(diagram)을 제작하고 제작된 알고리즘 다이어그램을 파스 트리 데이터(parse tree data)로 변환하거나, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 시뮬레이션 코어(simulation core) 모듈; 및 상기 시뮬레이션 코어 모듈에서 제작 또는 생성된 알고리즘 다이어그램을 디스플레이 하는 디스플레이 모듈을 포함하되, 상기 시뮬레이션 코어 모듈은, 블록 다이어그램이 저장된 내부 라이브러리(internal library)를 제공하고, 상기 블록 다이어그램을 이용해 유저의 입력 신호에 따라 알고리즘 다이어그램을 제작하는 시뮬레이션 UI(simulation UI); 및 상기 시뮬레이션 UI에서 제작된 알고리즘 다이어그램을 파스 트리 데이터로 변환하거나, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 시뮬레이션 제너레이터(simulation generator)를 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 다이어그램 기반 알고리즘 시뮬레이션 시스템에 따르면, 시뮬레이션 코어 모듈이 알고리즘 다이어그램(diagram)을 제작함으로써, 직관적인 시뮬레이션 방식으로 알고리즘을 설계할 수 있고, 제작된 알고리즘 다이어그램을 파스 트리 데이터(parse tree data)로 변환함으로써, 설계된 알고리즘을 다양한 언어를 사용하는 소프트웨어에서 활용할 수 있다.
또한, 본 발명에 따르면, 시뮬레이션 코어 모듈이 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 자동 생성함으로써, 소스 코드로부터 얻어지는 파스 트리 데이터를 알고리즘 다이어그램으로 나타낼 수 있으므로 소스코드의 알고리즘 이해도를 향상시킬 수 있다.
뿐만 아니라, 본 발명에 따르면, 파스 트리 데이터를 실행하는 플레이어를 포함하는 커널 모듈에 파스 트리 데이터를 전송하여 실행함으로써, 알고리즘 다이어그램 제작을 통해 생성된 파스 트리 데이터를 신속하고 편리하게 실행할 수 있다.

Description

다이어그램 기반 알고리즘 시뮬레이션 시스템{ALGORITHM SIMULATION SYSTEM BASED ON DIAGRAM}
본 발명은 알고리즘 시뮬레이션 시스템에 관한 것으로서, 보다 구체적으로는 다이어그램 기반 알고리즘 시뮬레이션 시스템에 관한 것이다.
컴퓨터 프로그램은 컴퓨터 또는 프로세서-기반 장치에 의해 수행될 동작들을 설명하는 명령어들의 목록이다. 컴퓨터 프로그램이 컴퓨터 하드웨어에 로드되어 실행될 때, 컴퓨터는 컴퓨터 프로그램의 명령어들을 따름으로써 미리 결정된 방식으로 동작할 것이다. 따라서 컴퓨터 프로그램은 컴퓨터를 명령어들에 의해 미리 정해진 동작들을 수행하는 특화된 기계로 만든다.
프로그래밍 언어는 통상적으로 언어의 특성 및 특징에 기초한 범주들로 분류된다. 예를 들어, C는 절차형(procedural) 프로그래밍 언어로 설명되는데, 이는 그것이 모듈성(modularity) 및 프로시저 호출의 개념에 기초하기 때문이다. C# 및 Java는 개체 클래스와 같은 프로그램 코드의 생성 및 조작 범위(Scope)에 맞춰진 개체지향 프로그래밍 언어들이다. SQL(Structured Query Language) 및 XPath를 포함하는 데이터 중심 언어들은 관계형 또는 XML(Extensible Markup Language) 데이터와 같은 저장된 데이터의 검색 및 조작에 맞춰진 것이다. 이러한 특화의 결과로서, 개별 프로그래밍 언어들은 응용 분야에 따라 장단점들을 갖는다.
현재의 프로그래머들은 종종 그들이 충분한 경험을 갖고 있는 특정 언어나 프로젝트의 가장 비중 있는 부분에 적합한 특정 언어로 컴퓨터 프로그램을 개발하는 것을 선호한다. 따라서 응용 분야와 개발자의 성향에 따라 사용되는 언어는 다양할 수밖에 없다.
이학, 공학 분야에서는 다양한 수치연산 소프트웨어가 사용되며, 이와 같은 수치연산 소프트웨어에서 사용되는 언어와 함수들을 익히는 데 상당한 노력과 시간이 소요된다. 특정 언어로 작성된 소스코드는 코드의 길이가 길고 복잡할수록 코드 작성자 이외에는 알고리즘 내용을 이해하기 어려운 단점이 있다.
이와 관련된 선행 기술로서, 텍스트 기반의 IL 언어, 기호 기반의 LD 언어와는 달리, PLC 프로그램의 전체 구조를 쉽게 이해하고 작성할 수 있도록 하며, 텍스트 기반의 PLC 언어와는 달리, 조건식 및 수식을 간단히 처리할 수 있도록 하는, PLC 제어 프로그램 설계방법 및 그를 이용한 설계 시스템이 개시된바 있다(공개특허 제10-2010-0096554호). 그러나 이와 같은 선행 기술은, 특정 언어에 국한되어 있는 한계가 있어 다양한 언어에 적용이 불가능하고, 활용 범위가 협소한 문제가 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 시뮬레이션 코어 모듈이 알고리즘 다이어그램(diagram)을 제작함으로써, 직관적인 시뮬레이션 방식으로 알고리즘을 설계할 수 있고, 제작된 알고리즘 다이어그램을 파스 트리 데이터(parse tree data)로 변환함으로써, 설계된 알고리즘을 다양한 언어를 사용하는 소프트웨어에서 활용할 수 있는, 다이어그램 기반 알고리즘 시뮬레이션 시스템을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은, 시뮬레이션 코어 모듈이 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 자동 생성함으로써, 소스 코드로부터 얻어지는 파스 트리 데이터를 알고리즘 다이어그램으로 나타낼 수 있으므로 소스코드의 알고리즘 이해도를 향상시킬 수 있는, 다이어그램 기반 알고리즘 시뮬레이션 시스템을 제공하는 것을 다른 목적으로 한다.
뿐만 아니라, 본 발명은, 파스 트리 데이터를 실행하는 플레이어를 포함하는 커널 모듈에 파스 트리 데이터를 전송하여 실행함으로써, 알고리즘 다이어그램 제작을 통해 생성된 파스 트리 데이터를 신속하고 편리하게 실행할 수 있는, 다이어그램 기반 알고리즘 시뮬레이션 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템은,
알고리즘 다이어그램(diagram)을 제작하고 제작된 알고리즘 다이어그램을 파스 트리 데이터(parse tree data)로 변환하거나, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 시뮬레이션 코어(simulation core) 모듈; 및
상기 시뮬레이션 코어 모듈에서 제작 또는 생성된 알고리즘 다이어그램을 디스플레이 하는 디스플레이 모듈을 포함하되,
상기 시뮬레이션 코어 모듈은,
블록 다이어그램이 저장된 내부 라이브러리(internal library)를 제공하고, 상기 블록 다이어그램을 이용해 유저의 입력 신호에 따라 알고리즘 다이어그램을 제작하는 시뮬레이션 UI(simulation UI); 및
상기 시뮬레이션 UI에서 제작된 알고리즘 다이어그램을 파스 트리 데이터로 변환하거나, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 시뮬레이션 제너레이터(simulation generator)를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 시뮬레이션 UI는,
유저에 의해 정의된 블록 다이어그램이 저장된 외부 라이브러리(external library)를 더 이용하여 상기 알고리즘 다이어그램을 제작할 수 있다.
바람직하게는, 상기 시뮬레이션 UI는,
상기 알고리즘 다이어그램의 위치 정보를 파일(file)에 저장할 수 있다.
바람직하게는, 상기 시뮬레이션 제너레이터는,
상기 알고리즘 다이어그램을 파스 트리 데이터로 변환하고, 상기 변환된 파스 트리 데이터를 시리얼 데이터 형태로 파일에 저장할 수 있다.
바람직하게는, 상기 시뮬레이션 제너레이터는,
파스 트리 데이터를 실행하는 플레이어를 포함하는 커널 모듈에 상기 변환된 파스 트리 데이터를 전송하여 실행할 수 있다.
더욱 바람직하게는, 상기 디스플레이 모듈은,
상기 커널 모듈로부터 실행 결과를 수신하여 디스플레이하는 그래픽 툴을 포함할 수 있다.
본 발명에서 제안하고 있는 다이어그램 기반 알고리즘 시뮬레이션 시스템에 따르면, 시뮬레이션 코어 모듈이 알고리즘 다이어그램(diagram)을 제작함으로써, 직관적인 시뮬레이션 방식으로 알고리즘을 설계할 수 있고, 제작된 알고리즘 다이어그램을 파스 트리 데이터(parse tree data)로 변환함으로써, 설계된 알고리즘을 다양한 언어를 사용하는 소프트웨어에서 활용할 수 있다.
또한, 본 발명에 따르면, 시뮬레이션 코어 모듈이 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 자동 생성함으로써, 소스 코드로부터 얻어지는 파스 트리 데이터를 알고리즘 다이어그램으로 나타낼 수 있으므로 소스코드의 알고리즘 이해도를 향상시킬 수 있다.
뿐만 아니라, 본 발명에 따르면, 파스 트리 데이터를 실행하는 플레이어를 포함하는 커널 모듈에 파스 트리 데이터를 전송하여 실행함으로써, 알고리즘 다이어그램 제작을 통해 생성된 파스 트리 데이터를 신속하고 편리하게 실행할 수 있다.
도 1은 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서, 시뮬레이션 코어 모듈의 세부적인 구성을 도시한 도면.
도 3은 프로그래밍 언어로 작성된 코드의 데이터 구조를 도시한 도면.
도 4는 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서, 디스플레이 모듈의 세부적인 구성을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서, 파일의 세부적인 구성을 도시한 도면.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’ 되어 있다고 할 때, 이는 ‘직접적으로 연결’ 되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’ 되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’ 한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템은, 시뮬레이션 코어 모듈(simulation core module)(100) 및 디스플레이 모듈(display module)(200)을 포함하여 구성될 수 있으며, 파일(file)(300)를 더 포함하여 구성될 수 있다.
즉, 본 발명은, 시뮬레이션 코어 모듈(100)이 알고리즘 다이어그램(algorithm diagram)(10)을 제작하고, 제작된 알고리즘 다이어그램(10)을 파스 트리 데이터(parse tree data)(20)로 변환하며, 디스플레이 모듈(200)을 통해 제작되는 알고리즘 다이어그램(10)을 출력함으로써, 직관적인 시뮬레이션 방식으로 알고리즘을 쉽게 설계하고, 다양한 언어에서 공통적인 구조를 가지는 파스 트리 데이터(20)로 변환하여 설계된 알고리즘을 다양한 언어를 사용하는 소프트웨어에서 활용할 수 있다. 또한, 시뮬레이션 코어 모듈(100)이 파스 트리 데이터(20)를 기반으로 알고리즘 다이어그램(10)을 자동 생성함으로써, 소스 코드로부터 얻어지는 파스 트리 데이터(20)를 알고리즘 다이어그램(10)으로 나타낼 수 있으므로 소스코드의 알고리즘 이해도를 향상시킬 수 있다.
뿐만 아니라, 플레이어(player)를 포함하는 커널 모듈(kernel module)(400)에 파스 트리 데이터(20)를 전송함으로써, 시뮬레이션 코어 모듈(100)을 이용해 제작한 알고리즘 다이어그램(10)을 커널 모듈(400)을 통해 신속하게 실행해볼 수 있다.
본 발명에서, 알고리즘 다이어그램(10)은 프로그램 코드를 순서도 형태로 나타낸 것으로서, 프로그램의 흐름을 나타낼 수 있다. 알고리즘 다이어그램(10)은 프로그램 명령어를 나타내는 복수의 블록 다이어그램(block diagram)으로 구성될 수 있다.
이하에서는, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템을 구성하는 각 구성요소에 대하여 상세히 설명하도록 한다.
시뮬레이션 코어 모듈(100)은, 알고리즘 다이어그램(10)을 제작하고 제작된 알고리즘 다이어그램(10)을 파스 트리 데이터(20)로 변환하거나, 파스 트리 데이터(20)를 기반으로 알고리즘 다이어그램(10)을 자동 생성할 수 있다. 이하에서는, 도 2를 참조하여 시뮬레이션 코어 모듈(100)의 세부적인 구성에 대하여 상세히 설명하도록 한다.
도 2는 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서, 시뮬레이션 코어 모듈(100)의 세부적인 구성을 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템의 시뮬레이션 코어 모듈(100)은, 시뮬레이션 UI(simulation UI)(110) 및 시뮬레이션 제너레이터(simulation generator)(120)를 포함하여 구성될 수 있으며, 내부 라이브러리(internal library)(130)를 더 포함하여 구성될 수 있다.
시뮬레이션 UI(110)는, 블록 다이어그램이 저장된 내부 라이브러리(130)를 제공하고, 블록 다이어그램을 이용해 유저의 입력 신호에 따라 알고리즘 다이어그램(10)을 제작할 수 있다. 본 발명의 내부 라이브러리(130)는 미리 작성된 복수의 블록 다이어그램을 저장할 수 있으며, 블록 다이어그램은 알고리즘 다이어그램(10)의 작성을 위한 것으로서, 조건문, 실행문, 수식 등을 처리하기 위한 명령어에 해당하는 것일 수 있다.
또한, 시뮬레이션 UI(110)는, 유저에 의해 정의된 블록 다이어그램이 저장된 외부 라이브러리(external library)를 더 이용하여 알고리즘 다이어그램(10)을 제작할 수 있다. 즉, 외부 라이브러리는, 시뮬레이션 코어 모듈(100)의 외부에 위치하며, 내부 라이브러리(130)에 저장되어 있지 않은 블록 다이어그램의 입력을 위한 구성일 수 있다. 시뮬레이션 UI(110)는 외부 라이브러리를 허용함으로써, 유저가 원하는 내용과 형식의 블록 다이어그램을 미리 정해진 형식에 따라 정의하여 외부 라이브러리에 저장하고 알고리즘 다이어그램(10) 제작 시에 활용할 수 있다.
한편, 시뮬레이션 UI(110)는, 내부 라이브러리(130) 또는 외부 라이브러리에 저장된 블록 다이어그램에 대한 유저의 드래그 앤 드롭(drag and drop) 신호에 따라, 알고리즘 다이어그램(10)을 제작할 수 있다. 즉, 시뮬레이션 UI(110)는, 유저가 알고리즘 다이어그램(10)을 쉽게 제작할 수 있도록 인터페이스를 제공할 수 있으며, 유저는 제공된 블록 다이어그램 중 어느 하나를 드래그 앤 드롭 방식으로 레이어의 적절한 위치에 삽입함으로써, 알고리즘 다이어그램(10)을 제작할 수 있다.
또한, 시뮬레이션 UI(110)는 레이어에 추가된 블록 다이어그램에 유저가 구체적인 변수, 수식, 실행문 등을 입력할 수 있도록, 입력 인터페이스를 제공할 수 있다. 입력한 변수, 수식, 실행문 등이나 블록 다이어그램은, 유저의 입력 신호에 따라 삭제, 이동, 변경 등 수정을 할 수 있다.
이와 같이, 시뮬레이션 UI(110)는 알고리즘 다이어그램(10)의 제작에 필요한 각종 인터페이스를 제공함으로써, 유저가 편리하게 알고리즘을 구상하고 다이어그램으로 작성할 수 있도록 하여, 유저의 편의를 증진시킬 수 있다.
시뮬레이션 제너레이터(120)는, 시뮬레이션 UI(110)에서 제작된 알고리즘 다이어그램(10)을 파스 트리 데이터(20)로 변환하거나, 파스 트리 데이터(20)를 기반으로 알고리즘 다이어그램(10)을 생성할 수 있다. 즉, 시뮬레이션 제너레이터(120)는, 알고리즘 다이어그램(10)과 파스 트리 데이터(20)를 상호 변환할 수 있다.
도 3은 프로그래밍 언어로 작성된 코드의 데이터 구조를 도시한 도면이다. 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템의 시뮬레이션 제너레이터(120)는, 알고리즘 다이어그램(10)을 도 3의 우측에 도시된 바와 같은 구조의 파스 트리 데이터로 변환할 수 있는데, 이 파스 트리 구조는 알고리즘 자체로서 모든 언어의 공통된 형태이다. 시뮬레이션 제너레이터(120)는, 알고리즘 다이어그램(10)을 이와 같은 유일한 파스 트리 구조를 갖는 파스 트리 데이터(20)로 변환함으로써, 프로그래밍 언어 간의 계산 표현의 장벽을 허물고 시뮬레이션 UI(110)에서 제작된 알고리즘 다이어그램(10)을 다양한 소프트웨어에서 활용할 수 있는 형태로 변환할 수 있다.
한편, 시뮬레이션 제너레이터(120)는, 파스 트리 데이터(20)를 실행하는 플레이어를 포함하는 커널 모듈(400)에 변환된 파스 트리 데이터(20)를 전송하여 실행할 수 있다. 커널 모듈(400)을 통해 파스 트리 데이터(20)를 실행할 수 있기 때문에, 유저는 시뮬레이션 UI(110)에서 알고리즘 다이어그램(10) 형태로 구성한 프로그램을 즉시 실행하여 결과를 확인하고, 그 오류 등을 신속하게 바로잡을 수 있어, 프로그램의 작성에 필요한 노력을 절감할 수 있다.
또한, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템은, 궁극적으로 동일한 구조를 갖는 파스 트리 데이터(20)를 생성하기 때문에, 파스 트리 데이터(20)를 이용해 알고리즘 다이어그램(10)을 다양한 프로그래밍 언어로 된 소스코드로 변환할 수도 있다.
디스플레이 모듈(200)은, 시뮬레이션 코어 모듈(100)에서 제작 또는 생성된 알고리즘 다이어그램(10)을 디스플레이할 수 있다. 즉, 디스플레이 모듈(200)은, 시뮬레이션 UI(110)와의 정보 교환을 통해, 시뮬레이션 UI(110)에서 제작되는 알고리즘 다이어그램(10)의 제작 및 변경 상태 등을 실시간으로 출력할 수 있다.
도 4는 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서, 디스플레이 모듈(200)의 세부적인 구성을 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템의 디스플레이 모듈(200)은, 그래픽 툴(210)을 더 포함하여 구성될 수 있다.
그래픽 툴(210)은, 시뮬레이션 UI(110)로부터 알고리즘 다이어그램(10)을 수신하여 시각적으로 디스플레이할 수 있다. 또한, 디스플레이 모듈(200)은, 커널 모듈(400)로부터 실행 결과를 수신하여 그래픽 툴(210)을 이용해 디스플레이할 수 있다.
한편, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서는, 프로그래밍 언어의 처리를 위한 시스템의 커널 모듈(400)에 파스 트리 데이터(20)를 전송하여 실행할 수 있으며, 시뮬레이션 제너레이터(120)가 커널 모듈(400)로부터 파스 트리 데이터(20)를 수신하여 알고리즘 다이어그램(10)으로 제작할 수도 있다.
커널 모듈(400)에 포함된 플레이어(410)는 파스 트리 데이터(20)를 실행함으로써, 알고리즘 다이어그램(10)의 계산 결과를 신속하게 확인해 볼 수 있다. 또한, 플레이어(410)는 외부 라이브러리 등을 이용하여 동작할 수 있다.
또한, 도 4에 도시된 바와 같이, 커널 모듈(400)은 디버거(debugger)(420)를 더 포함할 수 있다. 디버거(420)는 알고리즘의 오류를 추적하기 위한 모듈로서, 파스 트리 데이터(20)에서 버그를 찾아낼 수 있다. 디버거(420)는 플레이어(410)와 실행 기능은 동일하지만, 파스 트리 노드에 실행 중단점을 가진다. 따라서 디버거(420)는 사용자가 특정 트리 노드를 선택적으로 실행해 가면서 계산 오류 위치를 파악하도록 도울 수 있다.
파일(300)은, 알고리즘 다이어그램(10)을 변환한 파스 트리 데이터(20)를 시리얼 데이터 형태로 저장할 수 있으며, 알고리즘 다이어그램(10)의 위치 정보를 저장할 수 있다. 즉, 시뮬레이션 제너레이터(120)는, 알고리즘 다이어그램(10)을 파스 트리 데이터(20)로 변환하고, 변환된 파스 트리 데이터(20)를 시리얼 데이터 형태로 파일(300)에 저장할 수 있다. 또한, 시뮬레이션 UI(110)는, 알고리즘 다이어그램(10)의 위치 정보를 파일(300)에 저장할 수 있다.
시뮬레이션 제너레이터(120)가 알고리즘 다이어그램(10)을 파스 트리 데이터(20)로 변환하면, 알고리즘 다이어그램(10)의 위치 정보, 즉 알고리즘 다이어그램(10)을 구성하는 블록 다이어그램들의 위치 정보가 손실되므로, 시뮬레이션 UI(110)에서 위치 정보를 별도로 파일(300)에 저장할 수 있다.
도 5는 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템에서, 파일(300)의 세부적인 구성을 도시한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 다이어그램 기반 알고리즘 시뮬레이션 시스템의 파일(300)은, csv(comma separated value) 형태로 위치 정보를 저장할 수 있다. 시뮬레이션 UI(110)가 이전에 작업한 알고리즘 다이어그램(10)을 불어 들여올 때에는, 시리얼 데이터 형태의 파스 트리 데이터(20)와 csv 형태의 위치 정보를 이용해 불어들일 수 있다.
또한, 도 5에 도시된 바와 같이, 파일(300)은 사용자에 의해 정의된 블록 다이어그램 등이 저장된 외부 라이브러리를 더 포함할 수 있으며, 외부 라이브러리를 시뮬레이션 UI(110)에 제공함으로써, 알고리즘 다이어그램(10)의 제작 시 이용하도록 할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
10: 알고리즘 다이어그램 20: 파스 트리 데이터
100: 시뮬레이션 코어 모듈 110: 시뮬레이션 UI
120: 시뮬레이션 제너레이터 130: 내부 라이브러리
200: 디스플레이 모듈 210: 그래픽 툴
300: 파일 400: 커널 모듈
410: 플레이어 420: 디버거

Claims (6)

  1. 시뮬레이션 시스템으로서,
    알고리즘 다이어그램(diagram)(10)을 제작하고 제작된 알고리즘 다이어그램(10)을 파스 트리 데이터(parse tree data)(20)로 변환하거나, 파스 트리 데이터(20)를 기반으로 알고리즘 다이어그램(10)을 생성하는 시뮬레이션 코어(simulation core) 모듈(100); 및
    상기 시뮬레이션 코어 모듈(100)에서 제작 또는 생성된 알고리즘 다이어그램(10)을 디스플레이 하는 디스플레이 모듈(200)을 포함하되,
    상기 시뮬레이션 코어 모듈(100)은,
    블록 다이어그램이 저장된 내부 라이브러리(internal library)(130)를 제공하고, 상기 블록 다이어그램을 이용해 유저의 입력 신호에 따라 알고리즘 다이어그램(10)을 제작하는 시뮬레이션 UI(simulation UI)(110); 및
    상기 시뮬레이션 UI(110)에서 제작된 알고리즘 다이어그램(10)을 파스 트리 데이터(20)로 변환하거나, 파스 트리 데이터(20)를 기반으로 알고리즘 다이어그램(10)을 생성하는 시뮬레이션 제너레이터(simulation generator)(120)를 포함하며,
    상기 시뮬레이션 제너레이터(120)는,
    파스 트리 데이터(20)를 실행하는 플레이어(410)를 포함하는 커널 모듈(400)에 상기 변환된 파스 트리 데이터(20)를 전송하여 실행하는 것을 특징으로 하는, 다이어그램 기반 알고리즘 시뮬레이션 시스템.
  2. 제1항에 있어서, 상기 시뮬레이션 UI(110)는,
    유저에 의해 정의된 블록 다이어그램이 저장된 외부 라이브러리(external library)를 더 이용하여 상기 알고리즘 다이어그램(10)을 제작하는 것을 특징으로 하는, 다이어그램 기반 알고리즘 시뮬레이션 시스템.
  3. 제1항에 있어서, 상기 시뮬레이션 UI(110)는,
    상기 알고리즘 다이어그램(10)의 위치 정보를 파일(file)(300)에 저장하는 것을 특징으로 하는, 다이어그램 기반 알고리즘 시뮬레이션 시스템.
  4. 제1항에 있어서, 상기 시뮬레이션 제너레이터(120)는,
    상기 알고리즘 다이어그램(10)을 파스 트리 데이터(20)로 변환하고, 상기 변환된 파스 트리 데이터(20)를 시리얼 데이터 형태로 파일(300)에 저장하는 것을 특징으로 하는, 다이어그램 기반 알고리즘 시뮬레이션 시스템.
  5. 삭제
  6. 제1항에 있어서, 상기 디스플레이 모듈(200)은,
    상기 커널 모듈(400)로부터 실행 결과를 수신하여 디스플레이하는 그래픽 툴(210)을 포함하는 것을 특징으로 하는, 다이어그램 기반 알고리즘 시뮬레이션 시스템.
KR1020140044532A 2014-04-15 2014-04-15 다이어그램 기반 알고리즘 시뮬레이션 시스템 KR101585048B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140044532A KR101585048B1 (ko) 2014-04-15 2014-04-15 다이어그램 기반 알고리즘 시뮬레이션 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140044532A KR101585048B1 (ko) 2014-04-15 2014-04-15 다이어그램 기반 알고리즘 시뮬레이션 시스템

Publications (2)

Publication Number Publication Date
KR20150118686A KR20150118686A (ko) 2015-10-23
KR101585048B1 true KR101585048B1 (ko) 2016-01-13

Family

ID=54427165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140044532A KR101585048B1 (ko) 2014-04-15 2014-04-15 다이어그램 기반 알고리즘 시뮬레이션 시스템

Country Status (1)

Country Link
KR (1) KR101585048B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200082398A (ko) 2018-12-28 2020-07-08 포스 크리에이티브 파티(주) 특수효과 영상을 위한 자동 이펙트 시뮬레이션 연산시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829758B1 (en) 2000-07-14 2004-12-07 Nokia Internet Communications, Inc. Interface markup language and method for making application code
JP2007183785A (ja) * 2006-01-06 2007-07-19 Fuji Electric Holdings Co Ltd プログラムツリー表示方法、プログラム生成装置、およびプログラム生成プログラム
KR101117945B1 (ko) * 2003-03-06 2012-08-09 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형 애플리케이션의 자동화된 설계, 배치 및 관리

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829758B1 (en) 2000-07-14 2004-12-07 Nokia Internet Communications, Inc. Interface markup language and method for making application code
KR101117945B1 (ko) * 2003-03-06 2012-08-09 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형 애플리케이션의 자동화된 설계, 배치 및 관리
JP2007183785A (ja) * 2006-01-06 2007-07-19 Fuji Electric Holdings Co Ltd プログラムツリー表示方法、プログラム生成装置、およびプログラム生成プログラム

Also Published As

Publication number Publication date
KR20150118686A (ko) 2015-10-23

Similar Documents

Publication Publication Date Title
US9639332B2 (en) Applying coding standards in graphical programming environments
US8819629B2 (en) Automatically generating documentation on application programming interfaces
US9513880B2 (en) Graphical function specialization
US9418230B2 (en) Automated tools for building secure software programs
CN111831272B (zh) 一种采用图形化的开发的方法、介质、设备和装置
Bisht Robot framework test automation
Julius et al. Transformation of GRAFCET to PLC code including hierarchical structures
US9880815B2 (en) SQL visualizer
KR101623174B1 (ko) 소스 코드 분석 장치, 이를 위한 컴퓨터 프로그램, 그 기록매체
US20140359572A1 (en) System and method for providing code completion features for code modules
Garzón et al. Umple: A framework for model driven development of object-oriented systems
WO2014200783A1 (en) Automatic source code generation
US10379821B1 (en) Optimization tracing
CN111078217A (zh) 脑图生成方法、装置和计算机可读存储介质
Wimmer et al. A Petri Net based debugging environment for QVT Relations
KR101585048B1 (ko) 다이어그램 기반 알고리즘 시뮬레이션 시스템
US20170371852A1 (en) System and method for in-browser editing
Luckow et al. Symbolic pathfinder v7
Kosower et al. Flowgen: Flowchart-based documentation framework for c++
KR101585044B1 (ko) 프로그래밍 언어 통합 처리 시스템
GB2510866A (en) Computer code editor
Korenkov et al. PEG-based language workbench
Hempel et al. Tiny Structure Editors for Low, Low Prices!
Garzón et al. Exploring how to develop transformations and tools for automated umplification
US20240354068A1 (en) Video analytics pipeline development system with assistive feedback and annotation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191205

Year of fee payment: 5