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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

조직 운용에서 협업 ( = 업무 연동) 개념<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!