KR20150066377A - Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법 - Google Patents

Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법 Download PDF

Info

Publication number
KR20150066377A
KR20150066377A KR1020130151824A KR20130151824A KR20150066377A KR 20150066377 A KR20150066377 A KR 20150066377A KR 1020130151824 A KR1020130151824 A KR 1020130151824A KR 20130151824 A KR20130151824 A KR 20130151824A KR 20150066377 A KR20150066377 A KR 20150066377A
Authority
KR
South Korea
Prior art keywords
simulation
model
unit
devs
editing
Prior art date
Application number
KR1020130151824A
Other languages
English (en)
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 KR1020130151824A priority Critical patent/KR20150066377A/ko
Publication of KR20150066377A publication Critical patent/KR20150066377A/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/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 하나의 컴퓨터 환경 내에서 DEVS 기반의 시뮬레이션 모델의 생성, 편집, 실행 및 분석, 시나리오 생성 등을 통합적으로 구현할 수 있도록 하는 DEVS 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법에 관한 것이다.
본 발명에 따른 DEVS 기반의 시뮬레이션 프레임워크 시스템은 DEVS 기반의 시뮬레이션 모델을 생성 및 실행하기 위한 데이터 및 명령을 입력받는 입력부; 상기 DEVS 기반의 시뮬레이션 모델의 생성 및 실행을 표시하는 표시부; 기설정된 에디터 프로그램을 통해 상기 시뮬레이션 모델을 시각화하여 편집하고 상기 시뮬레이션 모델을 상기 표시부에 표시하도록 하는 다이어그램 편집부; 상기 편집되는 시뮬레이션 모델들의 속성, 관계 및 포트를 설정하고 상기 모델의 시뮬레이션에 필요한 고유의 코드를 생성하는 소스코드 생성부; 상기 다이어그램 편집부에서 편집된 적어도 하나의 시뮬레이션 모델을 계층적 구조로 시각화하여 상기 표시부에 표시되도록 하는 계층적모델 뷰어부; 상기 모델의 시뮬레이션에 사용되는 자원을 추가 및 편집하고 상기 자원의 추가 및 편집과정을 상기 표시부에 표시되도록 하는 리소스 뷰어부; 상기 다이어그램 편집부에서 편집된 모델에 대하여 기설정된 이벤트에 따라 시뮬레이션을 수행하도록 하여 상기 표시부에 표시되도록 하는 애니메이션 뷰어부; 상기 모델의 시뮬레이션에서 발생되는 객체들 간의 이벤트를 설정하는 시나리오 편집부; 및 사용자의 입력에 따라 상기 DEVS 기반의 시뮬레이션 모델의 생성, 실행, 편집을 수행하고 상기 모델의 시뮬레이션을 구현하도록 제어하는 제어부; 를 포함한다.

Description

DEVS 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법{Simulation framework system based on DEVS and simulation method using the same}
본 발명은 DEVS(Discrete Event System Specification) 기반의 시뮬레이션 프레임워크 시스템에 관한 것으로서, 특히 하나의 컴퓨터 환경 내에서 DEVS 기반의 시뮬레이션 모델의 생성, 편집, 실행 및 분석, 시나리오 생성 등을 통합적으로 구현할 수 있도록 하는 DEVS 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법에 관한 것이다.
다양한 분야에서 시스템들의 고집적화, 고성능화가 빠르게 진행되면서 시스템들의 복잡도(complexity)가 증가하고 있다. 복잡도가 높은 대규모 시스템의 경우 성능검증을 위한 시뮬레이션이 필요하며, 이에 시뮬레이션을 위한 다양한 시뮬레이션 모델이 연구되고 있다.
시뮬레이션 모델의 생성 및 결과의 분석작업은 상당히 어렵고 많은 시간이 요구된다. 최근에 DEVS(Discrete Event System Specification) 형식론(formalism)에 기반한 시뮬레이터들이 개발되고 있지만 응용 시스템의 특성에 적합하게 사용될 수 있는 시스템의 추가개발이 요구되고 대부분의 시스템들이 비정형화된 시스템 인터페이스를 사용하기 때문에 시스템의 확장 또한 쉽지 않다.
참고로, DEVS는 이산 사건을 모듈화하고 각각의 모델들 간의 계층적 관계를 기술할 수 있는 정형화된 구조로서 임베디드 시스템 및 실생활의 논리 시스템 등에서 성능 분석 및 측정을 위해 많이 사용되고 있다.
DEVS 형식론에 기반한 연구는 DEVS 모델 자체의 다양성에 대한 연구, 인지모델과의 융합연구, 시뮬레이션 프레임워크 관련연구 등 다양한 기술의 시뮬레이터들이 연구되고 있다. 이러한 대부분의 시뮬레이터들은 기본적으로 모델 생성 에서부터 프로그래밍 언어로 정의 되어야 하기 때문에 시뮬레이션 시스템의 개발에 어려움이 있다.
최근에는 이러한 문제점들을 해소하기 위하여 그래픽 편집기 등을 사용하여 시뮬레이션 모델을 생성하고, 시뮬레이션의 결과를 가시적으로 추적할 수 있는 플러그인(plug-in)들을 제공하는 연구가 시작되고 있지만, 여전히 많은 기능들이 제한적 이다. 예컨대, 결합모델(Coupled model)은 그래픽 편집기로 생성할 수 있지만 표준화된 사용자 인터페이스가 없기 때문에 모델의 기능을 확장할 시에는 문제점이 존재한다. 또한 원자모델(Atomic model)의 생성은 대부분의 시스템에서 그래픽 편집기보다는 고급 프로그래밍 언어로 정의되어야 하는 문제점이 있다. 이러한 시뮬레이션 모델의 생성 외에도 시뮬레이션 시스템의 개발에 요구되는 코드생성, 시나리오 생성, 시뮬레이션 결과의 추적 등 많은 부분에서 시스템 개발의 어려움이 존재하고 있다.
공개특허공보 제10-2013-0095557호 (공개일: 2013.08.28) 등록특허공보 제10-1242325호 (등록일: 2013.03.05)
이에, 본 발명에서는 상기한 종래기술에서의 기본적인 시뮬레이션 모델 생성의 문제점들을 분석하여 DEVS 기반의 시뮬레이션을 쉽게 개발할 수 있는 통합 시뮬레이션 프레임워크 시스템 및 그의 동작방법을 제공하는데 목적이 있다.
또한, 본 발명에서는 DEVS 모델의 생성, 소스코드의 자동생성, 시뮬레이션 결과의 분석 및 추적, 시뮬레이션 시나리오의 생성까지 통합적으로 구현할 수 있는 DEVS 기반의 시뮬레이션 프레임워크 시스템 및 그의 동작방법을 제공하는데 추가적인 목적이 있다.
본 발명에 따른 DEVS 기반의 시뮬레이션 프레임워크 시스템은,
DEVS(Discrete Event System Specification) 기반의 시뮬레이션 모델을 생성 및 실행하기 위한 데이터 및 명령을 입력받는 입력부; 상기 DEVS 기반의 시뮬레이션 모델의 생성 및 실행을 표시하는 표시부; 기설정된 에디터 프로그램을 통해 상기 시뮬레이션 모델을 시각화하여 편집하고 상기 시뮬레이션 모델을 상기 표시부에 표시하도록 하는 다이어그램 편집부; 상기 편집되는 시뮬레이션 모델들의 속성, 관계 및 포트를 설정하고 상기 모델의 시뮬레이션에 필요한 고유의 코드를 생성하는 소스코드 생성부; 상기 다이어그램 편집부에서 편집된 적어도 하나의 시뮬레이션 모델을 계층적 구조로 시각화하여 상기 표시부에 표시되도록 하는 계층적모델 뷰어부; 상기 모델의 시뮬레이션에 사용되는 자원을 추가 및 편집하고 상기 자원의 추가 및 편집과정을 상기 표시부에 표시되도록 하는 리소스 뷰어부; 상기 다이어그램 편집부에서 편집된 모델에 대하여 기설정된 이벤트에 따라 시뮬레이션을 수행하도록 하여 상기 표시부에 표시되도록 하는 애니메이션 뷰어부; 상기 모델의 시뮬레이션에서 발생되는 객체들 간의 이벤트를 설정하는 시나리오 편집부; 및 사용자의 입력에 따라 상기 DEVS 기반의 시뮬레이션 모델의 생성, 실행, 편집을 수행하고 상기 모델의 시뮬레이션을 구현하도록 제어하는 제어부; 를 포함한다.
본 발명에서, 상기 다이어그램 편집부는, 상기 입력부를 통해 사용자로부터 요청된 원자모델, 결합모델, 포트 및 Child Link를 편집하고 상기 표시부에 상기 편집의 과정이 표시되도록 요청한다.
본 발명에서, 상기 소스코드 생성부는, 기설정된 시간전진 함수, 입력 상태변환함수, 무입력 상태변환함수, 출력함수를 포함하는 원자모델의 함수를 구현하고 상기 원자모델 함수를 기반으로 상기 모델의 시뮬레이션에 필요한 고유의 코드를 생성한다.
본 발명에서, 상기 계층적 모델 뷰어부는, 상기 적어도 하나의 시뮬레이션 모델을 트리(tree)형태를 분류하여 계층적 구조로 구현하여 상기 표시부에 표시되도록 한다.
본 발명에서, 상기 애니메이션 뷰어부는, 상기 시뮬레이션의 실행 중 일시 정지 또는 정지를 하거나 해당 소스코드로 이동할 수 있도록 설정한다.
본 발명에서, 상기 시나리오 편집부는, 상기 다이어그램 편집부의 내부에 독립된 모듈로 존재할 수 있으며, 상기 모델에서 다른 모델로의 이벤트의 추가, 삭제 및 편집을 수행하도록 한다.
본 발명에 따른 DEVS 기반의 시뮬레이션 프레임워크 시스템을 이용하면 DEVS 모델, 소스코드, 시뮬레이션 시나리오 등을 생성할 수 있다.
본 발명에 의하면 시뮬레이션 모델을 시뮬레이션 엔진과 통합하여 시뮬레이션을 수행하며 시뮬레이션의 결과 및 추적의 기능을 제공할 수 있다.
본 발명에 의하면 시뮬레이션 프레임워크 내에서 다수의 편집기를 제공하여 사용자가 손쉽게 시뮬레이션 시스템 환경을 구축할 수 있다.
도 1은 본 발명의 실시 예에 따른 DEVS 기반 시뮬레이션 프레임워크 시스템의 구성도.
도 2는 본 발명의 실시 예에 따른 DEVS 기반 시뮬레이션 프레임워크 시스템의 동작을 설명하기 위한 개념도.
도 3은 본 발명에 따른 다이어그램 편집부의 동작을 도시한 도면.
도 4는 본 발명에 따른 소스코드 생성부의 동작을 도시한 도면.
도 5는 본 발명에 따른 계층적모델 뷰어부의 동작을 도시한 도면.
도 6은 본 발명에 따른 리소스 뷰어부의 동작을 도시한 도면.
도 7은 본 발명에 따른 애니메이션 뷰어부의 동작을 도시한 도면.
도 8은 본 발명에 따른 시나리오 편집부의 동작을 도시한 도면.
도 9는 본 발명에 따른 DEVS 기반 시뮬레이션 방법을 보이는 흐름도.
도 10은 본 발명에 따른 DEVS 기반의 시뮬레이션 프레임워크 시스템의 개발환경의 예시도.
도 11은 도 10의 일례에 의해 생성된 모델의 예시도.
도 12는 본 발명의 일례로서 핑퐁(Ping-Pong)시뮬레이션을 통해 DEVS 프레임워크 시스템에서의 모델의 시뮬레이션 결과를 도시한 예시도.
이하에서, 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여 설명할 것이다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
도 1은 본 발명의 실시 예에 따른 DEVS 기반 시뮬레이션 프레임워크 시스템의 구성도이고, 도 2는 본 발명에 따른 DEVS 기반 시뮬레이션 프레임워크 시스템의 동작을 설명하기 위한 개념도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 DEVS 기반 시뮬레이션 프레임워크 시스템(100)은 입력부(110), 표시부(120), 다이어그램 편집부(130), 소스코드 생성부(140), 계층적모델 뷰어부(150), 리소스 뷰어부(160), 애니메이션 뷰어부(170), 시나리오 편집부(180) 및 제어부(190)를 포함하여 구성된다.
이러한 DEVS 기반 시뮬레이션 프레임워크 시스템(100)은 기본적으로 DEVS 기반의 시뮬레이션을 사용자로 하여금 손쉽게 개발할 수 있도록 지원한다.
입력부(110)는 DEVS 기반 시뮬레이션을 보다 편리하게 개발할 수 있도록 하기 위한 각종 데이터 및 명령을 입력받는다. 이러한 입력부(110)는 키버튼, 터치패드, 마우스 등으로 구현될 수 있다. 사용자는 이러한 입력부(110)를 이용하여 DEVS 기반 시뮬레이션 개발을 위한 프로그램의 실행명령을 입력할 수 있고 각종 데이터를 입력할 수도 있다.
표시부(120)는 DEVS 기반 시뮬레이션 개발에 따른 내용을 디스플레이한다. 이러한 표시부(120)는 예컨대 액정표시장치(LCD)를 포함한다. 본 발명의 실시 예에서 상기한 입력부(110)와 표시부(120)는 일체형으로 구현될 수 있다. 예컨대, 터치패드의 경우 화면을 터치하여 데이터를 입력할 수 있고 그 화면에 각종 내용을 표시할 수도 있다.
다이어그램 편집부(diagram editor)(130)는 기설정된 에디터를 통해 시뮬레이션 모델을 시각화하여 편집하도록 하고 이를 표시부(120)에 표시하도록 함으로써 사용자로 하여금 시뮬레이션 모델링을 쉽게 편집할 수 있도록 한다. 이러한 다이어그램 편집부(130)는 예컨대, 원자모델, 결합모델, 입출력 포트 및 Child Link의 컴포넌트로 구성된다. 원자모델(Atomic Model)은 DEVS 형식론을 구성하는 가장 기본적인 모듈로서 특정 시스템의 행동을 기술하는 모델을 의미한다. 결합모델(Coupled Model)은 다양한 모델 등과 외부입력, 외부출력 간 연결정보를 표현한다. 일반적으로 DEVS 결합모델은 외부입력과 내부모델의 입력을 연결하는 외부 입력 연결(EIC: External Input Coupling)와 내부모델의 출력과 외부출력을 연결하는 외부 출력 연결(EOC: External Output Coupling), 내부모델의 출력과 내부모델의 입력을 연결하는 내부 연결(IC: Internal Coupling)를 공통으로 포함한다. 이러한 DEVS 결합모델(Coupled Model)은 DEVS 형식론을 사용할 경우 모델을 부품화하고 계층적으로 개발할 수 있는 장점이 있다. 이와 같이 다이어그램 편집부(130)는 기설정된 에디터 프로그램을 구동하여 사용자가 입력부(110)를 통해 요청한 원자모델, 결합모델, 입출력포트(In/Out Port), Child Link 등을 편집하고 이러한 편집과정은 표시부(120)를 통해 표시된다.
소스코드 생성부(source code generator)(140)는 다양한 모델들의 속성과 관계, 입출력포트를 설정하고 시뮬레이션에 필요한 스텁코드(stub code)를 생성한다. 본 발명에서 소스코드 생성부(140)는 다이어그램 편집부(130)에서 원자모델, 결합모델, 입출력포트, Child Link에 대한 편집 시 이들에 대한 고유의 코드를 생성하는 것이다. 이와 같이 생성되는 스텁코드 및 설정파일들은 원자모델, 결합모델, Config.xml이며 원자모델의 함수들, 예컨대 기설정된 시간전진함수, 입력상태변환함수, 무입력상태변환함수, 출력함수 등을 구현하면 설정파일은 이를 토대로 자동으로 설정 및 생성되도록 구현된다.
계층적모델 뷰어부(hierarchical model viewer)(150)는 상기한 다이어그램 편집부(130)에서 편집되거나 편집이 완료된 적어도 하나의 시뮬레이션 모델들을 전체적으로 계층적 구조로 시각화한다. 즉, 전체 시뮬레이션 모델들을 계층적 구조로 변환하여 표시부(120)에 표시함으로써 사용자가 그 전체 시뮬레이션 모델들의 구조를 시각적으로 확인할 수 있도록 한다. 특히, 본 실시 예에서는 사용자의 입력에 따라 전체 시뮬레이션 모델들을 트리(tree)형태를 분류하여 표시하도록 함으로써 시뮬레이션의 복잡도에 상관 없이 전체 시뮬레이션 모델들의 관계를 가시적으로 확인할 수 있는 환경을 제공하도록 한다.
리소스 뷰어부(resource viewer)(160)는 전체 시뮬레이션에 사용되는 자원들을 추가 및 편집하는 기능을 수행하고 그 기능의 수행과정 및 결과를 표시부(120)를 통해 표시하도록 한다. 이러한 리소스 뷰어부(160)는 리소스 파일(resource file)을 소정의 뷰어(viewer) 프로그램을 통해 가시화하여 사용자가 시뮬레이션에 사용되는 자원을 관리할 수 있는 환경을 제공하도록 한다.
애니메이션 뷰어부(animation viewer)(170)는 다이어그램 편집부(130)에서 편집하여 모델링한 시뮬레이션 모델을 계층적 구조로 보여주면서 시뮬레이션의 실행과 정지의 기능을 실행한다. 시뮬레이션의 실행 시 기설정된 이벤트의 흐름대로 색상이 변화하여 시뮬레이션의 진행을 표시부(120)를 통해 표시함으로써 사용자가 시각적으로 볼 수 있도록 하고, 시뮬레이션의 실행 중 일시 정지 또는 정지를 하거나 해당 소스코드로 이동할 수 있도록 한다. 이로써 시뮬레이션의 실행 중에 오류 등에 대한 빠른 수정이 이루어질 수 있고, 수정 후 다시 시뮬레이션을 실행시켜 이에 대한 빠른 확인이 가능하도록 한다.
시나리오 편집부(scenario editor)(180)는 시뮬레이션에서 발생되는 객체들 간의 이벤트를 설정한다. 본 실시 예에서 이러한 시나리오 편집부(180)는 다이어그램 편집부(130) 내부에 추가적인 독립된 기능모듈로 존재할 수 있다. 이에 다이어그램 편집부(130)에 나타나는 모델에서 다른 모델로의 이벤트를 추가, 삭제, 편집하는 기능을 수행할 수 있으며, 모든 이벤트들은 소정의 데이터베이스(미도시)에 저장되어 관리된다.
제어부(190)는 시뮬레이션 모델의 생성, 실행, 편집 등과 같을 위한 DEVS 기반 시뮬레이션 프레임워크의 전반적인 동작을 제어한다. 특히, 본 발명에 따른 제어부(190)는 입력부(110)를 통해 입력되는 프로그램 실행명령에 따라 시뮬레이션 모델의 생성, 실행, 편집 등을 실행하도록 해당 기능모듈들(120~180)을 제어하고 이들 기능모듈들(120~180) 간의 유기적인 상호작용에 따른 동작이 원활하게 구현되도록 한다.
도 2를 참조하면, 먼저 사용자가 컴퓨터 환경 내에서 사용자가 입력부(110)를 통해 시뮬레이션 프로그램을 실행시키면, 다이어그램 편집부(130)가 실행된다. 이어 사용자는 다이어그램 편집부(130)를 통해 새로운 시뮬레이션 모델을 생성하거나 기존의 시뮬레이션 모델을 불러와서 편집을 수행하도록 한다. 즉, 다이어그램 편집부(130)는 사용자의 각종 명령에 따라 DEVS 기반 원자모델, DEVS 기반 결합모델, 입출력포트, Child Link 등을 편집을 수행한다. 이러한 편집에 따른 과정 및 결과는 표시부(120)를 통해 표시된다. 계속해서 다이어그램 편집부(110)에서 편집된 적어도 하나의 시뮬레이션 모델은 계층적모델 뷰어부(150)에 반영되어 전체 시뮬레이션 모델을 계층적 구조로 시각화한다.
또한, 사용자는 다이어그램 편집부(130) 상에서 시뮬레이션의 실행에 필수적인 소스코드의 생성을 위해 사용자의 입력에 따라 소스코드 생성부(140)가 소스코드를 생성한다. 또한, 사용자의 입력에 따라 시나리오 편집부(180)을 통해 시뮬레이션 모델 중심의 시뮬레이션 이벤트 편집 결과를 파일로 생성한다.
이때, 전체 시뮬레이션에 필요한 자원은 리소스 편집부(160)에서 관리하고 파일화한다. 소스코드 생성부(140), 리소스 편집부(160) 및 시나리오 편집부(180)로부터 나온 결과물은 DEVS 기반 시뮬레이션 프레임워크 시스템(100)의 내부의 자체 엔진(미도시)를 통해 애니메이션 뷰어부(170)에서 시각화된다.
도 3은 본 발명에 따른 다이어그램 편집부의 동작을 도시한 도면이다.
도 3을 참조하면, 본 발명에 따른 다이어그램 편집부(130)는 DEVS 기반의 원자모델(131), DEVS 기반의 결합모델(132), 입/출력 포트(133), Child Link(134) 등의 컴포넌트로 구성되고, 이들 다수의 컴포넌트(131~134)에 대한 시뮬레이션 모델링을 소정의 에디터 프로그램을 통해 생성, 편집하여 표시부(120)에 표시하도록 한다. 나아가, 다이어그램 편집부(130)는 이러한 원자모델(131), 결합모델(132)의 객체와 클래스명, 결합모델(132)에 대한 속성들을 설정할 수 있고, 시뮬레이션 시 모델 간의 통신을 위해 입/출력 포트(133)를 설정하고 해당 포트명을 편집할 수도 있다. 이와 같은 설정 및 편집의 결과도 역시 표시부(120)를 통해 표시된다.
도 4는 본 발명에 따른 소스코드 생성부의 동작을 도시한 도면이다.
도 4를 참조하면, 본 발명에 따른 소스코드 생성부(140)는 다이어그램 편집부(130)에서 사용자(modeler)로부터의 편집 명령, 예컨대 추가, 삭제, 수정 등의 명령에 따라 시뮬레이션 모델을 편집하게 되면 그 편집에 대응하여 시뮬레이션 실행에 필요한 스텁코드 및 설정파일을 생성하도록 한다. 이와 같이 생성된 스텁코드 및 설정파일은 원자모델(131), 결합모델(132), Config.xml이며, 원자모델(131)의 함수들, 즉 시간전함수, 입력상태 변환함수, 무입력상태 변환함수, 출력함수 등을 구현하면 설정파일은 이를 토대로 자동설정 및 생성되도록 한다. 예컨대 이처럼 소스코드 생성부(140)에서 생성되는 설정파일은 ".java" 형식으로 설정될 수 있다.
도 5는 본 발명에 따른 계층적모델 뷰어부의 동작을 도시한 도면이다.
도 5를 참조하면, 본 발명에 따른 계층적모델 뷰어부(150)는 DEVS 기반 시뮬레이션 프레임워크 시스템에서 전체 시뮬레이션 모델을 계층적(hierarchical) 구조로 시각화시키는 모델이다. 이는 전체 시뮬레이션 모델을 계층적으로 구현하여 표시부(120)에 디스플레이되도록 하는 것이다. 이러한 계층적모델 뷰어부(150)에서는 사용자(modeler)에 의해 다이어그램 편집부(130)에서 생성된 모델들과 Child Link들은 트리 형태로 자동 생성되어 시뮬레이션 복합도에 상관없이 전체 모델들의 관계를 가시적으로 확인할 수 있는 환경을 제공한다. 이를 위하여 도면에서와 같이 사용자의 명령에 따라 계층적모델 뷰어부(150)는 다이어그램 편집부(130)와 동기화가 이루어지고 다이어그램 편집부(130)에서 생성된 모델은 계층적모델 뷰어부(150)로 계층적 구조로 구현되도록 요구하고, 계층적모델 뷰어부(150)는 이러한 요구에 대응하여 다수의 모델을 트리 형태의 계층적 구조로 구현하여 각 모델의 특징을 다이어그램 편집부(130)로 제공하도록 한다.
도 6은 본 발명에 따른 리소스 뷰어부의 동작을 도시한 도면이다.
도 6을 참조하면, 본 발명에 따른 리소스 뷰어부(160)는 DEVS 기반 시뮬레이션 프레임워크 시스템에서 전체 시뮬레이션 모델에 사용되는 자원들을 추가 및 편집하는 기능을 지원하는 자원관리 모듈이다. 즉, 리소스 뷰어부(160)는 리소스 파일을 뷰어에 가시화하여 사용자가 자원을 관리할 수 있는 환경을 제공하는 것이다. 이를 위하여 리소스 뷰어부(160)는 시뮬레이션 모델에 자용되는 자원을 편집하기 위하여 리소스 뷰어부(160)를 실행시키고 리소스 뷰어부(160)는 사용자(modeler)에세 자원을 보여주기 위하여 해당 자원을 예컨대 ".XML"로 변환하여 가시화시키도록 한다.
도 7은 본 발명에 따른 애니메이션 뷰어부의 동작을 도시한 도면이다.
도 7을 참조하면, 본 발명에 따른 애니메이션 뷰어부(170)는 다이어그램 편집부(130)에서 모델링한 모델들을 계층적 구조로 애니메이션 형태로 보여주며, 이러한 애니메이션의 실행과 정지 기능을 제공한다. 애니메이션 뷰어부(170)에서의 모델에 대한 애니메이션 실행은 이벤트의 흐름대로 모델이 계층적 구조로 변화하면서 시각적으로 그 특징을 보여주도록 한다. 실행 중 일시정지 또는 정지를 하거나 해당 소스코드로 이동할 수 있어 오류 발생시 빠른 수정과 확인이 가능하다. 이러한 애니메이션 뷰어부(170)에서 구현되는 애니메이션 동작은 예컨대 표시부(120)에서 시각적으로 표시됨이 바람직하다. 본 실시 예에서 애니메이션 뷰어부(170)는 애니메이션 실행을 위해 DEVS 코어 엔진(171) 및 모델 드라이브 클래스(172)를 포함한다. DEVS 코어 엔진(171)은 각각의 모델에 대하여 기설정된 이벤트에 따라 애니메이션으로 시뮬레이션을 진행하도록 하고 모델 드라이브 클래스(172)는 모델별로 자체적인 동작을 구동시키도록 한다. 모델별 동작과 각 모델간의 애니메이션의 조합으로 모델 시뮬레이션이 구현되는 것이다.
도 8은 본 발명에 따른 시나리오 편집부의 동작을 도시한 도면이다.
도 8을 참조하면, 본 발명에 따른 시나리오 편집부(180)는 모델 시뮬레이션에서 발생되는 객체들간의 이벤트를 설정한다. 이러한 시나리오 편집부(180)는 다이어그램 편집부(130) 내에 또 하나의 기능으로 존재할 수도 있다. 본 실시 예에서 시나리오 편집부(180)는 다이어그램 편집부(130)에 나타나는 모델에서 다른 모델로의 이벤트를 추가, 삭제, 편집을 할 수 있으며, 모든 이벤트는 소정의 데이터베이스로 관리된다. 이를 위하여 사용자(modeler)가 시나리오 편집부(180)를 실행하여 시나리오 플로우를 생성 및 편집하여 특정 시나리오를 완성하면 상기한 애니메이션 뷰어부(170)의 모델 드라이버 클래스(172) 및 DEVS 코어 엔진(171)을 이용하여 해당 시나리오대로 모델들에 대한 애니메이션을 실행하도록 한다.
도 9는 본 발명의 실시 예에 따른 DEVS 기반 시뮬레이션 방법을 보이는 흐름도이다.
도 9를 참조하면, 본 발명에 따른 DEVS 기반 시뮬레이션 방법은, 사용자에 의해 입력부(110)를 통해 DEVS 기반의 시뮬레이션 시스템을 구동하여 다이어그램 편집부(130)를 실행한다(S101). 다이어그램 편집부(130)에서 사용자의 요청에 따라 시뮬레이션 모델을 생성하고(S103), 이러한 모델에 대한 포트, Child Link를 편집한다(S105). 이때, 원자모델, 결합모델 객체와 클래스 명, 결합모델에 대한 속성들을 설정할 수 있고, 모델 간의 통신을 위해 입출력 포트를 설정하고 해당 포트명을 설정할 수 있다.
이어, 소스코드 생성부(140)에서 다이어그램 편집부(130)에서 생성된 시뮬레이션 모델의 시뮬레이션에 필요한 소스 코드를 생성한다(S107). 이때, 다수의 시뮬레이션 모델의 속성, 모델들 간의 관계 등을 설정할 수 있다. 이후에 계층적모델 뷰어부(150)에서 상기와 같이 생성 및 편집되는 적어도 하나의 시뮬레이션 모델을 계층적 구조로 시각화한다(S109). 이러한 계층적 구조의 시각화는 다이어그램 편집부(130)에서 모델의 생성 및 편집과정에서 구현될 수도 있고, 시뮬레이션 과정에서도 구현될 수도 있다.
계속해서, 리소스 편집부(160)에 의해 상기 생성된 모델의 시뮬레이션에 필요한 자원이 편집되고(S111), 시나리오 편집부(170)에 의해 모델의 시뮬레이션에 필요한 이벤트가 편집된다(S113). 이와 같은 과정을 거친 후 생성된 시뮬레이션 모델에 대해 애니메이션 뷰어부(180)에서 내부의 자체엔진인 DEVS 코어 엔진(171)을 이용하여 해당 모델에 대한 시뮬레이션을 실행하게 된다(S115). 여기서, 시뮬레이션 도중에 실행을 일시정지 또는 정지를 실행할 수도 있고, 에러 수정을 위하여 특정 시점이나 부분에서 해당 소스코드로 이동할 수도 있다.
[실시 예]
본 발명에 따른 DEVS 기반의 시뮬레이션 프레임워크 시스템의 개발환경은 도 10에 도시된다. 본 발명에 따른 시뮬레이션 프레임워크 시스템에서 시뮬레이션 응용 개발은 확장성과 사용자 편의성을 제공하기 위해 예컨대 이클립스EMF/GMF/GEF 플러그인 기반으로 개발하였고, 개발 언어로는 Java, 컴파일러 JDK 1.6을 사용하였다. 프레임워크는 통합 IDE 개발환경으로 제공되며 소스코드 생성부(140)와 시나리오 편집부(180)를 제외한 다른 모듈들은 각각 자체적인 뷰어(viewer)를 가지고 사용자의 개발 편의성을 최대화시킨다.
도 10에서 다이어그램 편집부(130)는 에디터(editor)의 우측에 있는 모델링 팰렛(palette)를 사용하여 원자모델, 분자모델, 포트링크, 및 childlink 등을 활용하여 모델을 생성한다. 여기서 생성된 모델의 예는 도 11의 일례와 같다. 소스코드 생성부(140)는 다이어그램 편집부(130) 상에 표현된 원자모델, 결합모델 등 요소 정보를 기반으로 프로젝트 내부에 스텁코드파일을 생성한다. 원자모델을 기반으로 생성된 코드파일은 시뮬레이션에 필요한 4개의 함수의 소스코드가 비어있는 상태이며, 사용자가 정상적인 시뮬레이션을 하기 위해서는 비어있는 4개의 함수를 구현해야 한다.
시뮬레이션을 하기 위한 사전작업이 완료되었다면 사용자는 애니메이션 뷰어부(170)를 통해 시각적으로 시뮬레이션의 흐름과 결과를 분석할 수 있다. 본 실시 예에서는 핑퐁(Ping-Pong) 시뮬레이션의 예시를 애니메이션 뷰어부(170)로 구현한 결과를 도 12에 도시하고 있다.
상기와 같이, 본 발명에서는 DEVS기반 시뮬레이션 시스템의 개발을 위한 통합 프레임워크를 설계 및 개발에 대해 개시하고 있다. 본 발명의 주요 특징은 다음과 같다. 첫째, 본 시스템은 IDE안에서 모델의 생성, 소스코드의 생성, 시뮬레이션 시나리오의 생성 등을 자동 실행할 수 있다. 둘째, 생성된 모델을 시뮬레이션 엔진과 통합하여 시뮬레이션을 수행하며, 시뮬레이션의 결과 및 추적의 기능을 제공할 수 있다. 셋째, 프레임워크 안에서 다수의 편집기를 제공하여 사용자가 손쉽게 시뮬레이션 시스템 환경을 구축할 수 있는 장점이 있다.
또한, 본 발명은 사용자 친화적인 기능을 추가하여 시스템을 확장할 수 있는 장점이 있다. 예컨대, 애니메이션 뷰어부의 단순한 2D방식을 3D방식으로 업그레이드가 가능하고, 도구의 원활한 사용을 위하여 HELP기능의 제공할 수 있으며, 메뉴 및 단축키를 추가함으로써 보다 완성도 있는 도구를 지향할 수 있다.
이상에서 설명한 본 발명은 바람직한 실시 예들을 통하여 상세하게 설명되었지만, 본 발명은 이러한 실시 예들의 내용에 한정되는 것이 아님을 밝혀둔다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 비록 실시 예에 제시되지 않았지만 첨부된 청구항의 기재 범위 내에서 다양한 본 발명에 대한 모조나 개량이 가능하며, 이들 모두 본 발명의 기술적 범위에 속함은 너무나 자명하다 할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110 : 입력부 120 : 표시부
130 : 다이어그램 편집부 140 : 소스코드 생성부
150 : 계층적모델 뷰어부 160 : 리소스 뷰어부
170 : 애니메이션 뷰어부 180 : 시나리오 편집부
190 : 제어부

Claims (7)

  1. DEVS(Discrete Event System Specification) 기반의 시뮬레이션 모델을 생성 및 실행하기 위한 데이터 및 명령을 입력받는 입력부;
    상기 DEVS 기반의 시뮬레이션 모델의 생성 및 실행을 표시하는 표시부;
    기설정된 에디터 프로그램을 통해 상기 시뮬레이션 모델을 시각화하여 편집하고 상기 시뮬레이션 모델을 상기 표시부에 표시하도록 하는 다이어그램 편집부;
    상기 편집되는 시뮬레이션 모델들의 속성, 관계 및 포트를 설정하고 상기 모델의 시뮬레이션에 필요한 고유의 코드를 생성하는 소스코드 생성부;
    상기 다이어그램 편집부에서 편집된 적어도 하나의 시뮬레이션 모델을 계층적 구조로 시각화하여 상기 표시부에 표시되도록 하는 계층적모델 뷰어부;
    상기 모델의 시뮬레이션에 사용되는 자원을 추가 및 편집하고 상기 자원의 추가 및 편집과정을 상기 표시부에 표시되도록 하는 리소스 뷰어부;
    상기 다이어그램 편집부에서 편집된 모델에 대하여 기설정된 이벤트에 따라 시뮬레이션을 수행하도록 하여 상기 표시부에 표시되도록 하는 애니메이션 뷰어부;
    상기 모델의 시뮬레이션에서 발생되는 객체들 간의 이벤트를 설정하는 시나리오 편집부; 및
    사용자의 입력에 따라 상기 DEVS 기반의 시뮬레이션 모델의 생성, 실행, 편집을 수행하고 상기 모델의 시뮬레이션을 구현하도록 제어하는 제어부; 를 포함하는 DEVS 기반의 시뮬레이션 프레임워크 시스템.
  2. 제1항에 있어서, 상기 다이어그램 편집부는,
    상기 입력부를 통해 사용자로부터 요청된 원자모델, 결합모델, 포트 및 Child Link를 편집하고 상기 표시부에 상기 편집의 과정이 표시되도록 요청하는 DEVS 기반의 시뮬레이션 프레임워크 시스템.
  3. 제1항에 있어서, 상기 소스코드 생성부는,
    기설정된 원자모델의 함수를 구현하고 상기 원자모델 함수를 기반으로 상기 모델의 시뮬레이션에 필요한 고유의 코드를 생성하는 DEVS 기반의 시뮬레이션 프레임워크 시스템.
  4. 제1항에 있어서, 상기 계층적 모델 뷰어부는,
    상기 시뮬레이션 모델을 트리(tree)형태를 분류하여 계층적 구조로 구현하여 상기 표시부에 표시되도록 하는 DEVS 기반의 시뮬레이션 프레임워크 시스템.
  5. 제1항에 있어서, 상기 애니메이션 뷰어부는,
    상기 시뮬레이션의 실행 중 일시 정지 또는 정지를 하거나 해당 소스코드로 이동할 수 있도록 설정하는 DEVS 기반의 시뮬레이션 프레임워크 시스템.
  6. 제1항에 있어서, 상기 시나리오 편집부는,
    상기 다이어그램 편집부의 내부에 독립된 모듈로 존재할 수 있으며, 상기 모델에서 다른 모델로의 이벤트의 추가, 삭제 및 편집을 수행하도록 하는 DEVS 기반의 시뮬레이션 프레임워크 시스템.
  7. DEVS(Discrete Event System Specification) 기반의 시뮬레이션 프레임워크 시스템이 동작하고 다이어그램 편집부가 구동되는 단계;
    상기 다이어그램 편집부에서 사용자의 요청에 따라 시뮬레이션 모델을 생성하고 상기 모델에 대한 포트, Child Link를 편집하는 단계;
    소스코드 생성부에서 상기 다이어그램 편집부에서 생성된 시뮬레이션 모델의 시뮬레이션에 필요한 소스 코드를 생성하는 단계;
    계층적모델 뷰어부에서 상기 생성 및 편집되는 적어도 하나의 시뮬레이션 모델을 계층적 구조로 시각화하는 단계;
    리소스 편집부에서 상기 생성된 모델의 시뮬레이션에 필요한 자원이 편집되고 시나리오 편집부에서 상기 생성된 모델의 시뮬레이션에 필요한 이벤트가 편집되는 단계; 및
    상기 시뮬레이션 모델에 대하여 애니메이션 뷰어부에서 시뮬레이션이 실행되는 단계; 를 포함하는 DEVS 기반의 시뮬레이션 프레임워크 시스템을 이용한 시뮬레이션 방법.
KR1020130151824A 2013-12-06 2013-12-06 Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법 KR20150066377A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130151824A KR20150066377A (ko) 2013-12-06 2013-12-06 Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130151824A KR20150066377A (ko) 2013-12-06 2013-12-06 Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법

Publications (1)

Publication Number Publication Date
KR20150066377A true KR20150066377A (ko) 2015-06-16

Family

ID=53514788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130151824A KR20150066377A (ko) 2013-12-06 2013-12-06 Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법

Country Status (1)

Country Link
KR (1) KR20150066377A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190054192A (ko) * 2017-11-09 2019-05-22 한국전자통신연구원 계층 정보와 연결 정보를 이용한 devs 모델의 시각화 장치 및 그 동작방법
CN112231928A (zh) * 2020-11-02 2021-01-15 北京空间飞行器总体设计部 一种基于devs的构件化敏捷仿真框架构建方法
KR102221356B1 (ko) * 2020-09-10 2021-03-02 주식회사 두두아이티 무선 센서 네트워크를 위한 devs 기반의 시뮬레이션 장치
KR102558871B1 (ko) 2022-07-26 2023-07-24 주식회사 유토비즈 Devs를 적용한 3d 물리엔진 계층구조 프레임워크 시스템
KR102558874B1 (ko) 2022-07-26 2023-07-24 주식회사 유토비즈 Devs를 적용한 3d 물리엔진 계층구조 기반 시뮬레이션 제공 시스템 및 그 제공방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190054192A (ko) * 2017-11-09 2019-05-22 한국전자통신연구원 계층 정보와 연결 정보를 이용한 devs 모델의 시각화 장치 및 그 동작방법
KR102221356B1 (ko) * 2020-09-10 2021-03-02 주식회사 두두아이티 무선 센서 네트워크를 위한 devs 기반의 시뮬레이션 장치
CN112231928A (zh) * 2020-11-02 2021-01-15 北京空间飞行器总体设计部 一种基于devs的构件化敏捷仿真框架构建方法
KR102558871B1 (ko) 2022-07-26 2023-07-24 주식회사 유토비즈 Devs를 적용한 3d 물리엔진 계층구조 프레임워크 시스템
KR102558874B1 (ko) 2022-07-26 2023-07-24 주식회사 유토비즈 Devs를 적용한 3d 물리엔진 계층구조 기반 시뮬레이션 제공 시스템 및 그 제공방법

Similar Documents

Publication Publication Date Title
US9754059B2 (en) Graphical design verification environment generator
Magee et al. Graphical animation of behavior models
CN105843630A (zh) 一种基于机器人图形化编程开发的方法
US20090083697A1 (en) Integration of User Interface Design and Model Driven Development
CN104615541A (zh) 基于流程图的仿真测试建模系统及方法
Julius et al. Transformation of GRAFCET to PLC code including hierarchical structures
EP1836565A1 (en) Dynamic generation of formatted user interfaces in software environments
KR20150066377A (ko) Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법
US20140214396A1 (en) Specification properties creation for a visual model of a system
Ahmed et al. Cultivating software solutions development in the scientific academia
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
Van Mierlo et al. Domain-specific modelling for human–computer interaction
Zeng et al. Graphical model debugger framework for embedded systems
Bonaventura et al. Advanced IDE for modeling and simulation of discrete event systems
Clerissi et al. Test driven development of web applications: A lightweight approach
CN112181483B (zh) 等离子体控制系统软件开发平台及方法
Pires et al. Use of modelling methods and tools in an industrial embedded system project: works and feedback
Haidrar et al. On the use of model transformation for requirements trace models generation
Mayerhofer et al. xMOF: A Semantics Specification Language for Metamodeling.
Pillain et al. Towards an enactment mechanism for MODAL process models
Lagartinho-Oliveira et al. Integrated Development of Embedded Systems With Remote Graphical User Interfaces
da Cruz et al. Automatic generation of user interface models and prototypes from domain and use case models
Pradhan User interface test automation and its challenges in an industrial scenario
Talekar WebStorm: Web based support tool for organization of requirements modeling
Hegedüs et al. From bpel to sal and back: a tool demo on back-annotation with viatra2

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination