KR101358075B1 - 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 - Google Patents
모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 Download PDFInfo
- Publication number
- KR101358075B1 KR101358075B1 KR1020120017094A KR20120017094A KR101358075B1 KR 101358075 B1 KR101358075 B1 KR 101358075B1 KR 1020120017094 A KR1020120017094 A KR 1020120017094A KR 20120017094 A KR20120017094 A KR 20120017094A KR 101358075 B1 KR101358075 B1 KR 101358075B1
- Authority
- KR
- South Korea
- Prior art keywords
- model
- simulation
- devs
- mobile
- atomic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
기존의 시뮬레이션 엔진이나 모델을 수정할 필요가 없이 모바일 시뮬레이션을 위한 확장된 시뮬레이션 엔진과 모델을 추가하여 모바일 시뮬레이션이 수행할 수 있도록, 이동단말기에는 DEVS 원자모델, 시뮬레이션 엔진 모델, 통신하는 네트워크 라이브러리가 구성되고, 컴퓨터에는 DEVS 시뮬레이션 엔진, DEVS 모델, 모바일 시뮬레이션 엔진 모델이 구성되고, 컴퓨터에 위치하는 DEVS 시뮬레이션 엔진은 DEVS 모델을 실행하면서 동시에 모바일 시뮬레이션 엔진 모델을 통해 이동단말기에 위치하는 원자 모델들과 통신하여 시뮬레이션을 진행하는 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처를 제공한다.
Description
본 발명은 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 관한 것으로서, 보다 상세하게는 기존의 시뮬레이션 엔진이나 모델을 수정할 필요가 없이 모바일 시뮬레이션을 위한 확장된 시뮬레이션 엔진과 모델을 추가하는 것에 의하여 모바일 시뮬레이션을 수행할 수 있는 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 관한 것이다.
최근 모바일 컴퓨팅 환경이 확산되고, 클라우드 컴퓨팅 기술이 주목을 받는 추세와 맞물려 분산 시뮬레이션에 관한 연구도 주목을 받고 있다.
분산 시뮬레이션은 분산된 컴퓨팅 환경에서 시뮬레이션을 수행하여 사용자가 원하는 결과를 획득하는 시뮬레이션 기법이다. 분산 시뮬레이션 기법은 동일한 시뮬레이션 모델을 분산된 컴퓨팅 환경에서 수행하여 결과를 취합하는 방식과 하나의 시뮬레이션 어플리케이션을 구성하는 다양한 시뮬레이션 모델을 분산 컴퓨팅 환경에 분산시켜 사용자가 원하는 시뮬레이션 결과를 획득하는 방식으로 나뉠 수 있다.
동일한 모델을 여러 개의 분산 컴퓨팅 환경에 적용하여 시뮬레이션 결과를 취합하는 경우는 이미 검증된 시뮬레이션 어플리케이션에 대해서 몬테카를로스 시뮬레이션과 같이 다양한 난수 값을 적용하여 시뮬레이션 결과를 얻어서 분석을 하는데 사용된다.
그리고, 하나의 시뮬레이션 결과를 도출하기 위하여 여러 개의 모델을 분산시켜 병렬적으로 실행하는 분산 시뮬레이션의 경우는 컴퓨터의 자원을 더 효율적으로 사용하고 시뮬레이션 속도를 줄이기 위하여 사용된다.
상기와 같은 기존의 분산 시뮬레이션 기술들은 컴퓨팅 센터와 같이 동일한 사양의 서버들이 클러스터로 묶여 있는 구조에서 시뮬레이션을 수행하여 결과를 획득하는 것을 고려하여 설계되었고, 모바일 디바이스가 적용된 분산 시뮬레이션은 고려되지 않았다. 특별히 듀얼 코어 환경의 모바일 디바이스들과 직관적인 인터페이스를 가지는 태블릿 PC 등 고 사양의 계산 능력과 높은 휴대성을 가지는 모바일 기기 등의 등장으로 이를 활용한 분산 시뮬레이션 기법의 연구가 필요하다.
따라서, 기존의 분산 시뮬레이션 기법을 확장하여 모바일 디바이스까지 확장된 분산 시뮬레이션 아키텍처를 설계하고 이를 구현할 필요성이 있다. 과거의 모바일 디바이스들은 제한된 성능과 제한된 소프트웨어 자유도로 인해서 인하여 분산 시뮬레이션에 적합하지 않았지만, 최근 발전되는 모바일 디바이스의 성능 및 활용 방안은 굉장히 무한한 가능성을 보이고 있다. 토대로 분산 시뮬레이션 아키텍처의 구성 요소로 적용하여 다양한 시뮬레이션 응용 사례로의 확장이 가능하다.
대표적인 모바일 시뮬레이션 프레임워크의 적용사례로서는 사용자가 시뮬레이션에 일부 참여하게 되는 Human-In-The-Loop 시뮬레이션을 생각해 볼 수 있다. 이러한 시뮬레이션은 사용자의 참여를 통하여 전체 시뮬레이션의 결과가 변화하게 되는 특징이 있다. 이러한 Human-In-the-Loop 시뮬레이션의 경우 사용자의 시뮬레이션 참여를 허용하여 사용자가 어디서든지 쉽게 접근하여 시뮬레이션에 참여할 수 있는 개념으로 확장될 수 있다.
또한 국방 M&S(Modeling & Simulation)에서 중요하게 다루어지고 있는 LVC 연동 시뮬레이션에서도 Live 시뮬레이션에 적용되어 새로운 LVC 연동 개념을 확립하는데 기여할 수 있다. LVC 개념에서 Live는 사용자가 실제 움직이는 것을 뜻한다. 따라서, 모바일 디바이스를 통해 사용자가 직접 명령을 내리고 그것이 VC 시뮬레이터에 전달되어 연동된다면 다양한 형태의 VC 시뮬레이션이 가능할 것이다. 특히, LVC 시뮬레이션 연구를 위해 따로 Live Device를 제작하지 않더라도 소프트웨어적인 접근을 통해 필요한 Live 하드웨어를 제작할 수 있을 것으로 보인다.
본 발명은 상기와 같은 점에 조감하여 이루어진 것으로서, 기존의 이산사건시스템 명세(DEVS) 시뮬레이션 환경을 확장하여 모바일 시뮬레이션 프레임워크를 할 수 있도록 하는 것으로, 기존의 시뮬레이션 엔진이나 모델을 수정할 필요가 없이 모바일 시뮬레이션을 위한 확장된 시뮬레이션 엔진과 모델을 추가하여 모바일 시뮬레이션이 수행할 수 있는 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처를 제공하는데, 그 목적이 있다.
본 발명의 다른 목적은 사용자가 사용하기 원하는 원자모델과 함께 모바일 시뮬레이션 라이브러리를 모바일 기기에 설치하고 기존의 시뮬레이터를 모바일 시뮬레이션 모델과 함께 동작하도록 하여 시뮬레이션을 수행하는 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처를 제공하기 위한 것이다.
본 발명의 실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처는 이동단말기에는 DEVS(Discrete Event System Specification;이산사건시스템 명세) 원자모델, 시뮬레이션 엔진 모델, 통신하는 네트워크 라이브러리가 구성되고, 컴퓨터에는 DEVS 시뮬레이션 엔진, DEVS 모델, 모바일 시뮬레이션 엔진 모델이 구성되어 이루어진다.
상기 모바일 시뮬레이션 엔진 모델과 이동단말기의 네트워크 라이브러리는 TCP/IP 통신을 하면서 시뮬레이션 메시지를 주고받도록 이루어진다.
상기 컴퓨터에 위치하는 DEVS 시뮬레이션 엔진은 DEVS 모델을 실행하면서 동시에 모바일 시뮬레이션 엔진 모델을 통해 상기 이동단말기에 위치하는 원자 모델들과 통신하여 시뮬레이션을 진행한다.
상기에서 DEVS 모델의 실행을 위한 DEVS 시뮬레이션 엔진의 작업은 크게 두 개로 나눌 수 있는데 메시지 교환과 시간 관리이다.
상기 DEVS 시뮬레이션 엔진은 DEVS 모델의 출력을 다른 DEVS 모델의 입력으로 연결해주어야 하며 모든 하위 모델의 실행 시간을 받아서 어떤 모델이 실행할지를 결정한다.
본 발명의 실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 의하면, 이동단말기의 시뮬레이션 엔진 모델을 DEVS 원자 모델로 구현하여 기존의 DEVS 시뮬레이션 엔진이 그대로 시뮬레이션을 진행하도록 구성하여, 시뮬레이션 엔진의 관점에서는 DEVS 모델을 실행하는 것이므로, 기존의 시뮬레이션 엔진을 아무런 수정 없이 사용할 수 있어 재사용성이 높아지는 장점이 있다.
따라서, 사용자는 DEVS 모델과 시뮬레이션 구조의 수정 없이 DEVS 모델 형태의 모바일 시뮬레이션 엔진 모델을 추가하여 시뮬레이션을 확장하는 것이 가능하다. 즉, 사용자는 모바일 시뮬레이션 엔진 모델에 포트를 추가하고 모바일 상에 간단한 시뮬레이션 라이브러리와 함께 원자 모델을 탑재하는 것으로 다양한 응용을 행하는 것이 가능하다.
나아가 본 발명의 실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처는 Human-In-The-Loop 시뮬레이션이나 LVC 연동 등에 있어서 폭넓게 상용될 수 있으며, 특히 LVC 연동과 같이 기존의 모델들이 많이 구현되어 있어 기존 모델의 재사용과 확장성이 중요한 분야에서 활용도가 높다.
도 1은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처를 개략적으로 나타내는 블럭도이다.
도 2는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 원자모델의 구조를 나타내는 블럭도이다.
도 3은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 결합모델의 구조를 나타내는 블럭도이다.
도 4는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, DEVS의 모듈러한 특성을 나타내는 입출력 인터페이스를 나타내는 블럭도이다.
도 5는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, DEVS 형식론의 구조를 나타내는 개념도이다.
도 6은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, DEVS 추상화 시뮬레이터를 개념적으로 나타내는 블럭도이다.
도 7은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 시뮬레이터의 메시지와 알고리즘을 나타내는 블럭도이다.
도 8은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 코디네이터의 메시지와 알고리즘을 나타내는 블럭도이다.
도 9는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 모바일 시뮬레이션 엔진 모델의 실행을 개념적으로 나타내는 블럭도이다.
도 10은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 이동단말기에 탑재되는 원자모델의 알고리즘을 개념적으로 나타내는 블럭도이다.
도 2는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 원자모델의 구조를 나타내는 블럭도이다.
도 3은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 결합모델의 구조를 나타내는 블럭도이다.
도 4는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, DEVS의 모듈러한 특성을 나타내는 입출력 인터페이스를 나타내는 블럭도이다.
도 5는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, DEVS 형식론의 구조를 나타내는 개념도이다.
도 6은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, DEVS 추상화 시뮬레이터를 개념적으로 나타내는 블럭도이다.
도 7은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 시뮬레이터의 메시지와 알고리즘을 나타내는 블럭도이다.
도 8은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 코디네이터의 메시지와 알고리즘을 나타내는 블럭도이다.
도 9는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 모바일 시뮬레이션 엔진 모델의 실행을 개념적으로 나타내는 블럭도이다.
도 10은 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 이동단말기에 탑재되는 원자모델의 알고리즘을 개념적으로 나타내는 블럭도이다.
다음으로 본 발명에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처의 바람직한 실시예를 도면을 참조하여 상세하게 설명한다.
본 발명은 여러가지 다양한 형태로 구현하는 것이 가능하며, 이하에서 설명하는 실시예들에 한정되지 않는다.
이하에서는 본 발명을 명확하게 설명하기 위해서 본 발명과 밀접한 관계가 없는 부분은 상세한 설명을 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이고, 반복적인 설명을 생략한다.
먼저 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처는 도 1에 나타낸 바와 같이, 이동단말기(20)에는 DEVS 원자모델, 시뮬레이션 엔진 모델, 통신하는 네트워크 라이브러리(Lib)가 구성되고, 컴퓨터(10)에는 DEVS 시뮬레이션 엔진, DEVS 모델, 모바일 시뮬레이션 엔진 모델이 구성되어 이루어진다.
상기에서 DEVS(Discrete Event System Specification;이산사건시스템 명세)는 불규칙한 시간 간격으로 일어나는 시스템 내부 혹은 외부에서의 이산 사건 발생으로 인해서 상태가 변화하는 시스템을 의미한다. 즉, DEVS에서의 이산 사건 발생 시점은 외부에서 들어오는 입력 사건과, 입력이 없는 경우 내부적으로 정한 시간 조건이 만족 될 경우 발생하는 내부 사건으로 나눌 수 있다.
그리고 DEVS의 상태 방정식은 미분방정식과 같이 닫힌 형태(Closed form)로 표현할 수 없고, 이산 수학에 기초한 집합이론을 이용하여 천이 규칙을 기술한다.
상기 원자모델(Atomic Model)은 DEVS 형식론을 구성하는 가장 기본적인 모듈로서 시스템의 행동을 기술하는 모델을 의미한다.
상기 DEVS 원자모델(dAM)은, 도 2에 나타낸 바와 같이, 두 개의 상태 천이 함수를 가지는데, DEVS 형식론에 기반하여 이산사건 입력 집합(X), 이산사건 출력 집합(Y), 이산사건 상태 집합(S), 모델의 다음 상태를 기술하는 천이 함수들과 출력을 내기 위한 출력 함수(λ) 및 시간 진행 함수(ta)로 구성되며, 수학적인 표현은 다음의 수학식 1과 같다.
상기 수학식 1에 있어서, δint는 내부 상태 천이 함수를 나타내고, δext는 외부 상태 천이 함수를 나타낸다.
상기 시간 진행 함수(ta)는 S→R(0,∞)로 나타내며, 어떤 상태에 얼마나 머물 수 있는가를 기술하는 데 사용된다. 여기에서, R(0,∞)는 무한대를 포함한 비음(non-negative)의 실수 집합을 의미한다.
상기 내부 상태 천이 함수(δint)는 Q→Q로 나타내며, 외부의 입력사건과 무관하게 소요시간이 현 상태의 수명에 도달했을 때에 다음 상태로 바뀌는 현상을 표현하는 함수이다. 여기에서, Q는 총 상태(total state)의 집합을 나타내며, 다음의 수학식 2와 같이 나타내어진다.
상기 수학식 2에 있어서, e는 최근 사건 발생 이후부터의 소요시간을 의미한다.
상기 출력 함수(λ)는 Q→Y로 나타내며, 내부 상태 천이가 일어날 때 수행되어서 외부로 출력을 발생하는 함수이다. 이때 발생한 출력은 다른 모델들의 입력이 되므로 한 원자 모델의 내부 상태 천이는 다른 원자 모델들의 외부 상태 천이를 야기하게 된다. 그러나 외부 상태 천이에서는 출력이 발생하지 않으므로 다른 모델들에게 영향을 주지 않는다.
상기 DEVS 모델(M)의 실행은 상태 천이의 순간에 일어난다. 모델(M)의 상태 천이는 기본적으로 시간이 지남에 따라서 상태가 변하도록 모델(M) 내부에 명세되어 있어서 시간이 흘러서 정해진 특정한 시간에 상태 천이가 일어난다. 또는 어떤 특정 시간에 입력이 들어와서 기존에 진행되던 상태 천이와 관계없이 그 입력에 따라 상태 천이가 일어난다. 각각의 경우에 대해서 원자 모델의 4가지 함수의 호출 순서는 다음과 같다.
먼저 정해진 시간 동안 입력이 없이 모델 내부에서 정한 시간이 되어서 상태 천이가 일어나는 경우에, 출력 함수(λ)가 실행되어 출력(Y)을 내보내게 된다. 그리고 내부 상태 천이 함수(δint)를 실행시켜 모델의 상태(S)를 바꾸고 시간 진행 함수(ta)를 실행시켜 바뀐 상태에서 현재 시간으로부터 다음 실행까지의 시간 간격을 정해준다. 이 시간 간격이 다음 모델이 실행되어 상태 천이가 발생할 때까지의 간격이 된다.
상기 출력(Y)은 다른 원자 모델에 입력(X)으로 주어진다. 입력(X)가 어떤 원자 모델에 발생할 경우, 이 모델은 기다리고 있던 시간에 대한 정보를 없애고 입력(X)에 대한 반응을 한다. 원자 모델은 입력에 대한 외부 상태 천이 함수(δext)를 실행시켜 상태를 바꾸고 시간 진행 함수(ta)를 호출해서 현재 시간으로부터 다음 실행까지의 시간 간격을 새롭게 정해준다.
그리고 DEVS 결합모델은, 도 3에 나타낸 바와 같이, 포함되는 구성(Component) 모델 등과 외부 입력, 외부 출력 사이의 연결 정보를 표현한다. 일반적으로 DEVS 결합모델은 외부 입력과 내부 모델의 입력을 연결하는 외부 입력 관계(External Input Coupling: EIC)와 내부 모델의 출력과 외부 출력을 연결하는 외부 출력 연결 관계(External Output Coupling: EOC), 내부 모델의 출력과 내부 모델의 입력을 연결하는 내부 연결 관계(Internal Coupling: IC)를 공통으로 포함한다. 클래식 DEVS 구조론에서는 같은 시간에 발생하는 사건을 가지는 모델들에 대한 선택 함수를 포함하지만, 시뮬레이터 개발 방법론에 적용할 때는 개발할 시스템의 조건에 따라 선택적으로 제거할 수 있다.
상기 DEVS 결합모델(Coupled Model)은 DEVS 형식론을 사용할 경우, 모델을 부품화하고 계층적으로 개발할 수 있는 장점이 있다.
상기 DEVS 결합모델(dCM)은 다음의 수학식 3과 같이 정의된다.
상기 수학식 3에 있어서, {dMi}는 모든 이산사건 구성 모델들의 집합을 나타내고, EIC는 외부 입력 연결 관계를 나타내고, EOC는 외부 출력 연결 관계를 나타내고, IC는 내부 연결 관계를 나타내고, SELECT는 2{dMi} - 0 → dMi로서 같은 시각에 존재하는 사건을 발생하는 모델들에 대한 선택함수를 나타낸다.
그리고 상기 DEVS 형식론은 복잡한 시스템을 구성요소별로 나누어 각각의 모델을 만든 후, 이를 합쳐서 전체 시스템을 표현할 수 있도록 구성된다.
상기 DEVS 형식론에는 시스템 구성 요소를 나타내는 원자모델과 여러 모델을 합쳐서 새로운 모델을 구성할 수 있는 결합모델이 있으며, 이 두 가지 종류의 모델을 사용하여 시스템을 계층적이고 모듈러하게 표현한다.
예를 들면, 도 4에 나타낸 바와 같이, 입력과 출력에 대한 인터페이스가 있으며, 이러한 모델은 모델 내부와 상관없이 인터페이스만 맞추어 주면 사용될 수 있는 모듈러한 장점을 가진다.
따라서, DEVS 모델링에서는 위와 같이 모듈러한 원자모델과 결합모델로부터 시스템을 계층적으로 모델링할 수 있다.
예를 들면, 도 5에 나타낸 바와 같이, 시스템 ABC가 있을 때, 이것을 통해 결합모델 ABC를 모델링하고, 이것을 다시 결합모델 AB와 원자모델 C로 모델링하고, 결합모델 AB는 각각의 원자모델 A, B로 모델링한다.
상기와 같이 하나의 복잡한 시스템을 기초적인 원자모델까지 쪼개나가면서 모델링하는 것이 가능하므로, 이렇게 구현된 DEVS 모델은 시뮬레이션 엔진이 해석 가능하도록 구현되어 실행된다.
따라서, DEVS 모델은 상기와 같이 계층적인 모델링을 이용하여 사용자는 빠르고 쉽게 모델링을 할 수 있고 모델 재사용성을 확보할 수 있으며, 모델의 검증(Verification)과 실증(Validation)을 용이하게 할 수 있다. 이러한 장점들로 DEVS 모델링이 객체 지향적인 모델링의 특성을 가짐을 알 수 있으며, 이것은 크고 복잡한 시스템의 모델링 및 시뮬레이션에 도움이 된다.
다음으로 상기 DEVS 모델을 실행하기 위한 알고리즘에 대해서 간략히 살펴 본다.
상기 DEVS 형식론의 가장 큰 특징 중의 하나가 모델과 시뮬레이터의 분리이며, 도 6에는 DEVS의 추상화 시뮬레이터의 구조를 나타낸다.
도 6에 있어서, 왼편은 모델의 구성을 보여준다. 최상위 M123 결합모델이 있고, 이 모델은 다시 원자모델 M1과 결합모델 M23, 결합모델 M23은 다시 원자모델 M2, M3으로 이루어져 있는 것을 알 수 있다.
상기와 같이 모델 구성에서 각 단말은 원자모델이, 중간 노드는 결합모델이 위치하는 것을 알 수 있다.
그리고 도 6에 있어서, 오른편의 시뮬레이터도 왼편의 모델과 동일한 계층 구조를 갖는다. 원자모델에는 시뮬레이터(Simulator)(S)라고 하는 시뮬레이션 프로세서가, 결합모델에는 코디네이터(Coordinator)(C)라고 하는 시뮬레이션 프로세서가 위치한다.
상기 DEVS 형식론에서 모델 자체는 수동적인 개체이다. 모델은 기 정해진 집합과 함수들로 이루어져 있을 뿐, 실제적으로 함수를 호출하는 것은 모델에 연결되어 있는 시뮬레이션 프로세서이다. 즉, 시뮬레이터(S)와 코디네이터(C)가 서로 시뮬레이션 메시지를 주고 받으면서, 각각 담당하고 있는 모델의 함수 및 정보를 참조하여 시뮬레이션을 진행한다
상기 시뮬레이터(S)는 계층 구조 상의 자신의 상위 코디네이터(C)와 메시지를 주고 받는다. 도 7에는 시뮬레이터(S)가 주고 받는 메시지 및 처리 알고리즘을 나타낸다.
상기 시뮬레이터는, 도 7에 나타낸 바와 같이, 상위 코디네이터로부터 (x,t), (*,t) 메시지를 받고, (y,t), (done,tN) 메시지를 보낸다. 여기서 (x,t)는 시각 t에서의 외부 입력 이벤트를 의미하고, (y,t)는 시각 t에서 생성된 출력 이벤트를 의미한다. (*,t)는 스케줄 된 시각 t가 되었음을 나타내는 내부 이벤트이며, (done,tN)는 다음 스케줄 된 시각이 tN 이라는 것을 알리는 메시지이다.
상기 원자모델은 하나의 상태에서 머물 수 있는 시간이 정해져 있으므로, 어떤 시각 t에서 어떤 상태 s가 되었다면, 그 상태는 외부 입력이 없다면, t+ta(s) 시각까지 머물 수 있게 된다. 이것을 시뮬레이션하기 위해서 시각 t에서 상태 변환을 할 때, t+ta(s)값을 구해서 미리 스케줄 해 놓는다.
상기 (*,t) 메시지는 미리 스케줄 해 놓은 시간(t)이 다 되었음을 의미한다. 상기 시뮬레이터가 이 메시지를 받으면, 출력 이벤트를 발생시키고(y = λ(s)), 발생된 이벤트를 상위 코디네이터에게 전달한다((y, t)). 이 후, 내부 상태 천이 함수로 모델의 상태를 변경한다(S′=δint(s)). 또한, 시간 진행 함수를 이용하여 변경된 상태에서 머물 수 있는 시간을 구한다. 이 시간을 현재 시간에 더해서 다음 스케줄 시간을 구한 다음, (done, tN) 메시지로 상위 코디네이터에게 보고한다. 이 때, t=t+ta(s′)이 된다.
상기에서 하나의 모델에서 발생한 출력 이벤트는 코디네이터를 거치면서 입력 이벤트로 변화되어 전달된다. 입출력을 구분하기 위해서 x, y의 구분을 두었을 뿐, 두 메시지는 사실상 동일한 것이다.
상기 시뮬레이터가 (x,t) 메시지를 받으면 외부 상태 천이 함수를 실행하여 모델의 상태를 변경시킨다(s′=δext(x,s,e)). 앞선 경우와 마찬가지로, 모델의 상태가 바뀌었으므로, 바뀐 상태에 대한 스케줄을 다시 하여 상위 코디네이터에 새로운 스케줄을 알려준다((done,tN)).
상기 코디네이터는, 도 8에 나타낸 바와 같이, 자신의 상위 코디네이터로부터 (x,t), (*,t) 메시지를 받고, 하위 시뮬레이터 및 코디네이터로부터 (y,t), (done,tN) 메시지를 받는다. 또한 상위 코디네이터로 (y,t), (done,tN)를 보내고, 하위 코디네이터/시뮬레이터로 (x, t), (*, t)를 보낸다.
상기 코디네이터가 하는 일은 크게 두 가지로, 출력 이벤트를 적절히 전달하는 일과 하위 모델들의 스케줄 시간을 관리하는 일이다.
상기 코디네이터가 (x, t)를 받으면 외부 모델이 발생한 출력 메시지가 전달된 것이다. 상기 코디네이터는 받은 (x, t)를 자신의 외부 입력 연결 관계에 의해서 전달되어야 하는 내부 모델에게 전달한다. 내부 모델이 원자모델이든, 결합모델이든, 상관없이 (x, t) 메시지의 처리가 끝나면 (done,tN)메시지를 돌려준다.
상기 코디네이터가 하위 시뮬레이터 및 코디네이터로부터 (done,tN) 메시지를 받으면, 각 모델들을 시간이 빠른 순서로 정렬한다. 만약 모든 하위 프로세스가 메시지 처리를 종료하고 (done,tN)메시지를 보냈다면, 코디네이터는 그 중 가장 작은 시간 값(Minimum tN)을 자신의 상위 코디네이터에게 (done,tN=Minimum tN) 메시지로 보고한다.
상기 모델 구조 중 최상위에 위치한 코디네이터는 특별히 시간 진행의 역할을 맡는다. 최상위 코디네이터가 하위 모델로부터 (done,tN)을 받으면, 다음 이벤트 시간이 tN 인 하위 모델에게 (*,t=tN) 메시지를 보내서 시뮬레이션을 진행시키는 역할을 한다.
상기 상위 코디네이터로부터 (*,t)를 받으면, 자신의 하위 모델들 중 가장 작은 시간(min{tNi|i=1,..m|})을 가지는 모델의 프로세스로 (*,t)를 전달한다. 이 때, 반드시 t=min{tNi|i=1,..m|}의 관계가 성립해야 한다. 만약 두 개 이상의 모델이 같은 시간 최소값을 가지고 있다면, 선택 함수(SELECT)를 사용하여 어떤 모델 프로세스로 (*,t)를 전달할지 결정한다. (*,t)를 전달받은 모델이 (y,t)를 보내오면, 내부 연결 관계와 외부 출력 연결 관계 등에 따라 다른 내부 모델 프로세스로 전달하거나, 자신의 상위 코디네이터에게 전달한다. 내부 연결 관계에 따라 다른 내부 모델 프로세스로 전달할 경우, (x,t)로 변환하여 전달한다. 하위 프로세스가 전달된 (*,t), (x,t) 메시지 처리를 끝내고 (done,tN)을 보내오면 상기한 바와 같이 가장 작은 시간 값(min{tNi|i=1,..m|})을 자신의 상위 코디네이터에게 (done, tN= min{tNi|i=1,..m|}) 메시지로 보고한다.
다음으로 계층적인 스케줄링 알고리즘의 동작을 통해 계층적 오버헤드에 대해 설명한다. 도 6에 나타낸 M1, M2, M3로 이루어진 계층적인 구조에서 M1으로부터 나간 출력이 M3에 도달하는 과정을 순서대로 나열해보면 다음과 같다.
1. C:M123는 가장 작은 tN을 요청한 A:M1에 (*) 메시지를 보낸다.
2. A:M1의 λ 함수에서 (y)를 C:M123로 보낸다.
3. C:M123는 (y)를 (x)로 변환해서 C:M23로 보낸다.
4. C:M23는 (x)를 다시 A:M3로 보낸다.
5. A:M3는 (x)를 입력으로 하는 δext함수를 실행한다.
6. A:M3는 ta 함수를 실행, 자신의 tN을 얻는다.
7. A:M3는 M23에게 (done,tN)을 보낸다.
8. C:M23는 M2의 tN과 M3의 tN을 비교해서 작은 값을 정하여 C:M123에게 (done,tN)을 보낸다.
9. A:M1은 계속해서 δint 함수를 실행한다.
10. A:M1은 ta 함수를 실행, 자신의 tN을 얻는다.
11. A:M1은 (done,tN)을 C:M123에 보낸다.
12. C:M123는 M1과 M23 중에 작은 tN 값을 얻어서 그 모델을 실행하는 (*) 메시지를 전달함으로 시뮬레이션을 계속 진행한다.
상기에서 2, 3, 4, 5번은 하나의 원자모델로부터 나온 출력이 다른 원자모델에 입력되는 메시지 전달 과정이다. 즉, 원자모델 M1로부터 나온 출력이 M1, M123, M23를 거쳐 M3에 전달된다. 이 과정에서 연결 관계(Coupling Relation)가 참고된다. 연결 관계란 한 모델의 출력과 그 다음 경로가 되는 모델의 입력의 관계이다.
예를 들면, 결합모델에는 EOC, EIC, IC가 있어서 원자모델과 결합모델 사이의 관계를 나타낸다.
그리고 시간 관리는 하나의 원자모델이 실행 된 후 다음으로 어느 원자모델이 실행될지를 결정하기 위해 모델들의 시간을 관리하는 과정이다. 예를 들면, 상기에서는 1, 7, 8, 11, 12에서 그 과정을 확인할 수 있다.
상기와 같이 이루어지는 계층적인 알고리즘에서는 모델 실행 시간에 대한 전역적인 정보가 존재하지 않고 분산되어 있다. 따라서 원자 모델의 실행 시간이 갱신될 때마다 갱신된 시간을 계층적 구조를 통해 수집해야 하는 문제가 발생한다. 코디네이터는 자신의 자식들로부터 수정된 시간을 받고 자신의 자식들의 시간 순서를 재배치 한 다음, 그 중에 최소값을 구한다. 결국 최상위 코디네이터는 모든 값을 수집하게 되고 여기서 결정된 최소 실행 시간을 가지는 모델이 실행 명령을 받게 된다.
상기에서는 실행시간이 수정된 M3가 (done,tN) 메시지를 M23로 보내고 M23는 다시 M123으로 (done,tN)을 보낸다.
그리고 도 1에 나타낸 바와 같이, 상기 모바일 시뮬레이션 엔진 모델과 이동단말기의 네트워크 라이브러리는 TCP/IP 통신을 하면서 시뮬레이션 메시지를 주고받도록 이루어진다.
상기 컴퓨터(10)에 위치하는 DEVS 시뮬레이션 엔진은 기존의 DEVS 모델을 실행하면서 동시에 모바일 시뮬레이션 엔진 모델을 통해 이동단말기(20)에 있는 원자모델들과 통신하여 시뮬레이션을 진행한다.
상기에서 DEVS 모델 실행을 위한 DEVS 시뮬레이션 엔진의 작업은 크게 두 개로 나눌 수 있는데 메시지 교환과 시간 관리이다.
상기 DEVS 시뮬레이션 엔진은 모델의 출력을 다른 모델의 입력으로 연결해주어야 하며 모든 하위 모델의 실행 시간을 받아서 어떤 모델이 실행할지를 결정한다.
상기 DEVS 시뮬레이션 엔진은 (*,t), (done,tN)를 통해 시간 관리를 하고, (x,t), (y,t)를 통해 입출력을 주고받는다. 또한 실행된 모델은 출력과 다음 실행할 시간 tN을 상기 DEVS 시뮬레이션 엔진에 돌려준다. 따라서, 상기 DEVS 시뮬레이션 엔진이 이동단말기(20)에 위치한 원자모델들을 실행하기 위해서는 이 메시지들을 원자모델에 전달하고 또 모델의 출력 메시지를 돌려받는 역할이 네트워크를 통해 이루어진다.
상기에서 네트워크를 통해 DEVS 시뮬레이션 엔진의 메시지를 주고 받는 역할을 모바일 시뮬레이션 엔진 모델이 담당한다.
상기 모바일 시뮬레이션 엔진 모델은 기본적으로 DEVS 원자모델로 구현하여 기존의 DEVS 시뮬레이션 엔진이 그대로 시뮬레이션을 진행하도록 구성한다. 즉, 시뮬레이션 엔진의 관점에서는 DEVS 모델을 실행하는 것이므로, 기존의 시뮬레이션 엔진을 아무런 수정 없이 사용할 수 있어 재사용성이 높아진다.
상기에서 시뮬레이션은 크게 시간 관리와 데이터 교환으로 이루어진다.
먼저, 시간 관리를 정의하기 위해서 먼저 모바일 시뮬레이션 엔진 모델의 활용적인 측면에서 검토하면, 이동단말기(20)에서 동작하는 원자모델은 주로 실 사용자와의 상호작용을 통해 동작할 것이다. 예를 들어, LVC 연동 체계에서 Live를 담당하는 Live에 해당하는 이동단말기(20)를 사용자가 소지하고 주기적으로 현재의 위치를 전송할 수도 있고, 또는 사용자가 주기적으로 이벤트를 발생시킬 수도 있다. 이러한 과정은 실시간에 이루어지며 불특정한 시간에 이루어지는 것으로 시뮬레이션 엔진의 시간 관리와는 상관없는 부분이라고 볼 수 있다.
따라서, 모바일 시뮬레이터와 DEVS 모델 간에는 시간과 관련된 메시지가 없다고 가정하며 스케줄링을 할 필요가 없다고 가정한다. 일반적으로, 전형적인 DEVS 형식론은 낙관적인 시간 진행을 하지 않으며 모든 하위 모델의 다음 실행 시간이 정해진 뒤에 가장 긴급한(imminent) 모델에게 실행 명령을 내리는데 이 시간과 관계없이 시뮬레이션이 진행되도록 한다. 이를 위하여 모바일 시뮬레이션을 위한 DEVS 모델은 항상 시간 진행을 하지 않아야한다. 따라서 모바일 시뮬레이션을 위한 DEVS 모델에는 (*,t) 메시지도, (done,tN) 메시지와도 관계가 없다.
상기에서 시간 관리가 포함되는, 즉, 이동단말기(20) 상의 원자모델 또한 스케줄링을 해야한다면 네트워크상으로 시간 관리 정보를 주고 받아야 하며 이것이 완료되기 전까지는 시뮬레이션이 진행될 수 없기 때문에 기존의 시뮬레이션 엔진으로서는 상당한 부담으로 다가올 것이다. 이러한 경우는 차라리 이동단말기(20)에서의 시뮬레이션 엔진이 따로 존재하는 구조가 더 적합지만, 이동단말기(20)에서 시뮬레이션 엔진을 실행하고 연동을 위한 미들웨어를 기동하는 것은 이동단말기(20)에 적합하지 않을 것으로 판단되고, 사실상 응용 가능성이 많지 않기 때문에 본 실시예에서는 시간 관리가 필요없는 응용을 대상으로 설명한다.
그리고 사실상 시간 관리가 의미가 없다고 할 때, 중요한 것은 데이터 교환이다. 데이터 교환 과정은 포트로 들어온 입력을 전달하고, 이동단말기(20) 원자모델의 출력을 입력으로 다른 모델에 제공한다. 데이터의 입력은 시간과 함께 입력되지만, 출력은 시간의 정보가 담기지 않는다.
도 9에는 본 발명의 일실시예에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처에 있어서, 모바일 시뮬레이션 엔진을 위한 원자모델의 DEVS 그래프를 나타낸다.
예를 들면, 사용자가 시뮬레이션 모델을 시뮬레이션 엔진에 실행시키면서 원자모델을 다른 모델들과 연결하여 사용할 수 있도록 구성되고, 다른 모델들과의 메시지 교환을 위한 임의의 입력 포트(in_1, in_2 등) 및 임의의 출력 포트( out_1 등)가 있다.
상기 각각의 포트는 원자모델이 알고 있는 모델들과 연결되어 있다. 즉, 원자모델의 형태를 띄고 있으나 결합모델처럼 포트를 내부의 다른 모델과 연결하는 구조이다. 그 외에 fromMobile이라는 포트도 존재하는데 이 포트는 네트워크 라이브러리를 통해서 이동단말기(20)의 원자모델로부터 입력이 생겼을 때 메시지가 들어오는 포트이다.
상기 시뮬레이션 엔진은 3가지 상태를 가지는데 WAIT, toEngine, toMobile이다.
상기 모바일 시뮬레인션 엔진 모델의 초기 상태는 WAIT이다. 모델이 실행되면 WAIT 상태에서 입력 포트로 들어오는 입력을 기다린다. WAIT 상태의 기본 시간 진행은 무한대로서 내부 천이가 일어나지 않는 상황이다.
상기와 같은 상태에서 입력 포트로 입력이 들어오면, 그 입력은 그대로 이동단말기(20)상에 존재하는 원자모델에게 전달되고, WAIT 상태는 입력에 의해 toMobile 상태로 천이되고, toMobile 상태에서는 출력으로서 이동단말기(20) 원자모델 중에 포트와 연결된 모델에 메시지를 전송한다.
반대로 이동단말기(20)로부터 메시지가 들어오는 경우에는 네트워크 라이브러리에 의해서 메시지가 발생하고, 이 메시지는 모바일 시뮬레이션 엔진 모델의 입력으로 들어온다.
상기 이동단말기(20)로부터 발생한 입력은 fromMobile이라는 입력 포트로 들어오고, 그로 인해 toEngine이라는 상태로 천이된다. 상기 toEngine 상태에서는 엔진 모델의 출력 포트 중에 연결되어 있는 포트를 찾아서 출력으로 해당하는 메시지를 출력한다.
다음의 표 1에는 상기와 같은 과정으로 작동하는 시뮬레이션 엔진 모델의 의사코드를 나타낸다.
state // 엔진의 상태 outToMobile // 모바일 모델로 보내는 내용을 담은 임시 변수 outToEngine // 다른 DEVS 모델로 보내는 내용을 담은 임시 변수 initialize() state = WAIT ExtTransFn( port, input ) if the port is mapped to other DEVS models state = toMobile dest = find( port ) outToMobile = (dest, input) if the port is mapped to network library state = toEngine dest = find( port ) outToEngine = (dest, input ) end function IntTransFn() if state = toEngine state = WAIT if state = toMobile state = WAIT end function OutputFn( output ) if state = toMobile sendToMobile( outToMobile ) if state = toEngine output = outToEngine end function TimeAdvanceFn() if state = WAIT return Infinity else return 0.0 end function |
상기 표 1과 반대되는 이동단말기(20) 측의 라이브러리 설계는 간단하다. 원자모델에 대한 인터페이스를 갖추고 있으면서 네트워크로 전달되는 메시지를 통해 상태 천이를 일으키고 출력 함수에 의한 메시지를 네트워크로 전달한다.
예를 들면, 상기 이동단말기(20)에 탑재되는 시뮬레이터의 원자모델은 기존의 DEVS와 다른 형태를 가지게 된다.
상기 이동단말기(20)의 시간이 전체 시뮬레이션 시간과 동기화되어 있지 않기 때문에 네트워크 라이브러리를 통한 시간 요청을 할 수 없고, 외부에서 보기에 시간 진행 값은 항상 무한대를 가지게 된다.
그러나 이동단말기(20)상의 원자모델도 자신의 시간 관리가 필요할 수 있다. 예를 들어, 외부로부터의 입력에 의해 상태가 바뀌었다면 바뀐 상태에서 출력이 필요하며, DEVS 형식론에서는 출력 상태에서의 시간 진행이 필요하다. 외부 천이 함수 호출->상태 변화->바뀐 상태에서의 시간 진행 요청->출력->내부 천이 함수 호출 순의 시퀀스로 실행이 되므로, 적어도 이 DEVS 형식론을 지키기 위해서라면 외부에 대한 반응으로 출력이 바로 발생하는 것은 시간 관리가 필요하다. 또는 주기적으로 자신의 위치를 시뮬레이션 엔진으로 발생시키는 것과 같이 일정한 시간을 주기로 시뮬레이션 엔진에 시간을 요청할 필요한 경우에도 시간 관리가 필요하다.
따라서, 이동단말기(20)의 시뮬레이션 라이브러리는 시간 관리를 해주는 간단한 시뮬레이션 엔진을 통해 모바일 상의 원자모델을 실행한다. 이동단말기(20)상에서는 사용자와 연결되어 있기 때문에 실시간으로 동작하며 이 시뮬레이션 엔진의 역할을 크게 정리하면 다음과 같다.
1.네트워크 라이브러리를 통해 들어오는 메시지로 원자 모델의 외부 천이 함수를 실행하고 메시지를 입력한다.
2.원자모델의 출력 메시지를 네트워크 라이브러리를 통해 내보낸다.
3.원자모델의 다음 실행 실시간 실행 시간을 받아서 해당하는 시간에 시뮬레이션의 내부 천이 함수와 출력함수를 실행한다.
예를 들면, 메시지는 네트워크 라이브러를 통해 주고받고 시간 요청은 내부적으로 처리하는 구조를 가지게 된다.
도 10에는 상기와 같은 내용을 간략하게 나타낸다.
예를 들면, GUI나 다른 이동단말기(20)의 컴포넌트(Other Components)는 원자모델을 통해 사용하도록 사용자가 설계하고, 본 발명의 실시예에 해당하는 부분은 간단한 DEVS 실행 엔진과 네트워크 라이브러리이다.
상기에서 시간 요청은 간단한 DEVS 엔진에 의해서 처리되고, 메시지 관련은 네트워크 라이브러리를 통해 이동한다.
상기와 같은 내용을 바탕으로 이동단말기(20) 시뮬레이션 라이브러리의 의사코드를 나타내면, 다음의 표 2와 같다.
tNext // 다음 실행 시간 tReal // 실시간 시뮬레이션 시간 SimulationRun() while( true ) if tNext = tReal OutputFn( output ) sendToNetwork( output ) IntTransFn() tNext = TimeAdvanceFn() when_recieve_y(y, t) // from Network Library ExtTransFn( y ) tNext = TimeAdvanceFn() done while end function |
상기와 같이 본 발명의 일실시예에 의하면, 기존의 DEVS 시뮬레이션을 이동단말기(20)로 확장하여 모바일 시뮬레이션 프레임워크를 설계하는 것이 가능하다.
예를 들면, 기존의 시뮬레이션 엔진과 DEVS 모델을 그대로 사용하면서도 네트워크를 통해 이동단말기(20)의 특성을 이용할 수 있는 확장된 프레임워크를 구현하는 것이 가능하며, 시뮬레이션이 충분히 제대로 이루어지는 것을 확인할 수 있다.
따라서, 사용자가 모바일 시뮬레이션 엔진 모델에 포트를 추가하고 이동단말기 상에 간단한 시뮬레이션 라이브러리와 함께 원자모델을 탑재하여 다양한 응용을 하는 것이 가능하고, Human-In-The-Loop 시뮬레이션이나 LVC 연동 등에 있어서 폭넓게 상용될 수 있으며, LVC 연동과 같이 기존의 모델들이 많이 구현되어 있어 기존 모델의 재사용과 확장성이 중요한 분야에서도 활용하는 것이 가능하다.
상기에서는 본 발명에 따른 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고, 특허청구범위와 명세서 및 첨부한 도면의 범위 안에서 여러가지로 변형하여 실시하는 것이 가능하고, 이 또한 본 발명의 범위에 속한다.
10 - 컴퓨터, 20 - 이동단말기
Claims (3)
- 이동단말기에는 시스템의 행동을 기술하는 DEVS 원자모델, 상기 DEVS 원자모델을 실행하는 시뮬레이션 엔진 모델, 컴퓨터와 통신하며 시뮬레이션 메시지를 송수신하는 네트워크 라이브러리가 구성되고,
컴퓨터에는 시스템 구성요소를 나타내는 원자모델과 상기 원자모델들의 결합인 결합모델의 계층적 구조를 포함하는 DEVS 모델, 상기 DEVS 모델을 실행하는 DEVS 시뮬레이션 엔진, 상기 DEVS 원자모델들과 통신하는 모바일 시뮬레이션 엔진 모델이 구성되고,
상기 DEVS 시뮬레이션 엔진은 상기 DEVS 모델을 실행하면서 동시에 상기 모바일 시뮬레이션 엔진 모델을 통해 상기 DEVS 원자 모델들과 통신하여 시뮬레이션을 진행하며,
상기 DEVS 시뮬레이션 엔진은 상기 DEVS 모델의 출력을 다른 DEVS 모델의 입력으로 연결해주며, 상기 계층적 구조를 포함하는 DEVS 모델 중 하위 모델의 실행 시간을 받아서 어떤 모델을 실행할지를 결정하는 모바일 기기를 위한 분산 이산사건시스템 명세 기반 시뮬레이션 시스템. - 청구항 1에 있어서,
상기 모바일 시뮬레이션 엔진 모델과 상기 네트워크 라이브러리는 네트워크 통신을 하면서 시뮬레이션 메시지를 주고받도록 이루어지는 모바일 기기를 위한 분산 이산사건시스템 명세 기반 시뮬레이션 시스템. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120017094A KR101358075B1 (ko) | 2012-02-20 | 2012-02-20 | 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120017094A KR101358075B1 (ko) | 2012-02-20 | 2012-02-20 | 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130095557A KR20130095557A (ko) | 2013-08-28 |
KR101358075B1 true KR101358075B1 (ko) | 2014-02-04 |
Family
ID=49218870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120017094A KR101358075B1 (ko) | 2012-02-20 | 2012-02-20 | 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101358075B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102505850B1 (ko) * | 2020-12-17 | 2023-03-02 | 현대오토에버 주식회사 | 차량 소프트웨어 개발 시스템 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000099475A (ja) * | 1998-09-25 | 2000-04-07 | Mitsubishi Electric Corp | 分散模擬装置 |
JP2000132519A (ja) * | 1998-10-29 | 2000-05-12 | Mitsubishi Electric Corp | 分散シミュレーションシステム |
-
2012
- 2012-02-20 KR KR1020120017094A patent/KR101358075B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000099475A (ja) * | 1998-09-25 | 2000-04-07 | Mitsubishi Electric Corp | 分散模擬装置 |
JP2000132519A (ja) * | 1998-10-29 | 2000-05-12 | Mitsubishi Electric Corp | 分散シミュレーションシステム |
Also Published As
Publication number | Publication date |
---|---|
KR20130095557A (ko) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240821B (zh) | 一种基于边缘计算的分布式跨域协同计算与服务系统及方法 | |
Liu et al. | Review on cyber-physical systems | |
Bhatt et al. | Parallel simulation techniques for large-scale networks | |
Zhu et al. | Codesign methodologies and tools for cyber–physical systems | |
CN101504688B (zh) | 一种基于hla的仿真软件交互方法 | |
CN110493304A (zh) | 边缘计算系统以及交易系统 | |
CN103729257A (zh) | 一种分布式并行计算方法以及系统 | |
Taylor et al. | Integrating heterogeneous distributed COTS discrete-event simulation packages: an emerging standards-based approach | |
Sanz et al. | Cyber–physical system modeling with Modelica using message passing communication | |
Chan et al. | Modelling for agile manufacturing systems | |
KR101358075B1 (ko) | 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 | |
Akkaya et al. | Uncertainty analysis of middleware services for streaming smart grid applications | |
Nguyen et al. | A process for continuous validation of self-adapting component based systems | |
Bartolini et al. | A uml profile and a methodology for real-time systems design | |
Ahmed | A general infrastructure for communication between Petri modules | |
Okhovvat et al. | Task Allocation Approach for Minimizing Make-Span in Wireless Sensor Actor Networks. | |
Kelley et al. | Energy Resilience for Mission Assurance: Agile Co-simulation for Cyber Energy System Security (ACCESS), Model Advancements for Resilience Analysis | |
Neema et al. | Rapid synthesis of multi-model simulations for computational experiments in c2 | |
Gorton et al. | Reliable parallel software construction using PARSE | |
Franks | Simulating layered queueing networks with passive resources. | |
Sudeikat et al. | Qualitative modeling of MAS dynamics: using systemic modeling to examine the intended and unintended consequences of agent coaction | |
Hsieh et al. | Study on using design patterns to implement a simulation system for WiMAX network | |
Määttä et al. | Joint validation of application models and multi-abstraction network-on-chip platforms | |
Abdelli et al. | Time Petri Nets for performance evaluation of composite web services architectures | |
Zhang et al. | HLA-based network simulation for interactive communication system |
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: 20161227 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |