• 검색 결과가 없습니다.

High-level Discrete-event Modeling-based Business Process Simulation for the Scheduling of the Ship Hull Production Design

N/A
N/A
Protected

Academic year: 2021

Share "High-level Discrete-event Modeling-based Business Process Simulation for the Scheduling of the Ship Hull Production Design"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

DOI http://dx.doi.org/10.7315/CADCAM.2013.224

<응용논문> ISSN 1226-0606

조선 선체 생산설계 일정 계획을 위한 상세 이산사건 모델링기반 비즈니스 프로세스 시뮬레이션

손명조

1

·김태완

1,2†

1

서울대학교 해양시스템공학연구소,

2

서울대학교 조선해양공학과

High-level Discrete-event Modeling-based Business Process Simulation for the Scheduling of the Ship Hull Production Design

Myeong-Jo Son

1

and Tae-wan Kim

1,2†

1

Research Institute of Marine Systems Engineering, Seoul National University

2

Department of Naval Architecture and Ocean Engineering, Seoul National University Received 28 February 2013; received in revised form 6 May 2013; accepted 8 May 2013

ABSTRACT

For the scheduling and the job assignment of the ship hull production design which is a pro- cess-based work, we suggest the simulation-based scheduling using the discrete-event-based business process simulation. First, we analyze the ship hull production design process from the perspective of a job assignment to make it into the simulation model using DEVS (Discrete Event System Specification) which is the representative modeling method for a discrete-event simulation. Based on the APIs of the open-source discrete-event simulation engine, we imple- ment the simulation using the Groovy script. We develop the scenario generator in which the user defines detail information of the construction drawing and its member blocks, and design engineers information, and the various setting for the simulation including the job assignment strategy. We use the XML files from this scenario generator as inputs of simulation so that we can get simulation result in forms of Gantt chart without changes of the simulation model.

Key Words: Business process simulation, Ship hull production design, Drawing scheduling, Discrete-event simulation, High-level modeling

1. 서 론

선박설계는 기본설계, 상세설계, 생산설계의 각 설계 단계를 거치며, 설계는 정교해지고 더욱 구 체화되어, 최종설계 단계인 생산설계의 산출물은 생산을 할 수 있을 정도의 정확도를 지니게 된다.

선체 생산설계는 상세설계의 산출물인 구조도를 바탕으로, 각 블록을 설계 단위로 하여, 생산이 가 능할 정도로 정교한 공작도, 철판과 보강재 등의 치수와 절단, 마킹방법을 기술한 절단도, 블록의 전체 구성 부품과 수량, 재질, 부품간의 관계 등을 포함하는 M-BOM(Manufacturing-BOM) 등을 생 성하는 작업이다. 생산설계는 조선소의 생산설비 와 공정과 밀접한 관계가 있기 때문에, 조선소별 로 설계 표준이나 방법이 다르다.

Corresponding Author, taewan@snu.ac.kr

©2013 Society of CAD/CAM Engineers

(2)

생산설계는 기본설계나 상세설계와 비교하여, 소요시수와 산출물이 많고, 프로세스기반의 업무 이다. 여기서, 프로세스기반의 업무란, 일련의 프 로세스 안에, 선후관계에 종속적인 다양한 업무가 존재하고, 그 업무별로 다양한 산출물이 있는 것 으로 정의한다. 또한 생산설계의 프로세스는 “표 준화된 프로세스 모델”을 개발할 경우, 호선별, 블 록별, 생산설계자별 인스턴스화를 통해, 반복적 실 행이 가능한 정형화된 프로세스이다. 이러한 특징 으로 인해, 생산설계업무는 워크플로우 또는 비즈 니스 프로세스 측면에서 접근한다면, 업무 개선 또 는 생산성 향상이 기대된다.

본 논문에서는 이산사건 시뮬레이션을 이용하 여, 비즈니스 프로세스를 시뮬레이션하고자 한다.

비즈니스 프로세스의 업무(task)와 업무간의 전 환/이동(transition)은 이산사건 시스템의 상태(state) 와 이벤트(event)로 각각 모델링이 가능하다. 이와 같이, 프로세스 모델을 비교적 쉽게 이산사건 시 뮬레이션 모델로 변환이 가능하기 때문에, 대부분 의 비즈니스 프로세스 시뮬레이션은 이산사건 시 뮬레이션으로 개발되고 있다

[1-3]

.

2장에서는 관련 연구 현황을 소개하고, 3장에서 는 시뮬레이션 대상인, 조선 선체 생산설계의 관 리자 작업할당과 일정계획에 대해서 설명한다.

4장에서는 시뮬레이션 모델을 DEVS(Discrete Event System Specification)로 표현하여, 제시한다. 5장 에서는 이산사건기반 비즈니스 프로세스 시뮬레 이션의 구성과 구현에 대해서 설명한다. 6장에서 는 시뮬레이션 결과를 분석하고, 마지막으로 7장 에서는 결론과 향후 연구 계획을 제시한다.

2. 관련 연구 현황

비즈니스 프로세스 시뮬레이션(BPS; Business Process Simulation)의 주요 목적으로는 BPM (Business Process Management)에 있는 로그 데이 터를 이용한 업무 재현, 새로운 시나리오를 통한 업무 예측, 프로세스 자체의 개선(BPR; Business Process Re-engineering) 등이 있다. 여기서, BPM 은 프로세스를 중심으로 업무를 파악하고, 실행하 는 워크플로우 시스템에 프로세스의 지속적인 모 니터링과 개선의 개념을 포함한 광의의 개념이다

[4]

. 시뮬레이션 대상을 상세하게 모델링할 때는 대 상의 정적인 특징을 속성으로 정의하고, 각 상태

에서 움직이는 동작을 동작원리로 정의할 수 있

[5]

. BPS 관련 기존의 연구에서는 상태와 이벤트 수준의 개략 모델링을 다루고 있다

[1-3]

. 동작원리 로는 다양한 확률 분포(uniform, normal, Poisson, etc.) 가운데, 현 상황을 가장 잘 반영하는 것을 활 용한다. 또한, 시뮬레이션 설정은 업무를 수행하 는 서버의 수와 그 각각의 service rate를 변화시키 거나, arrival rate를 바꿔보는 수준의 시뮬레이션 이 다뤄지고 있다. 즉, BPS 개발을 위해서는, BPM 시스템에서 제공하는 BPS 모듈이나, 상용 시뮬레 이션 프로그램에서, BPS를 위한 모델을 자체 개 발하여야 하며, 그 수준은 queueing theory 수준 (M/M/1, M/G/1, M/G/∞, etc.)

[6,7]

의 확률분포 모델 기반에서 크게 벗어나지 못하고 있다.

조선분야에서 BPS는 외주 구매 프로세스를 상 용 시뮬레이션 도구를 사용하여 간략히 모델링한 사례만 있을 정도로 연구가 거의 이루어지지 않은 분야이다

[8]

. 조선 이외의 산업분야에 BPS가 적용 된 사례로는 사람과 IT(Information Technology) 시스템과의 상호작용의 분석을 통한 프로세스 재 설계 시뮬레이션

[9]

, 병원의 환자 등록 시스템 시뮬 레이션

[10]

, 신용카드 신청 프로세스 시뮬레이션

[11]

등이 있다. 그러나, 기존의 연구는 모두 간단하고 개략적인 수준의 BPS 모델을 상용 시뮬레이션 도 구를 이용하여 구현하였다. Barjis는 간단하고 작 은 BPS 모델에는 상용, 공개용 BPS tool을 사용할 수 있으나, 상세한 분석과 효과적인 모델링과 분 석을 위해서는 Colored Petri nets(CPN)과 같은 high-level tool을 사용하여 한다고 제안하고 있다

[10]

. 본 논문에서는 이산사건 시뮬레이션에서 표준 처럼 가장 널리 사용되는 DEVS

[12]

을 이용하여, 조 선 선체 생산설계 일정계획과 같은 복잡한 시뮬레 이션을 상세하게 모델링하고자 한다.

3. 조선 선체 생산설계 일정 계획

선체 생산설계업무는 상세설계의 구조도를 기 반으로 수행된다. 구조도는 구조적으로 또는 기능 적으로 의미있는 선체구역에 대한 설계정보를 구 조적 특징을 중심으로 약속된 기호와 선으로 표현 된 2차원 도면이다. 반면, 생산설계는 블록단위로 이루어지는 생산을 위한 설계이기 때문에, 블록 단 위로 이루어진다. 설계관리자는 구조도가 출도되 면, 구조도와 블록분할도에 근거하여, 구조도가 정

(3)

의된 구역에 포함된 선체 블록을 식별한다. 식별 된 각 블록은 생산설계 부서의 작업 단위가 된다.

선체 생산설계는 각 블록별로, 한 명의 설계자가 투입되어, CAD(Computer-Aided Design) 시스템 을 활용한 3D 모델링과 그 결과를 이용한, 공작도 작성, 네스팅, M-BOM 작성 등의 일련의 프로세 스에 따른 업무를 완수한다. 이를 프로세스 다이 어그램으로 표현하면 Fig. 1과 같다.

블록은 그 형상, 난이도에 따라 같은 작업자가 작업하더라도 소요되는 시간이 다르다. 같은 블록 을 설계하더라도, 설계자에 따라 소요되는 시간 또 한 다르다. 본 논문은 블록별 난이도를 평가하기 위해, 블록의 격벽의 개수, 블록 부피, 개구부 개 수, 경사 격벽 개수, Turn-over lug 설치 여부, 족 장 설치 여부를 입력을 받아, 각 항목이 생산설계 업무에 미치는 영향을 가중치로 환산하여 표준 설 계 시수를 계산하였다. 설계자는 근속연수, 블록 실적 건수, 동일 블록 설계 유무와 같은 경험적인 부분과 최근 5건에서의 재검도 유무와 오작 유무 와 같은 정교함을 반영하여 가용시수를 계산하였다

[4]

. 이렇듯 어느 블록을 어느 설계자가 맡아서 설계 를 하느냐에 따라 일정이 가변적이다. 현재는 관 리자의 노하우, 경험에 의존하여, 각 블록 할당과 그에 따른 도면출도계획이 작성되고 있다. 그렇기 때문에 출도계획이 정확하지 못하고, 중일정계획 을 맞추지 못하기도 한다. 즉, 어느 설계자에게 어 떠한 블록을 할당하는 지에 따라, 각 블록의 출도 계획이 어떻게 변하는지 예측하는 할 수 있어야, 생산설계 일정계획이 정교하게 작성될 수 있다. 이 를 위해서, 모델링 및 시뮬레이션 필요하다.

4. 상세 이산사건 모델링

이산사건 시스템을 상세하게 표현하고 모델링 하기 위해 본 논문은 DEVS를 적용하였다.

4.1 DEVS

DEVS는 모델링과 시뮬레이션을 위한 명세로 이 산사건 시뮬레이션 모델을 구성하고, 형식적으로 표현하는 필수 요소들에 대해 정의하고 있다

[13]

. DEVS 모델은 atomic 모델과 coupled 모델로 나뉜 다. Atomic 모델은 모든 모델을 구성하는 가장 하 위단계의 기본 구성 모델이 되고, 이러한 atomic 모델을 조합하여 coupled 모델을 구성할 수 있다.

Coupled 모델은 Fig. 2의 좌측 상단의 index에 나 타나있는 항목 가운데, 입력, 출력, atomic model, external input coupling relation(EIC), external input coupling relation(EOC), internal coupling relation(IC), 우선순위를 이용하여 표현한다. Atomic 모델은 Fig. 3의 우측에 나타나 있는 것과 같이, 입 력, 출력, 상태변수, 외부전이함수, 내부전이함수, 시간진행함수, 외부함수로 표현한다

[14]

.

4.2 선체 생산 프로세스 DEVS 모델링

선체 생산설계 프로세스는 세 개의 atomic 모델 이 조합된 하나의 coupled 모델로 구성하였다. 구 체적으로, 블록 난이도를 평가하고, 설계자에게 할 당하는 역할을 하는 설계관리자 프로세스(Design manager process), 할당 받은 블록을 정형화된 생 산설계 프로세스에 따라 설계를 수행하는 설계자 프로세스(Design engineer process), 시뮬레이션 반 Fig. 1 Hull production design process

(4)

복 회수, 설계관리자 할당방법 설정, 모니터링 데 이터 취합을 통한 결과 가시화를 담당하는 시뮬레 이션 조정자(Simulation coordinator)으로 구성된 다. 이를 atomic 모델인 구조설계 프로세스(Hull

design process)와 연계하여 전체 시뮬레이션 coupled 모델을 구성하였다. 자세한 구성도와 메시지 연결 은 Fig. 2와 같다. 시뮬레이션 시작과 동시에 시뮬 레이션 시나리오 생성기에서 시뮬레이션에 투입

Fig. 2 DEVS overall coupled model representation of ship hull production design process

Fig. 3 DEVS atomic model representation of ‘Design Manager Process’

(5)

될 구조도 정보와 출도일, 설계관리자 작업할당 전 략, 설계자 정보 등이 XML 파일로 입력된다. 결 과를 가시화하기 위해, 각 프로세스의 시작과 끝 나는 시간과 관련 프로세스 데이터를 모니터링 데 이터 형태로 ‘Simulation Coordinator’ atomic 모델 로 전달한다. 시뮬레이션이 종료되면, 모든 모니 터링 데이터를 취합하고, 시뮬레이션 결과를 함께 HTML 형식으로 출력하여, 웹에 Gantt 차트 형태 로 가시화한다.

각 atomic 모델은 각각 상세한 표현이 가능하 다. Fig. 3은 설계관리자 모델인 ‘Design Manager Process’를 atomic 모델로 표현한 것이다. 본 논문 에서는 대표적으로, ‘Design Manager Process’에 대해서 자세히 살펴보기로 한다. 설계관리자는 출 도된 구조도를 분석하여, 몇 개의 블록으로 구성 이 되어 있는지를 파악하여, 각각의 난이도를 3장 에서 설명한 블록 표준 설계 시수에 의해 평가한 다. 또한, 가용한 설계자의 가용시수를 계산하여 시뮬레이션 시나리오 가운데 하나로 입력되는 할 당전략에 따라 작업 할당을 수행하는 역할을 한 다. 할당전략으로는 FIFO(First-In First Out), LIFO (Last-In First Out), Random, 할당 가능한 대안중 가장 난이도가 높은 블록을 우선 할당하는 최대소 요시수 우선할당, 그 반대인 최소소요시수 우선할 당, 투입된 현재 상태에서 모든 할당의 경우를 계 산하여 그 가운데 총 소요시수가 최소가 되는 경 우를 찾는 Brute-force 방법에 의한 최적할당 등을 상세 모델링하였다.

‘Design Manager Process’ atomic 모델은 상태 변수로 ‘READY’, ‘CONST_ANALYSIS’, ‘JOB_

ASSIGNMENT’를 가진다. 시뮬레이션 시작과 동 시에 atomic 모델에 속한 모든 변수들과, 클래스 는 초기화되고, ‘READY’ 상태가 된다. ‘Simulation Coordinator’ 모델로부터, ‘Assignment Method’를 입력받아, 이를 ‘Design Manager Process’ atomic 모델의 동작원리로 설정한다. 또한, 외부로부터 XML 파일인 설계자의 이름과 가용시수를 포함하 고 있는 시나리오가 입력된다. 이러한 정보를 읽 어들여, 사전에 정의된 클래스에 인스턴스화하여, 저장하는 것도 시뮬레이션 시작과 함께 이루어진 다. ‘READY’ 상태에서, ‘Design Manager Process’

atomic 모델은 외부메시지가 들어올 때까지 어떠 한 동작도 없이 대기한다. 외부로부터, 구조도 이 름과 그에 포함된 블록 정보를 포함하는 사용자

정의 클래스형 ‘Const-BlockInfo’ 메시지가 들어오 면, 이 정보를 ‘Design Manager Process’ atomic 모 델의 내부 변수에 저장하고, 외부전이함수에 의해 상태변수를 ‘CONST_ANALYSIS’로 변경한다.

‘CONST_ANALYSIS’에서는 입력된 정보를 블록 단위로 블록넘버와 표준 설계 시수값을 포함하는 Map 자료형으로 분할 생성하고, 이를 ‘unassigned’

라는 List로 관리한다. 또한, ‘Monitoring Data’를 생성한다. 이러한 데이터가 모두 생성이 되면, 시 간 진행 함수에 의해, ‘timeForAnalysis’만큼 시간 을 진행시킨 후에 ‘JOB_ASSIGNMENT’ 상태로 전이된다. ‘timeForAnalysis’는 외부로부터 입력된 블록의 개수에 따라, 가변적인 변수값이다. 시간 은 구조도 분석에 걸리는 최소한의 시간인 0.5일 과 각 블록별 난이도 분석을 위한 0.2일로 구성되 어 있다. ‘JOB_ASSIGNMENT’ 상태에서는 가용 한 설계자가 있고, 미할당된 블록이 존재하는 동 안, 계속해서 ‘Assignment’ 기능을 수행하게 된 다. 할당이 끝나면, 즉, 가용한 설계자가 없거나, 미할당된 블록이 없는 경우에는 ‘READY’ 상태로 전환된다. 이 때는, 시간 진행 함수에 의해 0에 가 까운 미소시간(delta time)만큼만 진행된다. 즉, 구 조도 분석과 작업할당을 위한 의사결정은 모두 이 루어진 것으로 가정하고, ‘JOB_ASSIGNMENT’

상태에서는 BPM 시스템을 통한 할당 결과 통보 를 하는 것으로 모델링하였기 때문에, 설계자 atomic 모델을 할당된 블록 정보와 함께 인스턴스화하는 기능을 ‘Assignment’로 설계하였고, 이때의 시간 진행은 모두 동시에 이루어지는 것으로 가정하였 기 때문에, 미소시간 진행을 선택하였다. 또한,

‘JOB_ASSIGNMENT’ 상태에서는 외부로 할당된 결과를 출력하게 된다. 이때는 출력함수에 의해, 설계자 이름과 그 설계자가 담당할 블록 정보를 함께 출력한다. 또한, 설계관리자의 할당업무 진 행에 대한 구체적인 정보는 ‘MonitoringData’로 외 부로 출력된다.

5. 이산사건기반 비즈니스 프로세스 시뮬레이션의 구성과 구현

5.1 XML 기반 시나리오 생성기

다른 시뮬레이션과 같이 BPS도 모델을 한번 개 발하게 되면, 다양한 시나리오를 이용하여 ‘what- if’ 시뮬레이션을 수행하게 된다. 이럴 때는 시뮬

(6)

레이션 모델과는 독립적으로, 시나리오를 변경할 수 있는 기능이 있으면, 시뮬레이션 사용자 입장 에서는 유용하다. 본 논문에서는 선체 생산설계 프 로세스 시뮬레이션에서 중요한 입력값이면서, 시 나리오와 연동되어 자주 바뀌는 항목을 생산설계 자, 블록, 그리고 일반적인 시뮬레이션 설정으로 구분하였다.

XML 기반 시나리오 생성기는 시뮬레이션에 참 여할 생산설계자 정보, 대상 블록의 정보, 시뮬레 이션 설정을 입력 받아, 결과를 XML 파일로 각각 생성해주는 기능을 한다. 시뮬레이션에 참여할 블 록은 구조도 단위로 관리된다. 한 구조도에 소속된 블록의 이름과 그 표준설계 시수를 사용자가 직접 간단한 스크립트 구문을 이용하여 동적으로 유연 하게 입력할 수 있다. 이와 함께, 각 구조도의 출도 일을 시뮬레이션 시작일을 기준으로 작성한다. 이 러한 사용자가 입력한 구조도와 그 소속 블록의 정 보는 Groovy에서 제공하는 ‘Xml.MarkupBuilder’

를 통해 ‘blkInfo.xml’ 파일로 생성된다.

시나리오에 참여하는 설계자의 정보는 이름과 가용시수만 각각 List 형식으로 넣어주면 된다. 이 정보는 위와 마찬가지 방법으로, ‘designEngineer.

xml’ 파일로 생성된다.

끝으로, 시뮬레이션은 반복 수행이 중요하다. 특 히, 분기 조건이 다양하거나, random number를 사 용할 때는 꼭 필요한 개념이다. 따라서, 시뮬레이 션 설정 정보로는 시뮬레이션 반복 횟수, 시뮬레 이션 목적(총 소요시수 최소화, 시뮬레이션 종료 시간 최단화), 결과 가시화의 정렬 방식(이름의 가 나다 순, 이름의 가나다 역순, 이벤트 시간 순), 그 리고 시뮬레이션 모델의 내부 동작원리인 작업 할 당전략이다. 사용자가 각 항목에 원하는 값을 설 정하면, ‘simSetting.xml’ 파일로 생성된다.

시뮬레이션 사용자는 XML 기반 시나리오 생성 기를 열어서, 스크립트 언어로 작성된 부분에서 원 하는 항목만을 수정 또는 추가하는 방법으로 시나 리오를 구현할 수 있고, 이를 실행시키면, 앞서 설 명한 시나리오 설정 파일들이 생성되어, 변경된 시 나리오로 시뮬레이션을 수행할 준비가 된다.

5.2 웹기반 시뮬레이션 결과 가시화

BPS 특징으로, 정해진 프로젝트 기간 동안, 어 떠한 설계자가 어떠한 블록을 언제 시작해서 끝냈 는지를 한 눈에 볼 수 있는 가시화 기술이 필요하

다. 이를 위해서, Gantt 차트를 가시화 도구로 채 택하였고, 향후 웹기반으로 사용되는 BPM 시스템 과의 연계를 위해, 웹기반 가시화 방법을 사용하였 다. 본 논문에서는 S. Gantz and B. Twidt이 개발한 Java 기반의 공개용 Gantt 차트 가시화 형식인 jsGantt 1.2 사용하였다. 시뮬레이션 결과는 BPS 종료 후, Groovy의 ‘Xml.StreamingMarkupBuilder’를 이용하 여, HTML 파일로 생성한다. 웹 기반 Gantt 차트 생성을 위해 사전에 정의한 스타일 형식에 따라, 시뮬레이션 결과가 웹에 가시화된다.

5.3 BPS 구현

시뮬레이션 엔진은 Java기반 공개용 이산사건 엔진 및 라이브러리인 Simkit 1.4

[15]

를 이용하였 다. Simkit은 Event graph 모델링에 특화되어 개발 되었으며, DEVS의 coupled 모델의 개념과 같이, 여러 단위 모델을 조합할 수 있는 기능을 ‘source/

listener’ 기능을 제공한다. DEVS의 atomic 모델 또한 Event graph 모델링으로 표현 가능하다

[16]

.

시뮬레이션 모델의 상세한 동작원리는 Java Virtual Machine에서 동작하는 dynamic language 인 Groovy

[17]

로 구현하였다. Groovy는 본격 프로 그래밍 언어에 비하여, 사람의 자연어에 더욱 가 까운 특징이 있어 사용하고 이해하기 편리하고, Java의 모든 객체를 사용할 수 있으며, 자료형을 지정하지 않고 동적으로 변수를 정의하고 사용할 수 있는 유연한 구조가 특징이다. 또한, 스크립트 언어인 Groovy로 BPS를 구현하였기 때문에, 다른 언어로 개발된 프로그램에서 본 시뮬레이션을 실 시간으로 호출하여 사용할 수 있는 스크립트 임베

[18]

이 가능하다. 이를 통해, BPM 시스템에서 설 계관리자가 설계자를 할당할 때, 주어진 입력값을 이용하여 실시간으로 시뮬레이션을 수행하고, 최 적의 할당 방법과 그 때의 일정계획을 얻을 수 있 는 의사지원도구를 개발하는 응용연구가 가능하 였다

[19]

.

6. 생산설계 일정 계획 시뮬레이션 결과

총 3개의 구조도가 일정 시간 간격을 두고, 연속 적으로 출도될 때, 4명의 설계자에게 작업을 할당 하여, 생산설계의 일정계획을 시뮬레이션하는 시 나리오를 가정한다. 각 구조도는 4개의 블록들을

(7)

포함하고 있다. Fig. 4에 보이는 것처럼, 선체 상세 설계 부서에서, ‘S02-Main Deck Construction’,

‘S02-Stern Construction’, ‘S02-Bow Construction’

을 출도한다. 출도 순서는 위의 표기 순이며, 각각 의 도면은 시간 간격을 각각 0일, 30일, 30일의 간 격으로 출도된다고 가정한다. 즉, ‘S02-Main Deck Construction’은 시뮬레이션이 시작되자마자, 출도 가 되고, ‘S02-Stern Construction’은 시뮬레이션 시 간으로 30일 뒤에 출도가 된다. 구체적으로, ‘S02- Main Deck Construction’은 ‘B#2501’(블록 표준 설계시수: 32.4 M/D (Man-Days: 1 M/D = 8 Man- hours)), ‘B#3501’ (27.5 M/D), ‘B#2502’ (24.0 M/

D), ‘B#3502’ (18.5 M/D)의 4개의 블록으로 구성 되어 있다. ‘S02-Stern Construction’은 ‘B#2701’

(블록 표준 설계시수: 16.5 M/D), ‘B#3701’ (22.0 M/D), ‘B#2702’ (13.7 M/D), ‘B#3702’ (18.0 M/

D)의 4개의 블록으로 구성되어 있다. 마지막으로,

‘S02-Bow Construction’은 ‘B#1301’ (8.5 M/D),

‘B#1302’ (12.0 M/D), ‘B#1303’ (12.7 M/D),

‘B#1304’ (8.9 M/D)의 4개의 블록으로 구성되어 있다. 즉, 가용한 설계 자원은 4명인데 반해, 설계 가 완료되어야 할 블록은 총, 12개의 블록이며, 각 각의 난이도와 일의 양은 블록 표준 설계시수의 개념으로 살펴 보면, 8.5 M/D ~ 32.4 M/D까지 다 양하다.

관리자의 작업할당 방법을 FIFO 방법과, 모든 할당의 경우에 대해서 총 소요시수의 합이 최소가 되는 할당 결과를 찾아내는 BFO(Brute-Force Optimum)를 사용하여, 그 결과를 비교하기로 한 다. Fig. 5는 FIFO로 할당하였을 경우의 결과이 다. 구조도 구성 블록 오른쪽에는 담당자가 표시 되어 있고, 시뮬레이션 결과는 시뮬레이션 종료 시 간과 총 소요시수를 측정하였다. 아래쪽은 시뮬레 이션 결과를 Gantt 차트(시간순, 설계자순)로 정리 하여 보여주고 있다. FIFO의 경우, 총 소요 시수 는 190.5 M/Ds이고, 72.7 day(simulation time)에 시뮬레이션이 종료되었다. 시뮬레이션 종료시간은 모든 설계 작업이 종료되는 시간을 의미한다. 가 Fig. 4 Multiple-assignment scenario of ship hull production design process

(8)

시화 결과인 Gantt 차트는 일, 주, 월, 분기 단위로 나타낼 수 있고, 본 논문에서는 주 단위로 결과를 정리하였다.

3장의 프로세스 모델의 업무와 업무간의 전이가

4장의 상세 이산사건 시뮬레이션 모델링에 의해 각각 상태와 이벤트로 변환되었고, 그 결과 시뮬 레이션 진행에 따른 각 이벤트만을 모니터링하 여, Fig. 5와 같이 Gantt 차트로 결과를 손쉽게 생

Fig. 5 Multiple job assignment simulation result - FIFO

Fig. 6 Multiple job assignment simulation result - BFO

(9)

성할 수 있다. 또한, 본 시뮬레이션의 시나리오와 같이 긴 시뮬레이션 시간을 이산시간 시스템으로 시뮬레이션을 할 경우, 설정한 시간진행 값에 영 향을 받기는 하지만, 1회 시뮬레이션에 오랜 시간 이 소요된다

[5]

. 참고로, 본 시뮬레이션을 Monte- Carlo기반으로 할당전략을 바꿔가며 1,000회 수행 하는데도 약 3초 정도밖에 소요되지 않는다. 이러 한 점이, 비즈니스 프로세스 시뮬레이션을 이산사 건 시뮬레이션으로 접근하는 또 다른 장점이다.

Fig. 6은 BFO로 할당하였을 경우의 결과이다.

최적화 목적이, 할당에 따른 총 소요시수의 합의 최소화이기 때문에, 그 결과가 179.1 M/Ds로 FIFO 보다 11.4 M/Ds를 단축한 것을 볼 수 있다.

즉, 시뮬레이션 모델의 수정없이, XML 기반 시 나리오 생성기에서, 앞에서 정의한 구조도 정보와 소속 블록 정보를 정의하고, 참여하는 4명의 설 계자 정보를 정의한다. 다만, 시뮬레이션 설정을 정의하는 simSetting 항목에서, 관리자의 할당방 법을 ‘FIFO’, ‘BRUTE_FORCE’를 각각 선택하여,

‘simSetting.xml’파일을 생성하고 이를 이용하여, 각각 시뮬레이션을 수행하면, Fig. 5와 Fig. 6과 같 은 시뮬레이션 결과를 실시간으로 얻을 수 있다.

이를 이용하여, 관리자는 주어진 구조도 정보에 서, 참여할 사용자를 다양하게 변화시켜가면서, 또 는 할당방법을 다양하게 바꾸어가면서, 각 상황별 생산설계 일정계획을 예측할 수 있다. 또한, BFO 방법을 통해, 특정 목적을 달성하기 위한 최적할 당방법을 제시하는 역방향 시뮬레이션도 가능하 다. 이를 기반으로, 관리자는 최적 작업할당을 수 행할 수 있고, 정확한 도면 출도 계획(drawing program) 작성이 가능하다.

7. 결론 및 향후 연구 계획

본 논문에서는 프로세스형 업무인 조선 선체 생 산설계의 특성을 반영하여, 이산사건기반 비즈니 스 프로세스 시뮬레이션을 활용하여, 생산설계 일 정계획을 시뮬레이션하였다. 이를 위해, 조선 선 체 생산설계 프로세스를 업무 할당 관점에서 분석 하고, 이를 이산사건 상세표현 방법인 DEVS를 이 용하여, 모델링을 표현하였다. 이를 공개용 이산 사건 시뮬레이션 엔진인 Simkit 1.4. API를 기반으 로, Groovy로 시뮬레이션을 구현하였다. 구현한 시뮬레이션 모델의 변동없이, 구조도와 소속 블록

정보, 참여 설계자 정보, 그리고 할당방법을 비롯 한 시뮬레이션 설정을 정의할 수 있는 시나리오 생성기를 구현하고, 생성되는 XML 파일을 시뮬 레이션 입력값으로 사용하여, 시뮬레이션 결과를 얻을 수 있다.

본 시뮬레이션을 활용하면, 관리자는 다양한 상 황에서, 할당방법과 사용자를 변경해가며, 그에 따 른 도면 출도 일정을 실시간으로 얻을 수 있다. 또 한, 본 시뮬레이션을 통해, 총 소요시수 최소, 시 뮬레이션 시간 최단화를 목적으로 하는 최적할당 결과도 얻을 수도 있어, 최적 작업할당을 위한 관 리자 의사결정지원도구로서의 활용도 가능하다.

향후 연구로는, 현업에서 사용할 수 있도록 블 록의 난이도를 표현하는 블록 표준설계 시수 평가 법을 고도화하고, 작업자 가용시수 평가법도 정교 화하는 연구가 필요하다. 즉, 정확한 입력이 있어 야 의미 있는 결과가 도출되기 때문이다. 조선소 의 일정은 생산일정이 가장 중요하기 때문에, 이 를 고려하여, 중일정 계획을 반영하는 설계작업할 당 알고리즘도 추후 연구할 계획이다.

감사의 글

본 논문은 제 1저자 손명조의 박사학위 논문의 일부를 발췌, 보완한 것이며, 도약연구과제, “조선 PLM의 BOM(Bills Of Material) 커널 개발에 관한 연구”의 지원으로 이루어진 연구 결과의 일부임을 밝히며, 이에 감사 드립니다.

References

1. Aalst, W.M.P., Nakatumba, J., Rozinat, A. and Russell, N., 2010, Business Process Simulation, Handbook on Business Process Management 1, Springer Berlin Heidelberg, pp.313-338.

2. Lin, H., Fan, Y. and Loiacono, E.T., 2004, A Practical Scheduling Method Based on Workflow Management Technology, The International Journal of Advanced Manufacturing Technology, 24(11), pp.919-924.

3. Rozinat, A., Wynn, M.T., Aalst, W.M.P., Hof- stede, A.H.M. and Fidge, C.J., 2009, Workflow Simulation for Operational Decision Support, Data & Knowledge Engineering, 68(9), pp.834- 850.

4. Son, M.J. and Kim, T.W., 2012, BPM-based Job Assignment in the Ship Hull Production

(10)

Design, Proceedings of the Society of CAD/CAM Engineers Conference, pp.49-56.

5. Son, M.J. and Kim, T.W., 2012, Maneuvering Control Simulation of Underwater Vehicle based on Combined Discrete-event and Discrete-time Modeling, Expert Systems with Applications, 39(17), pp.12992-13008.

6. Banks, J., Carson, J.S., Nelson, B.L. and Nicol, D.M., 2009, Discrete-Event System Simulation, 5th ed, Prentice Hall, Englewood Cliffs, NJ.

7. Stewart, W.J., 2009, Probability, Markov Chains, Queues, and Simulation: The Mathematical Basis of Performance Modeling, Princeton University Press.

8. Han, K.H., Kang, J.G. and Song, M., 2009, Two-stage Process Analysis Using the Process- based Performance Measurement Framework and Business Process Simulation, Expert Systems with Applications, 36(3), pp.7080-7086.

9. Gregoriades, A. and Sutcliffe, A., 2008, A Socio- technical Approach to Business Process Simu- lation, Decision Support Systems, 45(4), pp.1017- 1030.

10. Barjis, J., 2008, The Importance of Business Process Modeling in Software Systems Design, Science of Computer Programming, 71(1), pp.73- 87.

11. Wynn, M.T., Dumas, M., Fidge, C.J., Hofstede, A.H.M. and Aalst, W.M.P., 2008, Business Pro- cess Simulation for Operational Decision Sup- port, Business Process Management Workshops, Springer Berlin Heidelberg, pp.66-77.

12. Zeigler, B.P., Praehofer, H. and Kim, T.G., 2000, Theory of Modeling and Simulation, 2nd ed, Academic Press.

13. Praehofer, H., 1991, System Theoretic Founda- tions for Combined Discrete-Continuous System Simulation, Ph.D. Thesis, Johannes Kepler Uni- versity, Linz, Austria.

14. Son, M.J. and Kim, T.W., 2012, Torpedo Evasion Simulation of Underwater Vehicle Using Fuzzy- logic-based Tactical Decision Making in Script Tactics Manager, Expert Systems with Applica- tions, 39(9), pp.7995-8012.

15. Buss, A.H., 2002, Component based Simulation Modeling with Simkit, Proceedings of the Winter Simulation Conference, pp.243-249.

16. Lee, D., 2010, Development of Mediator-based Direct Wokrflow Simulation System and HLA/

RTI-based Collaborative BPMS Middleware, Ph.D. Thesis, KAIST, South Korea.

17. Koenig, D., Glover, A., King, P. and Laforge, G., 2007, Groovy in Action, Manning Publica- tions.

18. Son, M.J., Cho, D.Y., Kim, T.W., Lee, K.Y. and Nah, Y.I., 2010, Modeling and Simulation of Target Motion Analysis for a Submarine Using a Script-based Tactics Manager, Advances in Engineering Software, 41(3), pp.506-516.

19. Son, M.J., 2013, Decision Support System for Job Assignment in Shipbuilding Design Using Discrete-event-based Business Process Simula- tion, Ph.D. Thesis, Seoul National University, Seoul, South Korea.

손 명 조

2004년 서울대학교 조선해양공학과 학사

2004년~2005년 한진중공업 특수선 선체설계팀 설계원

2013년 서울대학교 조선해양공학과 박사

2013년~현재 서울대학교 해양시스 템공학연구소 선임연구원 관심분야: 조선CAD/CAM, PLM,

M&S, 인공지능기반 decision making, BPM, 조선 선체 생산 설계

김 태 완

1996년 미국 Arizona State Uni- versity, Computer Science 박사 1996년~1999년 미국 SIEMENS

PLM Software, Inc. (formerly SDRC) 소프트웨어 엔지니어 1999년~2001년 서울대학교 정밀기

계설계공동연구소 박사후연구원 2001년~2003년 세종대학교 디지털

콘텐츠학과 조교수

2003년~2005년 서울대학교 조선해 양공학과 조교수

2005년~2010년 서울대학교 조선해 양공학과 부교수

2010년~현재 서울대학교 조선해양 공학과 교수

관심분야: CAD, PLM, M&S

수치

Fig. 2 DEVS overall coupled model representation of ship hull production design process
Fig. 5 Multiple job assignment simulation result - FIFO

참조

관련 문서

- The system simulation operate to achieve improved design or to explore prospective modifications. - Choosing the combinations of dependent

It is thought to minimize the possible errors in the floating architecture design work by providing the materials to build information centered design

2009 Fall, Computer Aided Ship Design – Part1 Optimal Ship Design.. @ SDAL Advanced Ship

Hull Form Modeling 2009 Fall, Computer Aided Ship Design – Part2..

2009 Fall, Computer Aided Ship Design – Part1 Optimal Ship Design.. @ SDAL Advanced Ship

Appendix C. Solution of Systems of equation by optimization method.. 2009 Fall, Computer Aided Ship Design – Part1 Optimal Ship Design.. @ SDAL Advanced Ship

2009 Fall, Computer Aided Ship Design – Part1 Optimal Ship Design.. @ SDAL Advanced Ship

“Simplifying Simulation Modeling through Integration with 3D CAD.” Journal of Construction Engineering and Management, Volume 126, Issue 6, pp.