KR101602658B1 - 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈 - Google Patents

알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈 Download PDF

Info

Publication number
KR101602658B1
KR101602658B1 KR1020140044538A KR20140044538A KR101602658B1 KR 101602658 B1 KR101602658 B1 KR 101602658B1 KR 1020140044538 A KR1020140044538 A KR 1020140044538A KR 20140044538 A KR20140044538 A KR 20140044538A KR 101602658 B1 KR101602658 B1 KR 101602658B1
Authority
KR
South Korea
Prior art keywords
diagram
algorithm
block diagram
tree data
parse tree
Prior art date
Application number
KR1020140044538A
Other languages
English (en)
Other versions
KR20150118690A (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 KR1020140044538A priority Critical patent/KR101602658B1/ko
Publication of KR20150118690A publication Critical patent/KR20150118690A/ko
Application granted granted Critical
Publication of KR101602658B1 publication Critical patent/KR101602658B1/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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에 관한 것으로서, 보다 구체적으로는 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 알고리즘 시뮬레이션 시스템의 다이어그램 자동 정렬 모듈로서, 상기 파스 트리 데이터의 최하단 정보부터 레벨을 부여하며, 상기 부여된 레벨에서 변수의 개수만큼 레이어를 생성하여, 상기 파스 트리 데이터를 구성하는 정보에 레벨 및 레이어를 할당하는 레벨 측정부; 상기 할당된 레벨 및 레이어를 이용하여 그리드 위에 상기 정보를 나타내는 블록 다이어그램을 배치하며, 상기 파스 트리 데이터를 이용하여 상기 블록 다이어그램을 선으로 연결하여 알고리즘 다이어그램을 생성하는 그리드 정렬부; 및 공간분할법을 이용하여 상기 알고리즘 다이어그램을 구성하는 블록 다이어그램을 재배치하여 알고리즘 다이어그램을 완성하는 최적 배치부를 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에 따르면, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하되, 알고리즘 다이어그램을 구성하는 블록 다이어그램을 내부 최적화 알고리즘에 따라 최적의 위치에 정렬함으로써, 블록 다이어그램에 대한 별다른 조작 없이 알고리즘 다이어그램을 신속하고 편리하게 완성할 수 있으며, 완성된 알고리즘 다이어그램을 통해 소스코드의 이해도 및 직관성을 향상시킬 수 있다.

Description

알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈{DIAGRAM AUTOMATIC ALIGNMENT MODULE FOR ALGORITHM SIMULATION SYSTEM}
본 발명은 다이어그램 자동 정렬 모듈에 관한 것으로서, 보다 구체적으로는 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에 관한 것이다.
컴퓨터 프로그램은 컴퓨터 또는 프로세서-기반 장치에 의해 수행될 동작들을 설명하는 명령어들의 목록이다. 컴퓨터 프로그램이 컴퓨터 하드웨어에 로드되어 실행될 때, 컴퓨터는 컴퓨터 프로그램의 명령어들을 따름으로써 미리 결정된 방식으로 동작할 것이다. 따라서 컴퓨터 프로그램은 컴퓨터를 명령어들에 의해 미리 정해진 동작들을 수행하는 특화된 기계로 만든다.
프로그래밍 언어는 통상적으로 언어의 특성 및 특징에 기초한 범주들로 분류된다. 예를 들어, C는 절차형(procedural) 프로그래밍 언어로 설명되는데, 이는 그것이 모듈성(modularity) 및 프로시저 호출의 개념에 기초하기 때문이다. C# 및 Java는 개체 클래스와 같은 프로그램 코드의 생성 및 조작 범위(Scope)에 맞춰진 개체지향 프로그래밍 언어들이다. SQL(Structured Query Language) 및 XPath를 포함하는 데이터 중심 언어들은 관계형 또는 XML(Extensible Markup Language) 데이터와 같은 저장된 데이터의 검색 및 조작에 맞춰진 것이다. 이러한 특화의 결과로서, 개별 프로그래밍 언어들은 응용 분야에 따라 장단점들을 갖는다.
현재의 프로그래머들은 종종 그들이 충분한 경험을 갖고 있는 특정 언어나 프로젝트의 가장 비중 있는 부분에 적합한 특정 언어로 컴퓨터 프로그램을 개발하는 것을 선호한다. 따라서 응용 분야와 개발자의 성향에 따라 사용되는 언어는 다양할 수밖에 없다.
이학, 공학 분야에서는 다양한 수치연산 소프트웨어가 사용되며, 이와 같은 수치연산 소프트웨어에서 사용되는 언어와 함수들을 익히는 데 상당한 노력과 시간이 소요된다. 특정 언어로 작성된 소스코드는 코드의 길이가 길고 복잡할수록 코드 작성자 이외에는 알고리즘 내용을 이해하기 어려운 단점이 있다. 이를 해결하기 위하여, 사용자는 자신이 생각하고 있는 수학적 알고리즘을 다이어그램을 통해 표현함으로써, 알고리즘에 대한 직관적 표현과 이해를 향상시킬 수 있다. 그러나 소스코드에는 다이어그램 생성을 위한 그래픽 정보가 없으므로, 소스코드를 이해하고 있는 사용자가 알고리즘 다이어그램을 작성할 때, 다이어그램 블록의 위치나 크기와 같은 정보를 마우스를 사용하여 직접 지정해야하는 번거로운 문제가 있다.
이와 관련된 선행 기술로서, 텍스트 기반의 IL 언어, 기호 기반의 LD 언어와는 달리, PLC 프로그램의 전체 구조를 쉽게 이해하고 작성할 수 있도록 하며, 텍스트 기반의 PLC 언어와는 달리, 조건식 및 수식을 간단히 처리할 수 있도록 하는, PLC 제어 프로그램 설계방법 및 그를 이용한 설계 시스템이 개시된바 있다(공개특허 제10-2010-0096554호). 그러나 이와 같은 선행 기술은, 이미 설계된 프로그램을 이해하기 위해 알고리즘 다이어그램을 생성하는 데에 사용할 수는 없으며, 특정 시스템이나 언어에 국한되어 있는 한계가 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하되, 알고리즘 다이어그램을 구성하는 블록 다이어그램을 내부 최적화 알고리즘에 따라 최적의 위치에 정렬함으로써, 블록 다이어그램에 대한 별다른 조작 없이 알고리즘 다이어그램을 신속하고 편리하게 완성할 수 있으며, 완성된 알고리즘 다이어그램을 통해 소스코드의 이해도 및 직관성을 향상시킬 수 있는, 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈은,
파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 알고리즘 시뮬레이션 시스템의 다이어그램 자동 정렬 모듈로서,
상기 파스 트리 데이터의 최하단 정보부터 레벨을 부여하며, 상기 부여된 레벨에서 변수의 개수만큼 레이어를 생성하여, 상기 파스 트리 데이터를 구성하는 정보에 레벨 및 레이어를 할당하는 레벨 측정부;
상기 할당된 레벨 및 레이어를 이용하여 그리드 위에 상기 정보를 나타내는 블록 다이어그램을 배치하며, 상기 파스 트리 데이터를 이용하여 상기 블록 다이어그램을 선으로 연결하여 알고리즘 다이어그램을 생성하는 그리드 정렬부; 및
공간분할법을 이용하여 상기 알고리즘 다이어그램을 구성하는 블록 다이어그램을 재배치하여 알고리즘 다이어그램을 완성하는 최적 배치부를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 레벨 측정부는,
상기 파스 트리 데이터를 구성하는 연산자에 독립적인 레벨을 부여할 수 있다.
바람직하게는, 상기 그리드 정렬부는,
상기 레벨을 나타내는 선과 상기 레이어를 나타내는 선이 상호 교차된 격자무늬의 그리드 위에 상기 블록 다이어그램을 배치할 수 있다.
바람직하게는, 상기 최적 배치부는,
공간분할법을 이용해 상기 블록 다이어그램을 연결하는 선의 길이가 최소화되도록 상기 블록 다이어그램을 재배치할 수 있다.
바람직하게는, 상기 공간분할법은,
보로노이 다이어그램(Voronoi Diagram) 및 딜러니 삼각 분할법(Delaunay Triangulation)을 포함하는 군에서 선택된 적어도 어느 하나일 수 있다.
바람직하게는, 상기 최적 배치부는,
상기 재배치된 블록 다이어그램의 위치 정보를 상기 파스 트리 데이터와 함께 저장할 수 있다.
본 발명에서 제안하고 있는 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에 따르면, 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하되, 알고리즘 다이어그램을 구성하는 블록 다이어그램을 내부 최적화 알고리즘에 따라 최적의 위치에 정렬함으로써, 블록 다이어그램에 대한 별다른 조작 없이 알고리즘 다이어그램을 신속하고 편리하게 완성할 수 있으며, 완성된 알고리즘 다이어그램을 통해 소스코드의 이해도 및 직관성을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에 의한 다이어그램 자동 정렬 기능을 예를 들어 도시한 도면.
도 3은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈의 세부적인 구성을 도시한 도면.
도 4는 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에서, 레벨 및 레이어의 할당 과정을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에서, 알고리즘 다이어그램을 생성하는 과정을 예를 들어 도시한 도면.
도 6은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈의 최적 배치부에서 블록 다이어그램을 재배치하는 과정의 세부적인 흐름을 도시한 도면.
도 7은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈에서, 블록 다이어그램을 재배치하여 알고리즘 다이어그램을 생성하는 과정을 예를 들어 도시한 도면.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’ 되어 있다고 할 때, 이는 ‘직접적으로 연결’ 되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’ 되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’ 한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)은, 시뮬레이션 모듈(100) 및 자동 정렬 모듈(200)을 포함하여 구성될 수 있다.
즉, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)은, 파스 트리 데이터를 기반으로 알고리즘 다이어그램(algorithm diagram)을 생성할 수 있다. 보다 구체적으로는, 시뮬레이션 모듈(100)이 소스코드를 파싱(parsing)하여 변환한 파스 트리 데이터(parse tree data)를 기반으로 알고리즘 다이어그램을 자동 생성할 수 있다. 파스 트리 데이터는 파스 트리 구조의 데이터로서, 파스 트리 구조는 알고리즘 자체로서 모든 언어의 공통된 형태일 수 있다. 시뮬레이션 모듈(100)은, 파스 트리 데이터를 이용하기 때문에, 프로그래밍 언어 간의 계산 표현의 장벽을 허물고 소스코드로 알고리즘 다이어그램으로 만들 수 있다.
그러나 알고리즘 다이어그램을 완성하기 위해서는, 블록 다이어그램을 정렬하여 적절한 위치에 배치하는 과정이 필요한데, 소스코드 또는 파스 트리 데이터는 블록 다이어그램의 위치 정보를 포함하지 않으므로, 사용자가 직접 블록 다이어그램의 위치 정보를 입력하고 정렬해야 하는 불편이 있다.
본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)은, 자동 정렬 모듈(200)을 포함함으로써, 블록 다이어그램을 자동으로 정렬하는 기능을 구현할 수 있다. 따라서 사용자는 알고리즘 다이어그램을 신속하고 편리하게 완성할 수 있으며, 완성된 알고리즘 다이어그램을 통해 소스코드의 이해도 및 직관성을 향상시킬 수 있다.
도 2는 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)에 의한 다이어그램 자동 정렬 기능을 예를 들어 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)에서는, 좌측에 도시된 바와 같은 소스코드를 파스 트리 데이터로 변환하고, 시뮬레이션 모듈(100)을 통해 파스 트리 데이터를 우측에 도시된 바와 같은 알고리즘 다이어그램으로 생성할 수 있다. 이때, 자동 정렬 모듈(200)은, “a”, “b”, “add”, “c” 등의 정보가 표시된 블록 다이어그램에 위치 정보를 자동으로 입력하고 정렬을 실행함으로써, 도 2의 우측에 도시된 바와 같은 형태로 구조화된 알고리즘 다이어그램을 생성할 수 있다.
이와 같이 자동 정렬 모듈(200)을 통해, 자동으로 최적의 형태로 배치된 알고리즘 다이어그램을 생성할 수 있으므로, 복잡하고 길이가 긴 알고리즘이더라도 노력과 시간을 현저하게 절감하고 알고리즘 다이어그램을 용이하게 제작할 수 있다.
도 3은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)의 세부적인 구성을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)은, 레벨 측정부(210), 그리드 정렬부(220) 및 최적 배치부(230)를 포함하여 구성될 수 있다.
레벨 측정부(210)는, 파스 트리 데이터의 최하단 정보부터 레벨(level)을 부여하며, 부여된 레벨에서 변수의 개수만큼 레이어(layer)를 생성하여, 파스 트리 데이터를 구성하는 정보에 레벨 및 레이어를 할당할 수 있다. 이때, 레벨 측정부(210)는, 파스 트리 데이터를 구성하는 연산자에 독립적인 레벨을 부여할 수 있다.
도 4는 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)에서, 레벨 및 레이어의 할당 과정을 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)의 레벨 측정부(210)는, 파스 트리 데이터의 최하단 정보인 “a” 및 “b”에 레벨 1을 부여하되, 변수의 개수만큼 레이어가 증가하므로 a에는 레벨 1/레이어 1, b에는 레벨 1/레이어 2가 할당될 수 있다. 연산자에는 독립적인 레벨이 부여되므로, “+”에는 레벨 1의 상위 레벨인 레벨 2가 할당되고, c에는 레벨 3이 할당될 수 있다. 즉, 파스 트리 데이터에서는 연산자 “+”와 변수 “c”가 동일한 레벨에 해당하지만, 레벨 측정부(210)는 연산자에 독립적인 레벨을 할당하여, 도 4 상단의 표와 같은 형태로 레벨 및 레이어를 할당할 수 있다.
한편, 레벨 측정부(210)는 이전 레벨에서 사용된 변수가 상위 레벨에서 사용되는 경우 레벨을 병합할 수 있다. 즉, 도 4의 첫 번째 표에서 “c”는 레벨 3의 변수이나 레벨 4에서 다시 사용되므로, 레벨 3과 레벨 4를 병합하여 두 번째 표와 같이 레벨 및 레이어를 할당할 수 있다.
그리드 정렬부(220)는, 할당된 레벨 및 레이어를 이용하여 그리드 위에 정보를 나타내는 블록 다이어그램을 배치하며, 파스 트리 데이터를 이용하여 블록 다이어그램을 선으로 연결하여 알고리즘 다이어그램을 생성할 수 있다.
도 5는 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)에서, 알고리즘 다이어그램을 생성하는 과정을 예를 들어 도시한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)의 그리드 정렬부(220)는, 레벨 및 레이어에 맞추어 그리드 위에 블록 다이어그램을 배치하고 선으로 연결할 수 있으며, 선의 연결을 위해 파스 트리 데이터를 참조할 수 있다.
이때, 그리드 정렬부(220)는, 레벨을 나타내는 선과 레이어를 나타내는 선이 상호 교차된 격자무늬의 그리드 위에 블록 다이어그램을 배치할 수 있다. 예를 들어, 도 5에 도시된 바와 같이 그리드의 세로 선은 레벨, 가로 선은 레이어를 나타낼 수 있으며, 그리드 포인트 위치에 블록 다이어그램을 배치할 수 있다.
한편, 그리드 정렬부(220)는, 정보 중 중복되는 변수는 하나의 블록 다이어그램 및 해당 블록 다이어그램과 연결된 선으로 생성할 수 있다. 즉, 도 5에 도시된 바와 같이, “a”는 중복되는 변수이므로 그리드 위에는 하나의 블록 다이어그램만 표시하고, 나머지는 선으로 대체하여 처리할 수 있다.
최적 배치부(230)는, 공간분할법을 이용하여 알고리즘 다이어그램을 구성하는 블록 다이어그램을 재배치하여 알고리즘 다이어그램을 완성할 수 있다. 파스 트리 데이터를 구성하는 정보들을 블록 다이어그램으로 표현하고 그리드 위에 배치하는 것만으로도, 도 5의 하단에 도시된 바와 같이 알고리즘 다이어그램이 생성될 수 있다. 그러나 본 발명에서는, 최적 배치부(230)를 포함하여 사용자의 블록 정렬 작업을 줄여 줄 수 있다.
본 발명의 최적 배치부(230)는, 공간분할법을 이용해 블록 다이어그램을 연결하는 선의 길이가 최소화되도록 블록 다이어그램을 재배치할 수 있다. 이때, 공간분할법은, 보로노이 다이어그램(Voronoi Diagram) 및 딜러니 삼각 분할법(Delaunay Triangulation)을 포함하는 군에서 선택된 적어도 어느 하나일 수 있다.
도 6은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)의 최적 배치부(230)에서 블록 다이어그램을 재배치하는 과정의 세부적인 흐름을 도시한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)의 최적 배치부(230)는, 보로노이 다이어그램 및 딜러니 삼각 분할법을 순차적으로 적용하여 블록 다이어그램을 재배치할 수 있다.
이때, 보로노이 다이어그램은 블록 다이어그램의 중심점을 이용하여 블록 다이어그램의 순서가 서로 뒤엉키지 않게 할 수 있다. 또한, 딜러니 삼각 분할법은 블록 다이어그램의 중심점을 이용하여 블록 다이어그램 간의 거리를 산출하며 블록 다이어그램을 이동시키면서 반복 계산(iteration)을 통해 블록 다이어그램 사이의 거리가 최소가 되는 위치를 찾아 최적화할 수 있다.
도 7은 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)에서, 블록 다이어그램을 재배치하여 알고리즘 다이어그램을 생성하는 과정을 예를 들어 도시한 도면이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200)의 최적 배치부(230)는, 블록 다이어그램의 위치를 조정하여 최적화된 형태의 알고리즘 다이어그램을 완성할 수 있다.
한편, 최적 배치부(230)는, 재배치된 블록 다이어그램의 위치 정보를 파일(File)에 전달하여 파스 트리 데이터와 함께 저장할 수 있다. 따라서 추후 파스 트리 데이터를 알고리즘 다이어그램으로 시뮬레이션하고자 하는 경우, 자동 정렬 모듈(200)을 통하지 않고 신속하게 알고리즘 다이어그램을 완성할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
10: 알고리즘 시뮬레이션 시스템 100: 시뮬레이션 모듈
200: 자동 정렬 모듈 210: 레벨 측정부
220: 그리드 정렬부 230: 최적 배치부

Claims (6)

  1. 파스 트리 데이터를 기반으로 알고리즘 다이어그램을 생성하는 알고리즘 시뮬레이션 시스템(10)의 다이어그램 자동 정렬 모듈(200)로서,
    상기 파스 트리 데이터의 최하단 정보부터 레벨을 부여하며, 상기 부여된 레벨에서 변수의 개수만큼 레이어를 생성하여, 상기 파스 트리 데이터를 구성하는 정보에 레벨 및 레이어를 할당하는 레벨 측정부(210);
    상기 할당된 레벨 및 레이어를 이용하여 그리드 위에 상기 정보를 나타내는 블록 다이어그램을 배치하며, 상기 파스 트리 데이터를 이용하여 상기 블록 다이어그램을 선으로 연결하여 알고리즘 다이어그램을 생성하는 그리드 정렬부(220); 및
    공간분할법을 이용하여 상기 알고리즘 다이어그램을 구성하는 블록 다이어그램을 재배치하여 알고리즘 다이어그램을 완성하는 최적 배치부(230)를 포함하되,
    상기 그리드 정렬부(220)는,
    상기 레벨을 나타내는 선과 상기 레이어를 나타내는 선이 상호 교차된 격자 무늬의 그리드 위에 상기 블록 다이어그램을 배치하고,
    상기 최적 배치부(230)는,
    공간분할법을 이용해 상기 블록 다이어그램을 연결하는 선의 길이가 최소화되도록 상기 블록 다이어그램을 재배치하며,
    상기 공간분할법은,
    보로노이 다이어그램(Voronoi Diagram) 및 딜러니 삼각 분할법(Delaunay Triangulation)을 포함하는 군에서 선택된 적어도 어느 하나인 것을 특징으로 하는, 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200).
  2. 제1항에 있어서, 상기 레벨 측정부(210)는,
    상기 파스 트리 데이터를 구성하는 연산자에 독립적인 레벨을 부여하는 것을 특징으로 하는, 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200).
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 최적 배치부(230)는,
    상기 재배치된 블록 다이어그램의 위치 정보를 상기 파스 트리 데이터와 함께 저장하는 것을 특징으로 하는, 알고리즘 시뮬레이션 시스템(10)을 위한 다이어그램 자동 정렬 모듈(200).
KR1020140044538A 2014-04-15 2014-04-15 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈 KR101602658B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140044538A KR101602658B1 (ko) 2014-04-15 2014-04-15 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140044538A KR101602658B1 (ko) 2014-04-15 2014-04-15 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈

Publications (2)

Publication Number Publication Date
KR20150118690A KR20150118690A (ko) 2015-10-23
KR101602658B1 true KR101602658B1 (ko) 2016-03-21

Family

ID=54427168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140044538A KR101602658B1 (ko) 2014-04-15 2014-04-15 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈

Country Status (1)

Country Link
KR (1) KR101602658B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101985491B1 (ko) * 2017-12-11 2019-06-03 주식회사 핀인사이트 다이어그램 방식의 시각화 수식 작성을 통한 결과 생성 및 모니터링 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183785A (ja) * 2006-01-06 2007-07-19 Fuji Electric Holdings Co Ltd プログラムツリー表示方法、プログラム生成装置、およびプログラム生成プログラム
KR101117945B1 (ko) 2003-03-06 2012-08-09 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형 애플리케이션의 자동화된 설계, 배치 및 관리
JP2013156786A (ja) * 2012-01-30 2013-08-15 Hitachi Automotive Systems Ltd ソフトウェアの構造可視化プログラムおよびシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101117945B1 (ko) 2003-03-06 2012-08-09 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형 애플리케이션의 자동화된 설계, 배치 및 관리
JP2007183785A (ja) * 2006-01-06 2007-07-19 Fuji Electric Holdings Co Ltd プログラムツリー表示方法、プログラム生成装置、およびプログラム生成プログラム
JP2013156786A (ja) * 2012-01-30 2013-08-15 Hitachi Automotive Systems Ltd ソフトウェアの構造可視化プログラムおよびシステム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6916403B2 (ja) データへの論理的妥当性検査規則の指定および適用
US11106626B2 (en) Managing changes to one or more files via linked mapping records
CN109446218A (zh) Sql语句生成方法、装置及计算机可读存储介质
CN104133772B (zh) 一种自动生成测试数据的方法
CN103092621B (zh) 一种图表生成的方法及装置
CN106293664A (zh) 代码生成方法及装置
CN109388566A (zh) 一种代码覆盖率分析方法、装置、设备及存储介质
CN105389251A (zh) 结构化查询语言调试器
CN109358851A (zh) 图表组件的创建方法、装置及计算机可读存储介质
CN104965735A (zh) 用于生成升级sql脚本的装置
CN103077022B (zh) 一种作业流程可视化的作业配置方法和装置
CN103207779A (zh) 用于源代码补丁的装置和方法
US9304746B2 (en) Creating a user model using component based approach
CN102855131A (zh) 用于软件配置管理的装置和方法
US9459843B1 (en) Methods and apparatuses for providing dynamic definition and selection of metric applications
CN112199086A (zh) 自动编程控制系统、方法、装置、电子设备及存储介质
CN111026670B (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
CN104978195A (zh) 一种界面配置装置及方法
CN104331315A (zh) 一种任意层次json对象的解析与生成方法及系统
CN104054051A (zh) 操纵源代码补丁
CN111078094A (zh) 分布式机器学习可视化装置
US20170046132A1 (en) Data type visualization
KR101986476B1 (ko) 프로그램 작성 장치
CN110851355B (zh) 前端工程的实施方法及装置、存储介质、电子设备
KR101602658B1 (ko) 알고리즘 시뮬레이션 시스템을 위한 다이어그램 자동 정렬 모듈

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: 20190103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200116

Year of fee payment: 5