기본적인 프로세스 모델링

Post on 18-Mar-2016

97 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

기본적인 프로세스 모델링. 석사과정 박종원. 목차. 2.1 개체 , 속성 , 그리고 변수 2.2 개체의 생성과 소멸 2.3 변수와 속성의 정의 2.4 개체 처리 2.5 속성 , 변수 , 그리고 입출력 2.6 Arena ™ 에서의 흐름 제어 2.7 개체의 묶음과 해체 2.8 SIMAN 과 Arena ™ 의 Run Controller 2.9 요약. 용어 정리. 시스템 (System) : 공통의 목적들을 달성하기 위해 함께 활동하는 관련된 요소들의 집합 - PowerPoint PPT Presentation

TRANSCRIPT

Chapter 2

기본적인 프로세스 모델링

석사과정 박종원

Chapter 2목차

2.1 개체 , 속성 , 그리고 변수

2.2 개체의 생성과 소멸

2.3 변수와 속성의 정의

2.4 개체 처리

2.5 속성 , 변수 , 그리고 입출력

2.6 Arena™ 에서의 흐름 제어

2.7 개체의 묶음과 해체

2.8 SIMAN 과 Arena™ 의 Run Controller 2.9 요약

Chapter 2용어 정리

시스템 (System) : 공통의 목적들을 달성하기 위해 함께 활동하는 관련된 요소들의 집합 모수 (Parameter) : 모델의 입력 자료 중에서 시스템을 변화시키지 않는 고유한 특성 변수 (Variable) : 시스템의 상태를 표현해주는 수치 시스템 상태 (System State) : 특정한 시점에 시스템의 특정한 위치의 상황을 변수의 값을

이용하여 순간적으로 보여 주는 것 시스템의 상태 변수 (State Variable) : 시스템이 미래에 어떻게 전개되는지 설명하기 위해

필요한 최소한의 변수들의 집합을 의미 개체 (Entity) : 시스템 내에서 움직이거나 사건이 일어나는 원인이 되는 객체 (Object) 속성 (Attribute) : 개체에 관련된 특성 사건 (Event) : 특정 시간에 시스템의 상태를 변화시키는 행동 활동 (Activity) : 두 개의 사건 ( 시작 사건과 종료 사건 ) 에 의해 결정되는 시간 간격 자원 (Resource) : 시스템에 있는 개체가 활용하기 위해 존재하는 것 대기행령 (Queue) : 개체의 움직임이 시스템 내에서 한정될 때 개체들이 기다리는 장소 미래 사건 달력 (Future Event List) : 시뮬레이션에서 사건이 일어날 순서를 기록하고 있는 목록

Chapter 22.1 개체 , 속성 , 그리고 변수

개체는 시스템 내에서 움직이거나 사건이 일어나는 원인이 되는 객체 예 ) 소매상점 – 고객 , 제품 , 상점에 도착하는 트럭 등

속성은 개체에 관련된 특성 속성은 개체의 종류를 구분함 속성은 개체에 붙어있는 변수로 생각할 수 있음

예 )

시스템에서의 광역변수는 시스템의 상태를 표현하는 수치 예 ) 상차중인 트럭의 수 , 일하고 있는 지게차의 수 등

품목 일련번호 무게 제품구분 가격

제품 1 12345 2 ㎏ 완두콩 800 원

제품 2 98765 2 ㎏ 콩 1200 원

Chapter 22.2 개체의 생성과 소멸

개체의 생성 : CREATE 모듈 Type : 개체가 연속적으로 도착하는 유형을 의미 Value : 도착 간격 시간 입력 Max Arrivals : Create 모듈에서 최대로 몇 번의 개체 생성 사건을

발생시킬 것인지 설정 Entities per Arrivals : 묶음 (batch) 단위로 도착하는 모델링에 사용 First Creation : 첫 번째 개체가 시스템에 도착하는 시간

Chapter 22.2 개체의 생성과 소멸

개체의 소멸 : DISPOSE 모듈 만들어진 각 개체는 각 개체 별로 메모리를 할당 받는데 일단 개체가

모델의 프로세스를 수행한 다음에는 소멸됨 DISPOSE 모듈은 개체가 더 이상 필요 없을 때 개체를 처리하기 위한

역할

Chapter 22.3 변수와 속성의 정의

Arena™ 에서 사용되는 모든 변수는 광역변수 ( 전역변수 ) 변수 선언 시 공백 사용 가능하며 공백 없는 것과 구분됨

This is a legal name 과 같은 것도 변수로 사용 가능 PartCount 와 Part Count 는 다른 변수

변수 정의를 위해 다음과 같이 대화상자 및

스프레드 시트 입력

2 차원 배열까지 사용 가능

Chapter 22.3 변수와 속성의 정의

Arena™ 에서 Entity 모듈을 이용하여 개체의 종류 설정

Chapter 22.4 개체 처리

개체가 모듈 사이를 이동 두 모듈을 직접 연결 개체 전달 방법 (transfer mechanism)

현재 움직이고 있는 개체 : 활동 중인 개체 (active entity) 활동 중인 개체는 지연 (delay) 되거나 다른 모듈에 의해서 막힐 (block) 때 까지

계속 이동

Resource 모듈 : 자원의 필요 유무에 따라 모델링 제약 받지 않는 활동 (unconstrained) 자원 제약적인 활동 (resource constrained)

Queue 모듈 : 대기 행렬에서 처리 우선순위 결정 Hold 모듈 : 다른 개체에 의해 특정 신호가 활성화 되거나 특정 조건이

충족되기 전까지 개체가 HOLD 모듈 속에 포함된 대기행렬에서 기다리게 함 Separate 모듈 : 모델 상에서 개체들이 자기 자신들을 복사

Chapter 22.5 속성 , 변수 , 그리고 입출력

2.5.1 약국 모델 수정 2.5.2 ASSIGN 모듈의 사용 2.5.3 READWRITE 모듈의 사용 2.5.4 RECORD 모듈의 사용 2.5.5 변수의 애니메이션 2.5.6 모델 실행시키기

Chapter 22.5 속성 , 변수 , 그리고 입출력

모델링 방법을 위한 질문들 시스템이 무엇인가 ? 시스템에 대해 어떤 정보가 알려져 있는가 ? 요구되는 성능 지표들은 무엇인가 ? 개체들은 무엇인가 ? 각 개체들에게 어떤 정보가 기록되거나 기억되어야

하는가 ? 개체들은 어떻게 시스템에 투입되는가 ? 어떤 자원들이 개체들에 의해 사용되는가 ? 어떤 개체가 어떤 자원을

어떻게 사용하는가 ? 프로세스 흐름 (process flow) 은 무엇인가 ? 프로세스나 활동 흐름

다이어그램 (activity flow diagram) 을 도시하라 시뮬레이션을 위한 의사코드를 개발하라 Arena™ 를 통해 모델을 구현하라

Chapter 22.5.1 약국 모델 수정

약사가 1 명 있고 , 고객이 기다리는 대기행렬도 1 개인 소규모 약국 시간당 평균 10 명의 고객이 포아송 과정에 의해 약국에 도착 약사가 고객의 주문을 처리하는데 소요되는 시간은 임의로

달라지는데 평균 3 분인 지수 분포를 따름 선입 선출 서비스 대기열 크기 제약은 없음 ( M / M / 1 ) : ( FCFS / ∞ / ∞ ) 모형 시뮬레이션은 오직 30 명의 고객들에 대해서 실행

Chapter 22.5.1 약국 모델 수정

사용될 모듈들 C REATE : 30 명의 고객을 생성 ASSIGN : 변수와 속성에 값을 할당 READ / WRITE : 고객으로부터 필요한 정보를 기입 PROCESS : 약사에게 요구된 처방전을 조제하는 활동을 구현 RECORD : 고객의 시스템 체류 시간에 대한 통계량을 기록 DISPOSE : 생성된 개체들의 소멸 FILE : 데이터 모듈 안의 READWRITE 모듈에서 사용되는 운영 체제

파일의 특성들을 정의 VARIABLE : 고객이 가지고 있는 처방전의 각각의 수량과 전체 수량을

추적하기 위해 변수들을 정의

Chapter 22.5.1 약국 모델 수정

표 2-3 의 정보 모델링 이 정보는 고객들을 생성하는 방법에 관한 것이므로 시스템에 소속된

것이라고 봐야함

VARIABLE 데이터 모듈을 선택하여 다음과 같이 변수 정의

처방전 수 확률 평균 서비스 시간

1 50% 3 분

2 30% 4 분

3 20% 5 분

Chapter 22.5.2 ASSIGN 모듈의 사용

표 2-3 의 정보 모델링 이 정보는 고객들을 생성하는 방법에 관한 것이므로 시스템에 소속된

것이라고 봐야함

VARIABLE 데이터 모듈을 선택하여 다음과 같이 변수 정의

처방전 수 확률 평균 서비스 시간

1 50% 3 분

2 30% 4 분

3 20% 5 분

Chapter 22.5.2 ASSIGN 모듈의 사용

ASSIGN 모듈에 할당된 순서를 보여주는 스트레드시트 뷰

myNP : DISC 함수에 의해 무작위로 추출되는 1, 2, 3 중 하나의 값을 가지는데 이것은 현재 고객이 가지고 있는 처방전의 수를 의미

vNumPrescriptions : 새로운 vNumPrescriptions 는 기존의 값에 새롭게 도착한 고객의 처방전 수 (myNP) 값을 합산한 것

myNP 값의 증가 : 1 차원 배열 변수 vNP 를 이용하여 시스템에 있는 고객의 수를 처방전 수량에 따라 분류

myArriveTime : TNOW 를 이용하여 현재 시뮬레이션 시간 기록 vEventType : (1 = 도착 , 2 = 출발 ) 등과 같은 사건의 종류를 기록

Chapter 22.5.3 READWRITE 모듈의 사용

READWRITE 모듈은 시뮬레이션으로부터 추출된 정보나 시뮬레이션에서 도출되는 값을 필요한 순간에 파일에 기록하는 기능을 제공

차후에 정보 처리나 분석 과정에서 유용

Chapter 22.5.4 RECORD 모듈의 사용

RECORD 모듈은 개체가 모듈을 통과할 때 마다 정보를 표로 작성 Count : 이름이 지정된 카운터의 값을 정해진 수량만큼 증가 /감소 Entity Statistics : 지속 시간과 비용처럼 개체에 관련된 일반적인 정보를

만들어냄 Time Interval : 특정한 속성의 값과 현재 시뮬레이션 시간의 차이를

계산하고 기록 Tim e Between : 개체들이 해당 모듈에 도착한 시간의 차이를 추적하여

계산하고 기록 Expression : 특정한 표현식의 값을 기록함

Chapter 22.5.4 RECORD 모듈의 사용

RECORD 모듈은 개체가 모듈을 통과할 때 마다 정보를 표로 작성 Count : 이름이 지정된 카운터의 값을 정해진 수량만큼 증가 /감소 Entity Statistics : 지속 시간과 비용처럼 개체에 관련된 일반적인 정보를

만들어냄 Time Interval : 특정한 속성의 값과 현재 시뮬레이션 시간의 차이를

계산하고 기록 Tim e Between : 개체들이 해당 모듈에 도착한 시간의 차이를 추적하여

계산하고 기록 Expression : 특정한 표현식의 값을 기록함

Chapter 22.5.5 변수의 애니메이션

Animate Variables 옵션을 이용하여 현재 시스템에 있는 처방전의 수량 표시 가능

Chapter 22.5.6 모델 실행시키기

모델에서 고객을 30 명만 생성하라고 요구

Chapter 22.6 Arena™ 에서의 흐름 제어

모델에서 개체들이 움직이는 방향을 결정하기 위한 매커니즘 논리적 (logical) 이고 확률적인 (probabilistic) 조건 반복 루프 (iterative looping) 개체의 이송

Chapter 22.6.1 논리적이고 확률적인 조건

논리를 제어하기 위한 구조 DECIDE BRANCH IF-ELSE-ENDIF

가장 많이 쓰이는 DECIDE 모듈 2-way by condition

If 조건이 사실이면 개체를 true 출구 지점으로 보냄Else 개체를 false 출구 지점으로 보냄

Chapter 22.6.2 반복 루프

C 언어와 같은 언어에서 for-loop, do-while 과 같이 명령문의 집합을 반복적으로 수행 WHILE/ENDWHILE 블록 제공

2.6.3 예제 : 반복 루프 , 표현식과 하위 모델 2.6.3.1 모델의 구축 2.6.3.2 VARIABLE 모듈 2.6.3.3 EXPRESSION 모듈 2.6.3.4 계층적 하위 모델 2.6.3.5 WHILE-ENDWHILE 블록 2.6.3.6 PROCESS 모듈의 지연 옵션

Chapter 2

2.6.3 예제 : 반복 루프 , 표현식과 하위모델

CREATE : 모델에서 두 개의 다른 도착 프로세스를 표현하기 위해 두 개의 CREATE 모듈을 사용

ASSIGN : 변수들과 속성들의 값을 할당하는데 사용 WHILE&ENDWHILE : 개체들이 조건을 만족시킬 때 까지 순환 DECIDE : 개체들이 조건을 만족시킬 때 까지 순환 PROCESS : 모델의 시뮬레이션에서 단순히 시간을 지연 DISPOSE : 생성된 개체를 소멸 VARIABLE : 모델에서 사용되는 변수와 배열 정의 EXPRESSION : 모델에 사용되는 표현식의 이름을 정의 SUBMODEL : 하위모델은 모델 창의 일부 영역으로 여러 모듈들을

하나의 모듈로 통합한 것

Chapter 2

2.6.3 예제 : 반복 루프 , 표현식과 하위모델

이 시스템은 제품을 생산 모델 1 과 모델 2 라는 두 가지의 모델 구성을 가짐

제품들의 기본 작업 시간은 제품의 종류에 따라 독립적 실제 작업 시간은 기본 작업 시간 분포를 이용하여 10 개의 값을

무작위로 생성한 후 , 그 10 개의 값을 합한 시간으로 가정 작업은 연속적인 두 개의 동일한 공정에서 수행 작업이 끝나면 제품은 시스템을 떠남 EXPRESSION 모듈 : 함수와 연산자를 이용하여 표현식을 만들 때 ,

표현식을 기억하기 위해 구조가 필요한데 이 때 사용

모델 평균 도착률 종류 A (%, 가공시간 )

종류 B (%, 가공시간 )

1 12 분에 하나씩 90%, expo(14) 분 10%, expo(12) 분

2 22 분에 하나씩 70%, expo(16) 분 30%, expo(10) 분

Chapter 22.7 개체의 묶음과 해체

BATCH 2 개 이상의 개체를 일시적으로 혹은 영구적으로 묶어서 하나의 개체로

표현 일시적인 개체는 제조 시스템에 대한 모델을 구축할 경우 조립 공정이나

분해 공정을 표현할 때 유용하게 사용 가능 영구적인 개체는 조립 공정으로 끝나는 경우 사용

SEPARATE 묶인 개체가 다시 원래의 개체로 돌아감

Chapter 22.8 SIMAN 과 Arena™ 의 Run Controller

Arena™ 을 이용하여 개발한 프로그램의 오류확인에 도움

Chapter 22.9 요약

CREATE DISPOSE PROCESS ASSIGN RECORD BATCH SEPARATE DECIDE VARIABLE RESOURCE QUEUE

ENTITY SET READWRITE FILE EXPRESSION DELAY MATCH IF / ELSE / IF ELSE / END IF WHILE / END WHILE BRANCH

top related