SOM SOM HLA/ 기반연동개념도 Unix Platform JAVA Simulator 1 Simulation model 연동을위한추가적인기능 필요시데이터교환 Simulator 2 Simulation model Windows Platform C++ 1 of 23 시간진행 Shared Object 1 Shared Object 2 값을바꾸면서로알려줌 Shared Object 1 Shared Object 2 시간진행 FOM 시간진행승인 시간진행승인 시간진행요청 시간진행요청 Global time manager HLA (High Level Architecture) : 시뮬레이터연동을위한통신프로토콜의국제표준 DoD Standard (HLA v1.3, 1996) / IEEE Standard (IEEE 1516, 2000) (Run Time Infrastructure): HLA 를구현한미들웨어 (OS 와응용프로그램사이 ) SW HLA API 를만족하는여러회사제품출시 : VTC, Pitch, MÄ K, ( n ) 등
일반화된시스템연동 2 of 23 실제시스템 1 실제시스템 2 실제장비 운용자 시뮬레이션연동기반환경 ( 예 : ) 실시간자료 시뮬레이터 1 시뮬레이터 2 데이터베이스
HLA/ 민수응용 연동시뮬레이션 대규모분산시뮬레이션실시간훈련용시뮬레이션 3 of 23 네트워크가상환경 네트워크상에서가상현실구축을위한통신미들웨어 HLA Radio / 인터넷전화 (VoIP) 네트워크화된디지털오디오통신시스템데이타네트워크과실제의 Radio 네트워크의연결 ASTi, SimPhonics 네트워크게임 군사훈련용비디오게임 Spearhead II, MAGTF XXI, Battle Command 2010 대규모게임어가참여하는온라인 (MMPOG) MMPOG (OpenSkies) 의통신기반 Enigma:Rising Tide ( Tesseraction )
HLA 용어정의 페더레이트 (Federate) : HLA 규격을만족하는단독시뮬레이터 페더레이트 = 연동시뮬레이터 페더레이션 (Federation) : 페더레이트들의집합체 페더레이션 = 연동시뮬레이션 HLA 3 요소 : 정의 페더레이션규칙 페더레이트와시뮬레이션의역할 인터페이스명세 가제공하는서비스정의 각페드레이트가제공해야할서비스 (Callback 함수 ) 정의 객체모델템프렛 (OMT) 시뮬레이션객체모델 (SOM) 페더레이트들사이의인터페이스 페더레이트마다달라지며각페더레이트당 1 개씩정의 페더레이션객체모델 (FOM) SOM 를통합한페더레이션전체인터페이스 페더레이션에참여하는모든페더레이트는동일한 FOM 관리객체모델 (MOM) 시뮬레이션진행 / 제어를위한통합적인정보 4 of 23
HLA 6 가지서비스및연동관련기능 5 of 23 Simulators Interoperation HLA Service Federation Management Declaration Management Object Management Data Distribution Management Time Management Ownership Management 환경정의 O 공유할 Object 정보 O O O O Message O O O 시간진행 O
HLA 표준화및 구현 6 of 23 분산시뮬레이션알고리즘 1 5 2 TCP/IP 기반통신프로토콜표준 Browser TCP HTTP Protocol TCP Protocol Server TCP Application Layer Transport Layer 4 3 t N =min{t N1, t N2,, t N5 } IP Ethernet IP Protocol Ethernet Protocol IP Ethernet Internet Layer Physical Layer CORBA 기반분산객체표준 + Network Client Object Stub ORB Server Object OA Skeleton ORB Platform Independent 분산시뮬레이션용표준미들웨어 HLA (DIS++) DIS 표준 Network(IIOP)
분산시뮬레이션 : DEVS vs 7 of 23 RootSE DEVS 1. Waituntil {done(tn1) & done(tn2)}; 2. t = min(tn1, tn2); 3. if tn1 < tn2 LSE1.start(t) 4. else LSE2.start(t); 시 스템 /FED 집행자 LSE1 start(tn2) 1. t = 0; 2. start(t) { 3. del_t = M1.simulate(t); 4. tn1 = t + del_t; 5. SimEng.done(tN1); 6. } 인터페이스 done(tn1) done(tn2) start(tn2) 1. t = 0; 2. start(t) { 3. del_t = M2.simulate(t); 4. tn2 = t + del_t; 5. SimEng.donetN2); 6. } 인터패이스 LSE2 제공 환경 지역 tag(tn1) 통신네트워크 tar(tn1) ner(tn1) 지역 tag(tn2) tar(tn2) ner(tn2) 인터패이스 인터패이스 DEVS 모델 1 DEVS 모델 2 창조 청해 DEVS 시스템내부호출 done( tn) start(tn) coupling scheme 시간관리 데이터교환 tar(tn), ner(tn) tag(tn) FOM 사용자가호출함
에사용되는 Event/ 메시지및페드레이트 8 of 23 Event / 메시지종류 Time Stamped Order (TSO) 메시지 시간정보가메시지에포함되도록메시지구성 메시지에포함된시간순서되로메시지처리를목적으로함 Receive Order (RO) 메시지 시간정보가메시지에포함되어있지않음 메시지가도착된순서되로처리함을목적으로함 메시지도착순서와처리순서가달라져서논리적오류가발생할수있음 Regulating 페더레이트 TSO Event Generator/Sender TSO Event 를생성 메시지를보낼수만있음 Constrained 페더레이트 TSO Event Acceptor/Receiver TSO Event 를받아서시간순서대로처리 메시지를받을수만있음 Reg / Const 페더레이트 메시지를보내고받을수있는페더레이트
분산시뮬레이션에서논리적시간관리의필요성 9 of 23 Federate1 Message 1 (t 1 logical, t 1 real ) 논리적시간 : 시뮬레이션논리가실행되는가상시각 요구사항 : Fed3 은 Mess1 을 Mes2 보다먼저처리해야함 (t 1 logical < t 2 logical ) Network Federate3 t logical : Message 가처리되어야가상시각 t real : Message 가도착한실제시각 Federate2 Message 2 (t 2 logical, t 2 real ) 경우 1: t 1 real < t 2 real 인경우 Mes1 이먼저도착 Message 도착순서되로처리하면논리적문제없음 경우 2: t 2 real < t 1 real 인경우 Mes2 가먼저도착 Message 도착순서로처리하면논리적오류발생 모든메시지가도착한후처리순서결정 시뮬레이션시각관리기능
에서데이터전송 : P-S 모델사용 10 of 23 Update SendInteraction 서비스 전역데이터공간 Reflect ReceiveInteraction 콜백 페더레이트페더레이트페더레이트페더레이트 Publish 00 페더레이트는어떤데이터를 Publish 한다고선언한후 서비스를통해서데이터를보냄. Publish 를선언한후 Publish 를하지않아도 가확인할수는없음 쓰기 서비스 콜백 읽기 Subscribe 페더레이트페더레이트페더레이트 00 는 Subscribe를요청한페더레이트에는 Callback 함수를사용하여해당데이터를보냄. 따라서, Subscribe를요청한페더레이트는반드시받을준비를해놓아야함 Callback 함수구현 특징 update-reflect: 모델내부에저장이필요한데이터를전송 sendinteraction-receiveinteraction : 저장이필요없는명령전송 보낸측 (P) 에서전송한데이터 / 명령이목적지 (S) 에전달되었는지확인안함
시간진행요청및처리 :TAR vs NER 11 of 23 Received TSO Event Time Advance Request (Pooling 방식 ) E1 Current Time (t) E2 E3 TAR(t ) TAG(t ) time 처리순서 1. Time Advance Request (t ) 2. Deliver E1, E2, E3 3. Time Advance Grant (t ) TAR(t ) LRC TAG(t ) E1 E2 E3 Federate Code ( 사용자시뮬레이터 ) TSO Queue Current Time (t) Received TSO Event E1 E2 E3 Next Event Request TAG(T(E1)) time ( 인터랍트방식 ) 처리순서 NER(t ) 1. Time Advance Request (t ) 2. Deliver E1 3. Time Advance Grant T(E1) NER(t ) LRC TAG(E1) E1 Federate Code ( 사용자시뮬레이터 ) TSO Queue
사용자의시간진행요청방법 12 of 23 다음시간진행요청준비 TAR(t) 혹은 NER(t) TAG(t): 시간진행승인 TAR(ti) 요청 NER(ti) 요청 페더레이트 시간진행방법 TAG(ti) 승인도착 페더레이트시간진행방법 1. 시간진행은한번요청한것을승인받아한단계씩진행한다. 2. 매시간진행요청시 TAR 이나 NER 은임의로선택하여사용할수있다. 2-1. TAR(ti) 요청시다음시뮬레이션시각인 ti 는매요청시다른주기로할수있다. 2-2. NER(ti) 요청시다음이벤트발생시각인 ti 는매요청시다른간격으로할수있다. 3. 시간진행요청 - 승인예 TAR(t1) TAG(t1) NER(t2) TAG(t2) TAR(t3) TAG(t3) TAR(t4) TAG(t4). TAR(t1) TAG(t1) TAR(t2) TAG(t2) TAR(t3) TAG(t3) NER(t4) TAG(t4).
시간관리 : 논리적 ( 가상 ) 시간진행 13 of 23 시간 논리적시간 ( 실시간과는무관 ) 에서실시간시뮬레이션이란? 실시간진행관리는해당시뮬레이터에서수행 논리적시간 시간관리모듈 ( 논리시간 ) Constructive tar(tn) tag(tn) tar(t 1 ) tag(t 1 ) 실시간동기화 컴퓨터시계 tc 시간진행 tn 실제시간이 tn 이될때까지기다림 실시간 Constructive 모델
페드레이트연동시메시지종류선택 14 of 23 1. Constructive 모델연동 시간관리가능 C1 C2 시간 + 데이터 시간관리모듈 TSO 메시지이용 시간관리 : C1 과 C2 내부에서발생하는이벤트들을시간순서되로처리하도록시간진행요청및허가를주고받는것 가상시간혹은실시간시뮬레이션가능 2. 실제장비, 실시간시스템연동 시간관리불가능 장비 V 데이터 시간관리기능사용안함 RO 메시지이용 시간관리불가능 : 장비나 V 내부에서진행되는이벤트를외부에서시간순으로관리할수없음 실시간시뮬레이션만가능 3. 경우 1 + 경우 2 연동 시간관리불가능 RO 메시지 C 데이터 V C V 시간관리기능사용안함
페더레이션시간진행 : 연동 vs 단독시뮬레이션 15 of 23 시각 tar(t 1 ) tag(t 1 ) tar(t 1 ) tag(t 1 ) 인터페이스 I/F 1 인터페이스 I/F 2 연동목적에맞게정책적결정 S2 단독시뮬레이션진행시각 t 논리적시간 ( 관리 ) S2 내부모의논리에따라진행 t N1 t N1 t N2 t N2 t 시뮬레이터 1 (S1) 시뮬레이터 2 (S2) S1 내부모의논리에따라진행 S1 단독시뮬레이션진행시각 논리혹은실시간 (S2 혹은 I/F 관리 ) [ 주 ] 1. t1, tn1, tn2 는서로독립적으로결정된다. 2. (t1 과 tn1) 및 (t1 과 tn2) 동기화는 I/F 역할이다. 3. 훈련 : 실시간으로진행 / 분석 : 논리시간으로진행 t 논리혹은실시간 (S1 혹은 I/F 관리 )
기반페더레이션연동 페더레이트 1 페더레이트 2 시뮬레이터 1 시뮬레이터 2 인터패이스 인터패이스 페더레이트 N 시뮬레이터 N 인터패이스 16 of 23 사용자개발 지역 지역 통신네트워크 집행자 FED 집행자 지역 Tool Kit [ 내부구조는숨겨져있음 ] 지역 의역할 지역시뮬레이터의시뮬레이션진행제어 ( 시간진행, 이벤트처리등 ) FOM/SOM 기반연동객체및인터랙션관리 /FED 집행자의역할 페더레이션시뮬레이션시각관리및지역 사이의통신제어 FOM 기반연동객체및인터랙션관리
HLA-Compliant 시뮬레이터 시뮬레이터 ( 제공된 서비스사용 ) ( 필요한 Callback 함수지원 ) 17 of 23 연동대상시뮬레이터 인터패이스 제공 API (103 개 ) 가사용할 API (39 개 ) 13 8 9 9 19 12 33 13 4 9 9 4 패더레이션관리 선언관리 객체관리 소유권관리 시간관리 데이타분산관리 기타부수적인관리 페더레이션관리 선언관리 객체관리 소유권관리 시간관리 라이브러리 ( 제품 ) 시각동기용 데이터교환용 지역 (LRC) HLA-Compliant (HLA 규약을만족하는 ) 시뮬레이터란? 이기종시뮬레이터간의시각동기화및테이타교환을 HLA 규격에맞추어진행하기위하여 1. 시뮬레이터는 가제공하는 103 개의서비스 ( 함수 ) 를적절히활용함 2. 시뮬레이터는 가사용할 39 개의서비스 (Callback 함수 ) 를제공 ( 구현 ) 해야함
HLA-Compliant ( 에연동가능한 ) C 조건 18 of 23 페더레이트 : 연동목적이달라짐 FOM 달라짐 SOM 달라짐 시뮬레이트 Ⅰ 시뮬레이트 I 시뮬레이트 I I/F SOM 1 I/F SOM 2 I/F SOM N FOM 1 FOM 2 FOM N HLA-Compliant Constructive Model 표준 API 사용측면 D 1 D 2 D M 페드레이트 데이터연동측면 D 1 D 2 D M 연동데이터선택기능 갱신 / 참조지정 개발시요구사항 구매시확인필요 103 서비스 39 서비스 D 1 D M
Constructive 모델의 SOM 수정절차 C 시뮬레이터 D 1 D 2 D M 19 of 23 시뮬레이터가 SOM 에있는정보를인터페이스를통하여갱신하거나참조한다. SOM D 1 D M FOM 이달라지면 SOM 이달라짐 SOM 로변경 예 SOM 이시뮬레이터내부에존재 예 시뮬레이터소스코드 아니오 HLA Compliant 시뮬레이터 아니오 SOM 구현불가 아니오 예 SOM 에맞게시뮬레이터내부수정 SOM 갱신 / 참조로인터페이스수정 기정의된 SOM 이 SOM 포함 예 SOM 갱신 / 참조로인터페이스수정 아니오
HLA-Compliant ( 에연동가능한 ) V 조건 20 of 23 Virtual Simulator V 가제작될당시 RPR FOM 에제시된모든데이터를외부에서접근 ( 읽기및쓰기 ) 할수있도록 H/W 가제작되고 S/W 가지원되어야함. Virtual Simulator A Virtual Simulator B ForceIdentifier HatchState Adaptor Adaptor Adaptor HLA/ Virtual Simulator 들의 연동을위한데이터집합표준 RPR FOM
RPR FOM (Objects & Interactions) 구성 21 of 23 BaseEntity Attributes_B EntityType EntityIdentifier IsPartOf Spatial RelativeSpatial PhysicalEntity Platform Attributes_PL AfterburnerOn AntiCollisionLightsOn BlackOutBrakeLightsOn BlackOutLightsOn BrakeLightsOn FormationLightsOn HatchState HeadLightsOn InteriorLightsOn LandingLightsOn LauncherRaised NavigationLightsOn RampDeployed RunningLightsOn SpotLightsOn TailLightsOn Aircraft AmphibiousVehicle GroundVehicle MultiDomainPlatform Spacecraft SubmersibleVessel SurfaceVessel + + Attributes_PH AcousticSignatureIndex AlternateEntityType ArticulatedParametersArray CamouflageType DamageState EngineSmokeOn FirePowerDisabled FlamesPresent ForceIdentifier HasAmmunitionSupplyCap HasFuelSupplyCap HasRecoveryCap HasRepairCap Immobilized InfraredSignatureIndex IsConcealed LiveEntityMeasuredSpeed Marking PowerPlantOn PropulsionSystemsData RadarCrossSectionSignatureIndex SmokePlumePresent TentDeployed TrailingEffectsCode VectoringNozzleSystemData Objects = A_B + A_PH + A_PL WeaponFire Parameters EventIdentifier FireControlSolutionRange FireMissionIndex FiringLocation FiringObjectIdentifier FuseType InitialVelocityVector MunitionObjectIdentifier MunitionType QuantityFired RateOfFire TargetObjectIdentifier WarheadType Interactions!!! 차후연동을고려한시뮬레이터개발시 RPR FOM 구현필수!!!
Virtual 시뮬레이터의 SOM 수정절차 22 of 23 H/W 시뮬레이터가 SOM 에있는정보를인터페이스를통하여갱신하거나참조한다. SOM = RPR FOM 중해당 Platform 에속한데이터 FOM 이달라지면 SOM 이달라짐 SOM 로변경 예 SOM 이 H/W 및 S/W 에포함 예 H/W 및 S/W 수정가능 아니오 HLA Compliant 시뮬레이터 아니오 SOM 구현불가 아니오 SOM 에맞게 H/W 및 S/W 수정 SOM 갱신 / 참조로인터페이스수정 예 기정의된 SOM 이 SOM 포함 예 SOM 갱신 / 참조로인터페이스수정 아니오
RPR FOM 과 HLA-Compliant 23 of 23 Real-time Platform Reference (RPR) FOM Virtual Simulator 들이연동시사용되는 SOM 의집합 SISO(Simulation Interoperability Standards Organization) 에서정의 Common Foundation Reference FOM (CF-RFOM) 의일종 Platform 객체들이연동에참여시각 Platform 들의 SOM 의총집합 RPR FOM 은 Platform 연동시필요한모든데이터를미리가정하여정한것임 적용분야 실시간의플랫폼기반연동시뮬레이션 (DIS 및 HLA 기반 ) 참여시뮬레이터 : 독립적인물리적실체 ( 예 : 항공기, 배, 군인, 무기 ) HLA-Compliant Constructive 모델인경우 소스코드가접근불가능한경우 FOM 은 RPR FOM 을구현해야함 EADSIM, SADAM 등은 RPR FOM 이내장됨 Virtual Simulator 인경우 RPR FOM 을시뮬레이터에내장해야함 현재 HLA-Compliant 정의 : C, V 모두에 RPR FOM 구현을요구