1 - Systems Modeling Simulation Lab. KAIST
1 - Systems Modeling Simulation Lab. KAIST
1 - Systems Modeling Simulation Lab. KAIST
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
조직 운용에서 협업 ( = 업무 연동) 개념<br />
1 of 30<br />
XX 단<br />
단 운용 = 처 사이의 협업<br />
업무 연동<br />
OO 처<br />
OOOO 처<br />
OOOOO 처 OOOOO 처 OOOOO 처<br />
OO OO 과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
O<br />
O<br />
O<br />
O<br />
과<br />
…<br />
. . .<br />
과원1 과원2 과원N<br />
과 운용 = 과원들 사이의 협업<br />
업무 연동<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
조직에서 단독 업무와 연동 업무<br />
2 of 30<br />
전투실험과<br />
과장<br />
…<br />
각자에게 주어진 임무를 수행하기 위하여<br />
각 과원은 각자 시간 계획에 맞추어<br />
각자 맡은 일을 수행 함 = 단독 업무<br />
과원1 과원2 과원N<br />
과 임무 수행을 위한 과원 사이의 정보 교환 = 연동 업무<br />
교환할 정보 (데이터 공유, 명령 전달) HLA 에서 FOM<br />
정보 교환 시점(주기적 혹은 비 주기적) HLA 에서 시간 진행<br />
시간 상세도는 일반적으로 다름<br />
단독 업무와 연동 업무의<br />
!! 질문 !! : 업무가 달라질 경우에도 업무 수행에서 교환할 정보와 정보 교환 시점 이 동일 한가<br />
No !! 의 의미 FOM 과 시간진행 방법은 업무에 따라 달리 정의 되어야 한다.<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
연동 업무 수행을 위한 연동 시뮬레이션 구성<br />
3 of 30<br />
협업체계<br />
전투실험과<br />
과장<br />
과장이 과원들 사이에<br />
정보 교환을 위해<br />
설정한 과장의 시각<br />
(RTI 시각)<br />
과원1 과원2 과원3<br />
업무에 부합<br />
과원들 사이에<br />
공유/교환 할 정보<br />
시간 진행 간격<br />
(상세도) 다름<br />
과장<br />
시뮬레이터<br />
RTI (업무 수행 간 정보교환 및 시간 동기화)<br />
FOM<br />
과원 개별<br />
시계에 의한<br />
시각<br />
(개별 시뮬레이터 시각)<br />
과원 1<br />
시뮬레이터<br />
과원 2<br />
시뮬레이터<br />
과원 3<br />
시뮬레이터<br />
업무를 모의하는 연동 시뮬레이션 = 페더레이션<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
업무에 부합되는 연동 시뮬레이션 체계 구성<br />
4 of 30<br />
과장<br />
시뮬레이터<br />
RTI<br />
FOM<br />
과원 1<br />
시뮬레이터<br />
과원 2<br />
시뮬레이터<br />
과원 3<br />
시뮬레이터<br />
RTI 시간 진행 간격 : T1<br />
RTI 시간 진행 간격: T2<br />
업무 1<br />
업무 2<br />
공유/교환 정보 : FOM1<br />
공유/교환 정보 : FOM2<br />
RTI 시간 진행 간격 : TN<br />
업무 N<br />
공유/교환 정보 : FOMN<br />
업무가 달라지면 공유/교환 정보(FOM)와 시간 진행 간격(T)이 달라진다.<br />
연동 체계 설계 업무에 부합되는 FOM 및 T 식별<br />
연동 체계 시험/평가 구현 체계(결과물) 이 주어진 업무를 수행할 수 있는지를 확인<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
목적지향적 연동 체계 설계: 요구 공학 이론적 접근<br />
연동 체계 구축 사업을 위한 요구 공학적 접근 방법 (W2H 틀)<br />
정책 운용 기술<br />
Why<br />
What<br />
How<br />
확인 / 검증<br />
확인 / 검증<br />
(왜 하는냐)<br />
(무엇을 할 것인가)<br />
(어떻게 할 것인가)<br />
연동 목적 식별<br />
(사업 목적)<br />
사업 설명회<br />
RFP 단계<br />
연동 목적에 부합되는<br />
전체 시나리오와<br />
시나리오 수행에<br />
참여할 시뮬레이터 및<br />
FOM / Ti 식별<br />
우선자 기술 협상 단계<br />
5 of 30<br />
연동 체계 구현은 주어진<br />
표준연동 구조(예: HLA)를<br />
사용하여 어떻게 한다.<br />
이론적 업무 분장<br />
군 사업단<br />
군 정책 부서 참여 업체(들)<br />
IE801 – Lecture 16<br />
사업 진행 시 3 팀 간의<br />
유기적 업무 협조가<br />
사업 성패를 좌우 함<br />
(갑 / 을 개념 적용 무리)<br />
© 2011 Tag Gon Kim
목적지향적 연동 데이터 식별 예: 왜 무엇을<br />
6 of 30<br />
실제 탁구게임<br />
라바의 회전 정도<br />
라바의 탄성 정도<br />
라바의 공격 기여도<br />
라바의 수비 기여도<br />
목적 3<br />
연동 체계<br />
목적 1<br />
드라이브 시 팔 각도<br />
드라이브 시 타점<br />
드라이브를 위한 이동거리<br />
공격 방향<br />
선수 1 (아)<br />
Ball_2<br />
Ball_2<br />
선수 2 (적)<br />
Ball_1<br />
방어<br />
공격<br />
Ball_1<br />
방어<br />
공격<br />
Ball_1<br />
RTI<br />
Ball_2<br />
상대방 서버 종류<br />
상대한 서비의 길이<br />
공격 시 타구 회전 량<br />
및 속도<br />
공격의 성공율(효과도)<br />
목적 4<br />
목적 2<br />
목적 번호 사용 용도 연동 목적 (왜)<br />
목적 1 훈련용 드라이브 공격 숙달<br />
목적 2 분석용 서버 성공률 분석<br />
목적 3 획득용 새로운 라바의 라켓 개발<br />
목적 4 전투실험용 새로운 공격 방법 제안/ 검증<br />
공 스핀 정도 및 방향<br />
서브한 공이 떨어진 위치<br />
포핸드 / 백핸드 비율<br />
상대방의 수비 위치<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
한 개의 프로그램에서 모듈 연동 개념<br />
7 of 30<br />
공유데이터<br />
1 개의<br />
응용 프로그램<br />
쓰기<br />
읽기<br />
읽기<br />
쓰기<br />
모듈(서브루틴) i<br />
메시지 교환<br />
모듈(서브루틴) j<br />
단일 컴퓨터 프로그램 환경 (컴파일러)<br />
•모듈: 모듈 내에 자체적인 변수들(data)과 이들의 연산(procedure)들이 정의 되어 있음<br />
•공유 데이터: 단일 컴 퓨터 환경에서는 모듈 사이에서 자유로이 읽고 쓸수 있는 변수<br />
•정보 교환: 한 모듈에서 다른 모듈로 메시지를 보내어 정보 교환 가능 (메시지 전달)<br />
예: module i 내에서 메시지 보내기 : (module j .procedure k(arg 1))<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
분산 환경에서 프로그램 연동 개념<br />
8 of 30<br />
원격 공유데이터<br />
컴퓨터1<br />
컴퓨터2<br />
응용 프로그램 1<br />
(모듈 1, 모듈 2)<br />
원격 메시지 교환<br />
응용 프로그램 2<br />
(모듈 1, 모듈 2)<br />
미 들 웨 어 환경<br />
(OS 와 응용 프래그램 인터페이스)<br />
네트워크<br />
• 미들웨어: 여러 개의 컴퓨터에서 수행되는 프로그램을 한 개의 컴퓨터에서 수행되는<br />
것처럼 프로그램 할 수 있게 지원해 주는 소프트웨어 (예: RTI)로 API 제공<br />
• 원격 데이터 공유: 두 컴퓨터의 응용 프로그램 사이에 데이터 읽기와 쓰기 가능<br />
• 원격 정보교환: 응용 프로그램 1 과 응용프로그램 2 사이의 원격 메시지를 통한 정보 교환<br />
예: 원격 메시지 (computer1.program2.module 1. procedure j (arg1, arg2) )<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
분산 환경에서 체계 연동 개념<br />
9 of 30<br />
원격 공유데이터<br />
응용 체계1<br />
응용 체계2<br />
워 게임<br />
Virtual 시뮬레이터<br />
실기동, 장비 등<br />
원격 메시지 교환<br />
L, V, C<br />
C4I<br />
DB, GIS 등<br />
• 응용체계: S/W 혹은 H/W 에 무관 함<br />
• 연동 대상 응용 체계 예<br />
미 들 웨 어 환경<br />
(OS 와 응용 프래그램 인터페이스)<br />
일반적으로 S/W + H/W + Humanware 로 구성된 독립적인 체계<br />
주 체계: L, V, C 모의 체계, 장비, C4I 등<br />
보조 장식 체계: DB, 상황도, 디스플레이 등<br />
• 연동 방법: 미들웨어가 제공하는 S/W 인테페이스( API) 및 연동 규약(프로토콜)<br />
<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim<br />
네트워크
체계 연동 개념<br />
10 of 30<br />
체계 연동 = 체계들 간 데이터 교환 + 체계들 사이의 시각 동기<br />
응용 체계 1<br />
(예: C 모델)<br />
데이타 1<br />
데이타 2<br />
응용 체계 2<br />
(예: C 모델)<br />
동기화된 시각<br />
● 연동의 목적 상호 운용성<br />
● 연동을 위한 기능<br />
(1) 데이타 교환을 위한 수단 제공<br />
* 메시지 전송<br />
* 공유 객체<br />
(2) 시각 동기화 방법 제공<br />
* 실 시간 동기: 훈련 용 체계 연동<br />
* 가상 시간 동기: 분석 / 획득 용 체계 연동<br />
● 기능 (1) + (2) 를 위한 표준 표준 연동 구조 (예: HLA) 미들웨어 구현 (예: RTI)<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
연동의 정의 및 연동 구조<br />
11 of 30<br />
연동의 정의: 연동 (Interoperation) = 상호 운용성<br />
2 개 이상의 시스템 사이에 정보 교환이 가능하고 교환된 정보를 각 시스템<br />
에서 사용할 수 있는 능력 (IEEE 용어 사전)<br />
내부 특성을 거의 숨겨진 시스템들 사이에서 통신, 프로그램 실행 혹은 데<br />
이터 전송을 할 수 있는 능력 (ISO/IEC-238201 용어 사전)<br />
연동 구조<br />
연동 참여 시스템들 사이에 지켜야 할 규칙 + 인터페이스 + 사용 객체 모델<br />
응용 체계<br />
I<br />
응용 체계<br />
II<br />
객체모델<br />
연동 참여 응용체계들의 연동을 위한 규칙<br />
응용체계와 연동 구조 사이의 인터페이스<br />
연동 구조 (예: HLA)<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
연동의 조건 및 종류<br />
12 of 30<br />
연동 참여 체계들의 연동 필요 조건<br />
순응성(Compliance) 외부적 조건: 정보 교환 능력<br />
• 연동 구조의 제반 규정 및 인터페이스 준수<br />
호환성(Compatibility) 내부적 조건: 정보 처리 능력<br />
• 교환된 정보의 해석 및 사용 능력<br />
연동 수준 분류<br />
Syntactic (문법적) 연동<br />
• 정보, 데이터 교환 가능 수준<br />
• 테이터 포멧, 통신 프로토콜 등<br />
Semantic (의미적) 연동<br />
연동의 의미<br />
• 교환된 정보/데이터를 의미 있고 정확하게 해석하여 시스템 내부에서 유용하게<br />
사용할 수 있는 수준<br />
기술적 측면<br />
• 연동 구조 하에서 연동이 되고 있음<br />
운용적 측면<br />
• 정보/데이터 사용에서의 통일성 및 일관성<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
연동 구조 기반 연동 조건 – 응용 체계 관점<br />
13 of 30<br />
1. 정보 교환 능력<br />
연동 구조에서 정한<br />
인터페이스를 통해<br />
응용 체계들 사이에<br />
정보 교환 능력<br />
응용 체계 1<br />
op 1<br />
op 2<br />
op 3<br />
공유 데이터<br />
2. 정보처리 능력<br />
연동 구조에서 선언한<br />
객체 모델을 응용 체<br />
계에서 해석 및 연산<br />
할 수 있는 능력<br />
응용 체계 2<br />
응용체계 3<br />
op 2<br />
op 4<br />
op 1<br />
op 3<br />
op 4<br />
op5<br />
공유 데이터<br />
공유 데이터<br />
객체 모델: 공유 데이터<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
연동 구조 및 구현 소프트웨어<br />
14 of 30<br />
연<br />
동<br />
구<br />
조<br />
연동 아키텍처 (규약 + 인터페이스)<br />
객체모델<br />
OM<br />
OM: Object Model<br />
공통기반 구조 : 연동 규약 및 인터페이스 정의<br />
연동 아키텍처에서 runtime에 교환되는 데이터 정의<br />
- 객체/속성(Objects/Attributes)<br />
- 인터랙션/파라미터(Interactions/parameters)<br />
- 기타 (methods, middleware initialization data, etc.)<br />
응용 체계 1<br />
연동 구조 기반<br />
체계 개발<br />
응용 체계 2<br />
예: Constructive 모델<br />
(창조21, 전근지, 화랑21등)<br />
응용 체계 N<br />
아키텍처 구현 S/W<br />
- 프로토콜<br />
- 인터페이스 집합<br />
아키텍처<br />
미들웨어<br />
OM<br />
아키텍처<br />
미들웨어<br />
OM<br />
…<br />
아키텍처<br />
미들웨어<br />
OM<br />
네트워크 (LAN / WAN )<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
국제 표준 연동 구조 및 객체 모델<br />
15 of 30<br />
DIS<br />
응용 체계<br />
응용 체계<br />
응용 체계<br />
(L, V, C)<br />
PDU<br />
DIS M/W<br />
PDU DIS M/W<br />
네트워크<br />
PDU<br />
I/F<br />
HLA<br />
응용 체계<br />
응용 체계<br />
연동 아키텍처<br />
FOM<br />
HLA M/W<br />
FOM<br />
네트워크<br />
HLA M/W<br />
FOM<br />
OM<br />
TENA<br />
응용 체계<br />
응용 체계<br />
연동 체계<br />
LROM<br />
TENA M/W<br />
LROM TENA M/W<br />
네트워크<br />
LROM<br />
DIS(Distributed Interactive <strong>Simulation</strong>)<br />
PDU(Protocol Data Unit)<br />
HLA(High Level Architecture)<br />
FOM(Federation Object Model)<br />
TENA(Test and Training Enabling Architecture)<br />
LROM(Logical Range Objet Model)<br />
CTIA(Common Training Instrumentation Architecture)<br />
DOM(Domain Object Model)<br />
CTIA<br />
DOM<br />
응용 체계<br />
CTIA M/W DOM<br />
응용 체계<br />
CTIA M/W<br />
네트워크<br />
!!! 연동 M/W 가 달라지면 OM 과 I/F 가 달라 진다. !!!<br />
DOM<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
PDU, FOM, 및 LROM 형식 예시<br />
PDU in DIS FOM in HLA LROM in TENA<br />
16 of 30<br />
Operation()<br />
연동 데이터 포멧<br />
연동 객체 및 메시지<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
연동 구조의 비교<br />
17 of 30<br />
연동<br />
구조<br />
구현 M/W<br />
객체<br />
모델<br />
표준화 현황<br />
주 연동 대상<br />
DIS DIS M/W PDU<br />
IEEE 1278 (1993)<br />
IEEE 1278.4 (1997)<br />
V–V<br />
V–C<br />
HLA<br />
(DIS++)<br />
RTI<br />
(복수 구현, 유료 배포)<br />
FOM<br />
V 1.3 (1997)<br />
IEEE 1516(2000)<br />
C–C<br />
V–C<br />
TENA<br />
TENA M/W<br />
(단일 구현, 무료 배포)<br />
미국 수출 통제법 적용<br />
(회원국 외 배포 금지)<br />
LROM -<br />
Live–<br />
Instrumentation –<br />
Ranges<br />
(시험평가 자원)<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
Foundation Initiative (FI) 2010 : 시험/평가 관련 연동<br />
18 of 30<br />
1998 년 CTEIP (Central Test and Evaluation Investment Program) 사업<br />
목적: 사격 시스템, 설비, C4ISR 등을 TENA 기반 연동<br />
Enhanced<br />
Testing<br />
Lower<br />
Costs<br />
Improved<br />
Training<br />
Execution &<br />
Configuration Tools<br />
Layer 5<br />
Layer 5<br />
Instrumentation &<br />
Tactical Interfaces<br />
Layer 4<br />
Layer 4<br />
Range & Facility<br />
Standards<br />
Layer 3<br />
Layer 3<br />
DoD Standards<br />
Layer 2<br />
Layer 2<br />
Networks & Hardware<br />
Layer 1<br />
• 기존시험/평가 자원TENA 기<br />
반 연동<br />
• 시험/평가자원의 손쉬운재 사<br />
용을통한 구체적인시험 임무<br />
지원<br />
• 다수사격/훈련장을연결한 합<br />
성 환경에서실시된시험경험<br />
및 시행 절차 제공<br />
Joint Technical Architecture (JTA) 및 HLA 호환<br />
기존 국방성 네트워크및 상용 하드웨어활용<br />
* 출처: George J. Rumford, “Foundation Initiative 2010: The Foundation for Test and Training Interoperability”,<br />
Proc. Spring <strong>Simulation</strong> Interoperability Workshop 2001, 01S-SIW-056.<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
DIS, HLA 및 TENA 기능 비교<br />
19 of 30<br />
* 관찰<br />
HLA<br />
Ownership<br />
Management<br />
Message<br />
Object<br />
Management<br />
Data<br />
Streams<br />
DIS<br />
Data<br />
Distribution<br />
Management<br />
Time<br />
Management*<br />
Real Software<br />
Objects<br />
Federation<br />
Management<br />
Declaration<br />
Management<br />
Local<br />
Methods<br />
Notification<br />
Services<br />
Interfaces<br />
Gateways to Other<br />
Architecture<br />
Persistent Data<br />
Management<br />
Compile-Time<br />
Type Safety<br />
Compile-in<br />
Object Model<br />
Marshaling/<br />
De-marshaling<br />
Standards<br />
TENA Object<br />
Model<br />
Repository<br />
Standards<br />
Tools<br />
Multi-<br />
Threaded<br />
Infrastructure<br />
Data<br />
Collectors<br />
Operational<br />
Architecture<br />
Object Model<br />
Utilities<br />
TENA<br />
Usable<br />
Interface<br />
Open-Source<br />
Software<br />
* [주] TENA 최신 버전에<br />
시간 관리 기능이 추가 됨<br />
* 그림 출처: Stephen Abrams,” TENA As An Enabler For Joint Combined Training”, SimTecT 2008 <strong>Simulation</strong> Conference<br />
1. HLA 는 DIS 기능을 모두 커버하는 DIS 확장/개량형 이다.<br />
HLA 를 초기에 DIS++ 로 부른 이유<br />
2. TENA 는 HLA 기능을 모두 다 커버 하지 못하며 따라서 TENA가 HLA 기능을 완전히 대처할 수는 없다.<br />
TENA 와 HLA 는 사용 목적 (연동 대상)이 다른 것 (사용 Layer 가 다름)에서 출발한 연동 구조 들 임.<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
국방용 연동 구조 변천사 (1983 - )<br />
20 of 30<br />
연동 체계<br />
기 간<br />
표 준<br />
특<br />
징<br />
하<br />
위<br />
레<br />
벨<br />
SIMNET<br />
(SIMulator<br />
NETworking)<br />
1983 -<br />
1990<br />
1. 네트워크로 연결된 여러 대의 탱크 시뮬레이터<br />
(팀 훈련용)<br />
2. 여러 개의 동일한 시뮬레이터를 연결, 소 부대 훈련<br />
중<br />
간<br />
레<br />
벨<br />
프<br />
로<br />
토<br />
콜<br />
(<br />
)<br />
상<br />
위<br />
레<br />
벨<br />
공<br />
통<br />
기<br />
반<br />
(<br />
)<br />
ALSP<br />
(Aggregate<br />
Level<br />
<strong>Simulation</strong><br />
Protocol)<br />
DIS<br />
(Distributed<br />
Interactive<br />
<strong>Simulation</strong>)<br />
HLA<br />
(High Level<br />
Architecture)<br />
1989~<br />
1990~<br />
1995~<br />
IEEE<br />
1278<br />
DMSO<br />
v1.3<br />
IEEE<br />
1516<br />
1. ALSP Infrastructure Software (AIS)가 분산 시뮬레이션<br />
환경 제공<br />
2. 메시지 기반 프로토콜<br />
3. 기존 서로 다른 시뮬레이션을 연결하여 연동<br />
4. Joint Training Confederation (JTC) 체계의 기반 규약<br />
1. 실시간 시뮬레이션을 위한 UDP 기반의 통신 프로토콜<br />
2. 확장성(Scalability) 문제<br />
3. 비효율적인 네트워크 자원 사용<br />
1. 가능한 모든 종류의 시뮬레이션 사이의 연동을 위한 “공<br />
통된” 기반 구조<br />
2. 시뮬레이터의 인터페이스 및 데이터 모델 규약<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
SOM<br />
SOM<br />
HLA/RTI 기반 연동 개념도<br />
• Unix Platform<br />
• JAVA<br />
Simulator 1<br />
<strong>Simulation</strong><br />
model<br />
연동을 위한<br />
추가적인 기능<br />
필요시 데이터 교환<br />
Simulator 2<br />
<strong>Simulation</strong><br />
model<br />
• Windows Platform<br />
• C++<br />
21 of 30<br />
Time advance<br />
Shared<br />
Object 1<br />
Shared<br />
Object 2<br />
값을 바꾸면 서로 알려 줌<br />
Shared<br />
Object 1<br />
Shared<br />
Object 2<br />
Time advance<br />
FOM<br />
시간진행 승인<br />
시간진행 승인<br />
시간진행 요청<br />
시간진행 요청<br />
Global time manager<br />
HLA (High Level Architecture) : 시뮬레이터 연동을 위한 통신 프로토콜의 국제 표준<br />
DoD Standard (HLA v1.3, 1996) / IEEE Standard (IEEE 1516, 2000)<br />
RTI (Run Time Infrastructure): HLA 를 구현한 미들웨어 (OS 와 응용 프로그램 사이) SW<br />
HLA API 를 만족하는 여러 회사 제품 출시: V, P, M, (nRTI 민군겸용 기술, 국산화) 등<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
HLA 용어 정의<br />
페더레이트(Federate) : HLA 규격을 만족하는 단독 시뮬레이터<br />
페더레이트 = 연동 시뮬레이터<br />
페더레이션(Federation) : 페더레이트 들의 집합체<br />
페더레이션 = 연동 시뮬레이션<br />
HLA 3 요소: 정의<br />
페더레이션 규칙<br />
• 페더레이트 와 시뮬레이션 의 역할<br />
인터페이스 명세<br />
• RTI 가 제공하는 서비스 정의<br />
• 각 페드레이트가 제공 해야할 서비스(Callback 함수) 정의<br />
객체 모델 템프렛 (OMT)<br />
• 시뮬레이션 객체 모델 (SOM)<br />
• 페더레이트 들 사이의 인터페이스<br />
• 페더레이트 마다 달라지며 각 페더레이트 당 1 개씩 정의<br />
• 페더레이션 객체 모델 (FOM)<br />
• SOM 를 통합한 페더레이션 전체 인터페이스<br />
• 페더레이션에 참여하는 모든 페더레이트는 동일한 FOM<br />
• 관리 객체 모델 (MOM)<br />
• 시뮬레이션 진행/제어를 위한 통합적인 정보<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim<br />
22 of 30
HLA 표준화 및 RTI구현<br />
23 of 30<br />
분산 시뮬레이션 알고리즘<br />
1<br />
5 2<br />
TCP/IP 기반 통신 프로토콜 표준<br />
Browser<br />
TCP<br />
HTTP Protocol<br />
TCP Protocol<br />
Server<br />
TCP<br />
Application Layer<br />
Transport Layer<br />
4 3<br />
t N =min{t N1 , t N2 , … , t N5 }<br />
IP<br />
Ethernet<br />
IP Protocol<br />
Ethernet Protocol<br />
IP<br />
Ethernet<br />
Internet Layer<br />
Physical Layer<br />
CORBA 기반 분산 객체 표준<br />
+<br />
Network<br />
Client Object<br />
Stub<br />
ORB<br />
Server Object<br />
OA Skeleton<br />
ORB<br />
Platform Independent<br />
분산 시뮬레이션 용 표준 미들웨어<br />
HLA<br />
(DIS++)<br />
DIS 표준<br />
Network(IIOP)<br />
IE801 – Lecture 16<br />
RTI<br />
© 2011 Tag Gon Kim
연동에서 메시지 전송 모델: Synch vs Asynch.<br />
24 of 30<br />
한 개의 응용 프로그램<br />
응용채계<br />
1<br />
응용 체계<br />
2<br />
함수 호출<br />
모 듈 1 모 듈 2<br />
호출 응답<br />
분산 시스템<br />
중재자<br />
Client-server 모델<br />
(Synchronous 통신)<br />
보내는 쪽은 받는 쪽에서 받을 준비가 되면 보냄<br />
한 개의 응용 프로그램<br />
쓰기<br />
공유<br />
데이터<br />
읽기<br />
모 듈 1 모 듈 2<br />
분산 시스템<br />
응용 체계<br />
1<br />
메시지 큐<br />
응용 체계<br />
2<br />
중재자<br />
Publisher-subscriber 모델<br />
(Asysnchronous 통신)<br />
보내는 쪽은 받는 쪽의 준비 상태와 관계없이 보냄<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
Publisher-Subscriber 모델 특징<br />
25 of 30<br />
데이터 생산자는 데이터 사용자가<br />
누구인지를 모름<br />
데이터 사용자는 데이터 생산자가<br />
누구이 인지를 모름<br />
Publisher<br />
데이터 생산자<br />
중재자(Middleware)<br />
Subscriber<br />
데이터 사용자<br />
데이터 생산자와 데이터 사용자를 시간적 / 공간적으로 격리 시켜 통신<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
Publisher-Subscriber 기반 메시지 전송<br />
26 of 30<br />
1: 1 데이터 분배<br />
1<br />
Publisher<br />
1<br />
Subscriber 3<br />
2 Publisher<br />
2<br />
Subscriber 1<br />
3<br />
3 Publisher<br />
Subscriber 2<br />
Global Data Space<br />
정보 출판자<br />
전역 데이터 공간<br />
정보 구독자<br />
Publisher<br />
M<br />
M: N 데이터 분배<br />
Global Data<br />
Space<br />
Subscriber<br />
N<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
RTI 에서 데이터 전송: P-S 모델 사용<br />
27 of 30<br />
Update<br />
SendInteraction<br />
RTI 서비스<br />
전역데이터 공간<br />
Reflect<br />
ReceiveInteraction<br />
RTI 콜백<br />
페더레이트00<br />
페더레이트 페더레이트 Publish<br />
페더레이트는 어떤 데이터를 Publish<br />
한다고 선언한 후 RTI 서비스를 통해<br />
서 데이터를 보냄. Publish 를 선언 한<br />
후 Publish 를 하지 않아도 RTI가 확인<br />
할 수는 없음<br />
쓰기<br />
RTI<br />
서비스<br />
RTI<br />
RTI<br />
콜백<br />
읽기<br />
Subscribe 페더레이트 페더레이트<br />
페더레이트00<br />
RTI는 Subscribe를 요청한 페더레이트에 는<br />
RTI Callback 함수를 사용하여 해당 데이터<br />
를 보냄. 따라서, Subscribe를 요청한<br />
페더레이트는 반드시 받을 준비를 해<br />
놓아야 함 Callback 함수 구현<br />
특 징<br />
update-reflect: 모델 내부에 저장이 필요한 데이터를 전송<br />
sendinteraction-receiveinteraction : 저장이 필요 없는 명령 전송<br />
보낸 측(P)에서 전송한 데이터/명령이 목적지에 전달되었는지(S)는 확인 불가<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
RTI 에 사용되는 Event 종류 및 시간<br />
28 of 30<br />
Event / 메시지 종류<br />
Time Stamped Order (TSO) 메시지<br />
• 시간 정보가 메시지에 포함되도록 메시지 구성<br />
• 메시지에 포함된 시간 순서되로 메시지 처리를 목적으로 함<br />
Receive Order (RO) 메시지<br />
• 시간 정보가 메시지에 포함되어 있지 않음<br />
• 메시지가 도착된 순서되로 처리 함을 목적으로 함<br />
• 메시지 도착 순서와 처리 순서가 달라져서 논리적 오류가 발생 할 수 있음<br />
Regulating 페더레이트<br />
TSO Event Generator/Sender<br />
TSO Event를 생성 메시지를 보낼 수 만 있음<br />
Constrained 페더레이트<br />
TSO Event Acceptor/Receiver<br />
TSO Event를 받아서 시간 순서대로 처리 메시지를 받을 수 만 있음<br />
Reg / Const 페더레이트<br />
메시지를 보내고 받을 수 있는 페더레이트<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
RTI 시간 관리: 논리적(가상) 시간 진행<br />
29 of 30<br />
RTI 시간 논리적 시간 (실시간과는 무관함)<br />
실(제)시간 물리적으로 진행되는 벽 시계의 시간<br />
RTI 에서 실시간 시뮬레이션이란<br />
실 시간 진행 관리는 해당 시뮬레이터 내부 혹은 외부 인터페이스 에서 수행<br />
RTI<br />
RTI<br />
tar(tN)<br />
tar(tN)<br />
(시간 진행 요청)<br />
(논리 시간)<br />
tag(tN)<br />
(시간 진행 승인)<br />
tag(tN)<br />
tN<br />
논리적 시간<br />
시간 동기를 위해서<br />
기다림<br />
실시간<br />
동기화<br />
Constructive 모델<br />
Constructive<br />
모델<br />
tar(tN)<br />
tag(tN)<br />
실시간<br />
tN<br />
실시간<br />
IE801 – Lecture 16<br />
© 2011 Tag Gon Kim
RTI 에서 시간 관리 기능 가능 여부<br />
30 of 30<br />
1. Constructive (S/W) 모델 연동 시간 관리 가능 TSO 메시지 사용<br />
C1<br />
시간 + 데이터<br />
C2<br />
시간 관리: C1 과 C2 내부에서 발생하는 이벤트들을<br />
시간 순서되로 처리하도록 시간 진행 요청<br />
및 허가를 주고 받는 것<br />
RTI 시간 관리 모듈<br />
TSO 메시지 이용<br />
2. 실제장비, 실시간 시스템 연동 시간 관리 불 가능 RO 메시지 사용<br />
장비<br />
V<br />
데이터<br />
RTI 시간 관리 기능 사용 안 함<br />
RO 메시지 이용<br />
시간 관리 불 가능: 장비나 V 내부에서 진행되는<br />
이벤트를 외부에서 시간 순으로<br />
관리 할 수 없음<br />
3. 경우 1 + 경우 2 연동 시간 관리 불가능<br />
RO 메시지<br />
C<br />
V<br />
데이터<br />
C<br />
V<br />
RTI 시간 관리 기능 사용 안 함<br />
IE801 – Lecture 16<br />
RTI<br />
© 2011 Tag Gon Kim