Objective-driven systems modeling - KAIST

20
1 of 20 © 2011 Tag Gon Kim IE801 – Lecture5 System 이란? 시스템 정의 “A set of interacting or interdependent entities, real or abstract, forming an integrated whole” [Wikepedia Encyclopedia] “A combination of components that act together to perform a function not possible with any of the individual parts” [IEEE Standard Dictionary of Electrical and Electronics Terms] 시스템 Components 역할 기능 요구 사항: 가지 이상의 기능 수행 성능 요구 사항: 효율성 제공 유지 Ref: MIL-STD-499B Products People Processes Input Output System System Elements

Transcript of Objective-driven systems modeling - KAIST

Page 1: Objective-driven systems modeling - KAIST

1 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

System 이란?

시스템 정의

“A set of interacting or interdependent entities, real or abstract, forming an

integrated whole” [Wikepedia Encyclopedia]

“A combination of components that act together to perform a function not

possible with any of the individual parts”

[IEEE Standard Dictionary of Electrical and Electronics Terms]

시스템 Components 의 역할

기능 요구 사항: 한 가지 이상의 기능 수행

성능 요구 사항: 효율성 제공 및 유지

Ref: MIL-STD-499B

Products

People Processes

Input Output

System

System

Elements

Page 2: Objective-driven systems modeling - KAIST

2 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

시스템 모델을 표현하는 여러가지 방법

수학 방정식

(연구원: Researcher)

공학적 다이어그램

(기술자: Engineer)

실제 사물의 모양

(기능인: Technician)

+ -

R

C V

Page 3: Objective-driven systems modeling - KAIST

3 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

Input ? System

Input Output ?

? Output System

Analysis Behavior

Performance

Control (Management):

Goal-oriented Optimization

Design : Iteration of Plan-Generation-Analysis

시스템 연구에서 풀고자 하는 3 가지 문제

Page 4: Objective-driven systems modeling - KAIST

4 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

동적(Dynamic) 시스템 (혹은 시스템) 의 상태

상태 변수(State Variable)의 표현 및 해석

Q = Q1 x Q2 x ….. (Qi 는 각 변수들의 집합)

Q1: 키의 크기 (실수 집합), Q2: 나이 (양의 정수 집합), Q3: 임무 = {기동, 탐지, 교전 }

현재 상태 현재 변수들의 값 현재 모델의 조건 ……

Y X

Q

Y X 시스템

연속

시스템

이산

사건

시스템

입력 상태 출력

time(t)

state(Q)

t

X(t) Y(t)

t

time(t)

state( Q)

t

Xe Ye

t

x3 x2 x3 x4 x5

e1 e2 ek

s1

s2

sk

y2 y4 y3

[정의] 시각 t 에서의 상태(state) Q

t’ > t 에서 y(t’) 을 유일하게 결정할 수 있는 최소 정보

상태의 표현 현재의 상태 변수 값

time(t)

state(Q) Q(t1)

t1

time(t)

state( Q)

e1 e2 ek

s1

s2

sk

r1

rk

r2

Q = (s2, r2)

Q = (s1, 0) e

Q = (s2, e)

Q 는 절대 시간 t 의

함수로 표현: Q(t)

Q 는 현재 상태 Si 와

Si 에서 경과한 시간 ri

로 표현: Q = (si, ri)

각 si 에서 최대 경과

시간이 모델에 명세

되어야 함

DEVS 의 ta(s) 함수

미분 방정식 자체가

Q(t) 의 함수이다.

Page 5: Objective-driven systems modeling - KAIST

5 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

v Analog Circuits v Sampled-data Systems

v War game v Digital Circuits

v Differential Eqn. v Difference Eqn.

v DEVS Formalism v Finite State Machine

Continuous Time

Continuous State

Discrete State

Discrete Time

v Continuous System

유년

time

state

소년

v Discrete Time System

state

time t

장년

v Discrete Event System

time

state

e1 e2 e3 e4 e5 ek

s1 s2

s3 s4 sk

Abstraction

Concretizing

청년

v Digital System

time

state

s1 s2 s3 s4 s5 sk

t

추상화 수준에 따른 시스템 분류: 상태 vs 시간

시스템 동작을 미시적으로 묘사함

시스템 자체 지능 거의 없음

시스템 동작을 거시적으로 묘사함

시스템 자체 지능 있음

(좌측 반) (우측 반)

(윗쪽 반)

(아래 쪽 반)

불 필요한 시간 무시 정보

값의

양자화

시간 개념 무시

Page 6: Objective-driven systems modeling - KAIST

6 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

추상화의 예: 무시 할것이 무엇인가?

time

state

event1 event2 event3

Illness

Healthy

Abstraction in event

체온 측정을 하되

건강 상태에 이상이

올 때만 측정하되

{건강, 이상} 만 측정

time

state

low Normal

High

Abstraction in state

체온 값을 일정시간

간격(예: 일주일)

으로 측정하되

{상, 중, 하} 로 나누어

측정

time

state

Abstraction in time

체온 값을 실수로

측정하되 일정한 시간

간격 (예: 매일 저녁)

에 측정

State (체온)

time

체온 값을 실수로

측정하되 모든 시간에

대하여 측정

유년

소년

청년

장년

Page 7: Objective-driven systems modeling - KAIST

7 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

계층적 하이브리드 시스템 예: 로봇트

Controller

Manipulator

Planner

/scheduler

What to do

How to do

Commands

Signals

Interface

Interface

Event

Seq of 0/1

Seq of 0/1

Analog signal Analog signal

Seq of 0/1

Seq of 0/1

Event

Discrete Event

System

Digital

System

Continuous

System

공학급

임무급

공학급

교전급

Page 8: Objective-driven systems modeling - KAIST

8 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

Specification

Implementation

Probabilistic

Deterministic

S/W

H/W

Micro

Macro

Active

Passive

Communication

Computation

Discrete Event System

DE

Digital System

DS

Sampled Data System

SD

Continuous System

CS

추상화 수준의 특징

어른

어린이

Page 9: Objective-driven systems modeling - KAIST

9 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

모델 개발: 3 기술의 순차적 적용

모의논리

목적지향적

요구 명세

모델

시뮬레이터

이동 탐지

피해평가

교전

모델링 모델 구현

(코딩)

요구 공학 기술 모델링 기술 모델 구현 기술

동기, 동시성, 프로세서

통신 등에 중점

시스템

요구사항

분석 및 명세

프로세서 기 반

(Process Oriented)

콘트롤 ( 사건)

기 반

(Control Oriented)

외부에서 본 입력/출력

흐름의 관점에서 분석

SA; SAD;

VDM

Flowchart

데이터 기 반

(Data Oriented)

시스템의 내부

상태에 중점

JSD; ER

객체 기 반

(Object Oriented)

시스템내의 객체들의

상태변환과 이들의

상호작용에 중점

UML

DEVS 모델링 (모델 설계 방법론)

• 시스템 이론 (객체지향)적 모델

• 입력, 출력, 상태변수

• 상태천이 함수, 출력 함수

• 모델 (설계 문서) 표현 방법

• 수학적 표현 (집합, 함수)

• 가시적 그래프

• 테이블 (데이터 베이스)

• 규칙(조건-귀결)

• 의사 코드

• 알고리즘

DEVS 모델 (설계 문서) 구현 방법

• DEVSim++ / DEVSimHLA 환경

DEVS 모델을 객체지향적

언어인 C++ 를 사용하여 구현

• 시뮬레이션 언어 사용

SIMSCRIPT 등을 사용하여

사건 혹은 프로세스 기반으로 구현

• 일반 프로그램 언어(C/C++ 등) 사용

개발자가 DEVS 모델과 모델

실행 환경 (DEVSim++ 기능)을

모두 개발 해야 함.

Page 10: Objective-driven systems modeling - KAIST

© 2011 Tag Gon Kim

10 of 20

IE801 – Lecture5

검증 기반 시스템 설계 및 구현: 시뮬레이션 vs 건축

완공된 건물

검수 1

검수 k

공정 1 기초 공사

공정 n 마무리

공정 k

조감도

사용자 요구사항

모의논리

시뮬레이터

모델개발 1 단계

모델 구현

모델개발 k 단계

M&S 목적

설계도 검증

준공검사

논리 검증

모델검증

검증 1

검증 k

모델 설계서 (UML/DEVS)

건물 설계서 (설계도)

의사 소통 수단 검증 기준

모든 공정에 필요한

Page 11: Objective-driven systems modeling - KAIST

11 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

Counting problem

cases to select x out of n

Combination : nCx

! )! (

!

x x n

n

-

수학적 모델의 역활

완전성(Completeness)

검증성(Testability )

통신 수단 (Communication means)

수학적 처리(Mathematical manipulation)

일반성(Generality)

복잡한

시스템의 모델링

Person-1: (1,2,3) (1,2,4) (1,2,5) ……

Person-2: (10,9,8) (10,9,7) (10,9,6)...

수학적(Formal or Mathematical) 모델의 역할

교육을 위한 비용

모델링

시뮬레이션 모델은 없고 시뮬레이션만 있음

모델링과 시뮬레이션이

명시적으로 분리되어 있음

Informal method

(초등학생)

Formal method

(고등학생)

Page 12: Objective-driven systems modeling - KAIST

12 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

프로그래밍 vs. 모델링

사물 1: 직사각형

a

b

사물2: 삼각형

a

x y

인터페이스 삼각형이 사각형

바로 위에 있다

프로그래머 1

프로그래머 2

프로그래머 3 오 류 !!

Page 13: Objective-driven systems modeling - KAIST

© 2011 Tag Gon Kim

13 of 20

IE801 – Lecture5

사건

신문의 종류에

상관없이

동일 사건에

대한 동일

정보 획득

육하원칙(5W1H) :

정보 전달 및 검증의 틀

기자 독자 제보자

전달

전달

전달

검증

검증

검증

기자에 따라 각기

다른 문장 표현

신문기사 작성 틀: 5W1H 모델링: 모델 설계 모델 구현

Page 14: Objective-driven systems modeling - KAIST

© 2011 Tag Gon Kim

14 of 20

IE801 – Lecture5

구현에 사용된

프로그램 언어에

상관없이

시스템의

동작은 동일 함

DEVS(3S4F) :

모델 표현 및 검증의 틀

모델링 전문가 시뮬레이터

개발자

전달

전달

전달

분야

전문가

검증

검증

검증

각기 다른 프로그램

언어 사용

이산사건 시스템 모델링 틀: 3S4F (DEVS)

시스템

모델링: 모델 설계 모델 구현

Page 15: Objective-driven systems modeling - KAIST

15 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

문제 군 대상 시스템 목 적

모델링

모델 검증 시뮬레이션 시뮬레이션

검증 적용공식(틀) 공식에 대입

모든 문제 군에 동일

문제 내용에 따라 달라짐

경우의 수를

세는 문제

10명중 3명을

차출하는 경우의 수

nCx 10C3

2 개의 변수 10, 3이 사용되었는지?

10! 3! 7!

계산 결과가 맞는지?

싞문기사 작성 문제

사건 목격 후

기사 제보

W가 5개 있고

H가 한 개 있는지?

각 내용은?

5W1H 각각이 실제 사건과 일치하는

지?

어디서

언제

누가

무엇을

어떻게

5W

1H

누가

어디서

홍길동

워 게임 모델링 문제

워 게임 모델링

집합이 3개 이고 함수가

4개인지?

각 내용은?

3S4F 각각이 대상 시스템의 행위와

일치하는지?

상태변수

출력

입력

외부 상태천이함수

내부상태천이 함수

출력발생함수

시간진행함수

3S

4F

1 분 간격

δext

δint

λ ta

기동 개시

반파, 완파

상태변수 입

력 알고리즘 1

알고리즘 2

모델링 틀을 이용한 M&S

Page 16: Objective-driven systems modeling - KAIST

16 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

시비

?

시스템 이론적 동작 특성 표현: 모델링

무 입력 시 + 입력 시

시스템 관찰

Y X

Q

Y X

시스템

사람 동 특성모델링

시스템 동 특성 모델링

무 입력 시 관찰된 시스템 동작

무입력(자연) 응답

입력 시 관찰된 시스템 동작

입력(강제) 응답

+

?

?

Page 17: Objective-driven systems modeling - KAIST

17 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

집합 이론 기반 시스템 이론적 시스템 모델링

X (입력) Y(출력) Q (상태)

3 개의 집합

연속 시스템 모델 이산 사건 시스템 모델

X: 실수 집합

Y: 실 수 집합

Q: 실수 집합

X: 이산 사건 집합

Y: 이산 사건 집합

Q: 이산 상태변수 집합

* 주: 동적 시스템 의 상태 방정식(dQ/dt, q’)과 출력 방정식(Y, y) 은 모두 시간의 함수 이다.

3 집합

사이의 관계

dQ/dt = AQ + BX

Y = CQ + DX

A, B, C, D: 계수 매트릭스

q’ = dint(q) dext (q, x )

y = l(q) dint , dext : 상태천이 함수

l : 출력 함수

미분 방정식 DEVS 방정식

Page 18: Objective-driven systems modeling - KAIST

18 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

상태천이를 closed form 으로 표현

미분방정식 모델

상태천이를 closed form 방정식 형태로 표현 할 수 없음.

DEVS 방정식 모델

시스템의 동 특성 상태변수(Q) 값의 변화 상태 방적식 (입력 및 무 입력시 Q 의 변화 추적)

Q

X Y Dynamic System

+

시스템 이론적 모델 표현: 상태방정식

dQ/dt = f(Q, x)

dq/dt = 3q + 2x

d int : Q → Q

b c

c b (a, x3) b

(b, x1) c

(c, x2) a

d ext : Q X → Q

Q Y

Dynamic System

무 입력 시 특성

Q X Y

Dynamic System

입력 시 특성

Q(t)

t

연속 시스템

t a b c

x3 x1 x2

이산사건 시스템

Q(t)

Natural System Man-made System

Page 19: Objective-driven systems modeling - KAIST

19 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

시스템 모델 = 상태 방정식 + 출력 방정식

Y X

Q

system 무 입력시: 상태방정식 + 출력 방정식

입력시: 상태방정식 + 출력 방정식

+ 입력시 + 무 입력시

시스템 동작

dQ/dt = f(Q, X) = AQ + BX ( 상태 방정식 )

Y = g(Q, X) = CQ + DX ( 출력 방정식 )

연속

시스템

이산

사건

시스템

Input State Output System Model

미분 방정식

DEVS 방정식

q’ = dint(q) dext (q, x ) ( 상태 방정식 ) y = l(q) ( 출력 방정식 )

time(t)

state(Q)

t

X(t) Y(t)

t

time(t)

state( Q)

t

Xe Ye

t

x3 x2 x3 x4 x5

e1 e2 ek

s1

s2

sk

y2 y4 y3

Simulation Engine

Equation Solver

(eg: MATLAB)

Execution algorithm

for DEVS model

(eg: DEVSim++)

Page 20: Objective-driven systems modeling - KAIST

20 of 20

© 2011 Tag Gon Kim IE801 – Lecture5

d int : Q → Q d ext : Q X → Q

H/W 객체 기능 모델링

(무기, 장비 등)

S/W 객체 프로세스 모델링

(운용 개념, 교리, 전술 등)

Q

X Y Dynamic System 완벽한 범용 라이브러리

구축 가능

완벽한 범용 라이브러리

구축 불가능

dQ/dt = f(Q, X) = AQ + BX

Q(t)

연속 시스템 Natural System

t a b

c

x3 x1 x2

이산사건 시스템

Q(t)

Man-made System

미분 방정식 작성기

미분 방정식 수치

해석 알고리즘

미분방정식 모델 (MATLAB 환경)

블록 기반

연속시스템

라이브러리

DEVS 방정식 작성기

DEVS 방정식 해석

알고리즘

C++ 기반

DEVS 모델

라이브러리

DEVS 모델 (DEVSimHLA 환경)

기동 담지 교전

모델링 및 시뮬레이션 툴: MATLAB vs DEVSimHLA