24.12.2014 Views

1 - Systems Modeling Simulation Lab. KAIST

1 - Systems Modeling Simulation Lab. KAIST

1 - Systems Modeling Simulation Lab. KAIST

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!