16
Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice and Theory journal homepage: www.elsevier.com/locate/simpat Colored ACD and its application Hyeonsik Kim , Byoung-Kyu Choi Department of Industrial and Systems Engineering, KAIST, 291 Daehak-ro, Yuseong-gu, Daejeon 34141, Republic of Korea a r t i c l e i n f o Article history: Received 25 August 2015 Revised 27 December 2015 Accepted 24 February 2016 Keywords: Colored activity cycle diagram (C-ACD) Model tractability Online simulation Initialization of simulation model Hierarchical modeling Electronics Fab a b s t r a c t The classical ACD invented by KD Tocher about 60 years ago was recently enhanced to the extended ACD by allowing each edge to have a guard and multiplicity, and then to the pa- rameterized ACD (P-ACD) by adding parameters and variables. This paper presents a colored ACD (C-ACD) formalism which extends the P-ACD formalism by (1) introducing colors to increase model tractability and (2) adding hierarchical modeling features to reduce model complexity. As a result, C-ACD models are easier to construct and validate and is suitable for online simulation. In order to quantify the tractability of ACD models, two kinds of measures are introduced: model tractability index (MTI) and initialization tractability index (ITI). Also presented is a systematic method of initializing C-ACD models required for on- line simulation. It is shown that the C-ACD formalism provides more tractable models in terms of both MTI and ITI. The applicability of the C-ACD formalism is demonstrated via an illustrative simulation example for a hypothetical electronics Fab. © 2016 Elsevier B.V. All rights reserved. 1. Introduction There are three types of modeling formalisms for discrete-event simulation [1]: activity-based formalisms such as ac- tivity cycle diagrams (ACD) and Petri nets; event-based formalisms such as parameterized event graphs [2]; and state-based formalisms such as timed automata [3]. Among the modeling formalisms for simulation, the classical ACD is the oldest one, and it is a modeling formalism that was invented for simulating complex manufacturing systems [4]. Also, it is compatible with process-oriented simulation languages adopted in most commercial simulators [1]. The classical ACD invented by KD Tocher was recently enhanced to the extended ACD by allowing each edge to have a guard and multiplicity, and then to the parameterized ACD (P-ACD) by adding parameters and variables [5,6]. The P-ACD formalism is suitable for modeling and simulation of complex manufacturing systems [7,8] and service systems [9]. This paper presents a colored ACD (C-ACD) formalism which extends the P-ACD formalism by (1) introducing colors (activity, queue, and edge colors) to increase model tractability and (2) adding hierarchical modeling features to reduce model complexity. Also presented is a systematic method of initializing C-ACD models required for online simulation. As a result, C-ACD models are easier to construct and validate and is suitable for online simulation. In order to quantify the tractability of ACD models, two kinds of measures are introduced: model tractability index (MTI) and initialization tractability index (ITI). Compared with non-colored ACD models it was shown that the C-ACD formalism provides more tractable models in terms of both MTI and ITI. A simulation that starts with the current state of a real system at any point in time is often referred to as an online simulation (In this paper, the traditional simulation that starts from an ‘empty’ system is called an offline simulation.). Online Corresponding author. E-mail addresses: [email protected] (H. Kim), [email protected] (B.-K. Choi). http://dx.doi.org/10.1016/j.simpat.2016.02.009 S1569-190X(15)30014-9/© 2016 Elsevier B.V. All rights reserved.

Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

Embed Size (px)

Citation preview

Page 1: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

Simulation Modelling Practice and Theory 63 (2016) 133–148

Contents lists available at ScienceDirect

Simulation Modelling Practice and Theory

journal homepage: www.elsevier.com/locate/simpat

Colored ACD and its application

Hyeonsik Kim , Byoung-Kyu Choi ∗

Department of Industrial and Systems Engineering, KAIST, 291 Daehak-ro, Yuseong-gu, Daejeon 34141, Republic of Korea

a r t i c l e i n f o

Article history:

Received 25 August 2015

Revised 27 December 2015

Accepted 24 February 2016

Keywords:

Colored activity cycle diagram (C-ACD)

Model tractability

Online simulation

Initialization of simulation model

Hierarchical modeling

Electronics Fab

a b s t r a c t

The classical ACD invented by KD Tocher about 60 years ago was recently enhanced to the

extended ACD by allowing each edge to have a guard and multiplicity, and then to the pa-

rameterized ACD (P-ACD) by adding parameters and variables. This paper presents a colored

ACD (C-ACD) formalism which extends the P-ACD formalism by (1) introducing colors to

increase model tractability and (2) adding hierarchical modeling features to reduce model

complexity . As a result, C-ACD models are easier to construct and validate and is suitable

for online simulation. In order to quantify the tractability of ACD models, two kinds of

measures are introduced: model tractability index (MTI) and initialization tractability index

(ITI) . Also presented is a systematic method of initializing C-ACD models required for on-

line simulation. It is shown that the C-ACD formalism provides more tractable models in

terms of both MTI and ITI. The applicability of the C-ACD formalism is demonstrated via

an illustrative simulation example for a hypothetical electronics Fab.

© 2016 Elsevier B.V. All rights reserved.

1. Introduction

There are three types of modeling formalisms for discrete-event simulation [1] : activity-based formalisms such as ac-

tivity cycle diagrams (ACD) and Petri nets ; event-based formalisms such as parameterized event graphs [2] ; and state-based

formalisms such as timed automata [3] . Among the modeling formalisms for simulation, the classical ACD is the oldest one,

and it is a modeling formalism that was invented for simulating complex manufacturing systems [4] . Also, it is compatible

with process-oriented simulation languages adopted in most commercial simulators [1] . The classical ACD invented by KD

Tocher was recently enhanced to the extended ACD by allowing each edge to have a guard and multiplicity , and then to the

parameterized ACD (P-ACD) by adding parameters and variables [5,6] . The P-ACD formalism is suitable for modeling and

simulation of complex manufacturing systems [7,8] and service systems [9] .

This paper presents a colored ACD (C-ACD) formalism which extends the P-ACD formalism by (1) introducing colors

(activity, queue, and edge colors) to increase model tractability and (2) adding hierarchical modeling features to reduce model

complexity . Also presented is a systematic method of initializing C-ACD models required for online simulation. As a result,

C-ACD models are easier to construct and validate and is suitable for online simulation. In order to quantify the tractability

of ACD models, two kinds of measures are introduced: model tractability index (MTI) and initialization tractability index (ITI) .

Compared with non-colored ACD models it was shown that the C-ACD formalism provides more tractable models in terms

of both MTI and ITI.

A simulation that starts with the current state of a real system at any point in time is often referred to as an online

simulation (In this paper, the traditional simulation that starts from an ‘empty’ system is called an offline simulation. ). Online

∗ Corresponding author.

E-mail addresses: [email protected] (H. Kim), [email protected] (B.-K. Choi).

http://dx.doi.org/10.1016/j.simpat.2016.02.009

S1569-190X(15)30014-9/© 2016 Elsevier B.V. All rights reserved.

Page 2: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

134 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 1. Single server system: (a) Reference model. (b) Classical ACD.

simulation was used in an operation management system , which is also referred to as a manufacturing execution system , for

die and mold manufacturing in the 1990s [10] . More recently, online simulation is gaining popularity in simulation-based

operation management of electronics fabrication lines [11,12] . Online simulation is also used in other application areas such

as road networks traffic simulation [13] , wildfire spread simulation [14] , and resource failure management in production

lines [15] . Initialization issues in online simulation were investigated recently [16,17] , but to the best of our knowledge,

this paper is the first one to provide a systematic solution to the initialization problem in discrete-event simulation. The

possibility of using the CMSD standard in online simulation was investigated in [16] , and [17] dealt with initialization issues

in tracking simulation where the communication between the real plant and the continuous simulation system can be used

for initialization purposes.

The rest of the paper is organized as follows. Section 2 presents a brief review of classical, extended and parameterized

ACD formalisms. Formal definitions, executions, tractability, systematic initialization, and hierarchical modeling of the col-

ored ACD are presented in Section 3 . Section 4 presents an illustrative example of constructing and executing a colored ACD

model of an electronics Fab. Conclusions and discussions are given in the final section.

2. Brief review of ACD formalisms

This section gives a brief review of ACD formalisms: classical, extended, and parameterized ACD formalisms. The classical

ACD invented by Tocher in 1957 [4] is a bipartite directed graph consisting of a set of activities (rectangular nodes), queues

(circular nodes), and edges (directed arcs). It can be algebraically specified as follows:

A classical ACD is a six tuple N C = 〈 A , Q , E , τ, μ, μ0 〉 (1)

• A = {a 1 , a 2 , …, a n } is a finite, non-empty set of activity nodes.

• Q = {q 1 , q 2 , …, q m

} is a finite, non-empty set of queue nodes.

• E = {e 1 , e 2 , …, e e } is a finite, non-empty set of edges, e i ∈ (A ×Q) ∪ (Q ×A).

• τ: A → R 0 + is a time delay function associated with activities.

• μ= { μq ∈ N 0 + | ∀ q ∈ Q} is the number of tokens associated with queues.

• μ0 : Q → N 0 + is the initial value of μ (initial marking).

Fig. 1 shows a reference model and a classical ACD model of the ‘famous’ single server system [1] . A single server system

physically consists of a machine (M) and a buffer (B), but in order to make the system a closed one, the job-arrival process

is regarded as an active resource named Job Creator (C) and the outside world as a passive resource (Jobs) containing an

unlimited number of jobs. From Specification ( 1 ), the classical ACD model in Fig. 1 (b) may be algebraically specified as

follows:

Algebraic definition of the classical ACD in Fig. 1 (b)

• A = {a 1 = Create, a 2 = Process}

• Q = {q 1 = Jobs, q 2 = C, q 3 = B, q 4 = M}

• E = {e 1 = (q 1 , a 1 ), e 2 = (q 2 , a 1 ), e 3 = (a 1 , q 2 ), e 4 = (a 1 , q 3 ), e 5 = (q 3 , a 2 ), e 6 = (q 4 , a 2 ), e 7 = (a 2 , q 4 ), e 8 = (a 2 , q 1 )}

• τ (a 1 ) = t a , τ (a 2 ) = t p • μ = { μq1 , μq2 , μq3 , μq4 }

• μ0 (q 1 ) = ∞ , μ0 (q 2 ) = 1, μ0 (q 3 ) = 0, μ0 (q 4 ) = 1

2.1. Extended ACD

The classical ACD was formally extended in 2011 by allowing each edge to have a guard and multiplicity [5] . An ACD

with a guard is equivalent to a Petri net with zero testing , which increases the power (or generality ) of the modeling tool

drastically so that it can model any system [18] . The extended ACD can be algebraically specified as follows:

An extended ACD is a tuple N E = 〈 A , Q , E , τ, μ, μ0 , M , G 〉 (2)

Page 3: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 135

Fig. 2. Two-server system: (a) Reference model. (b) Extended ACD.

• A is a finite, non-empty set of activity nodes.

• Q is a finite, non-empty set of queue nodes.

• E is a finite, non-empty set of edges.

• τ is a time delay function associated with activities.

• μ is the number of tokens associated with queues.

• μ0 is the initial value of μ (initial marking).

• M = {m e : E → N 0 + | ∀ e ∈ E} is a multiplicity that maps each edge into non-negative integer.

• G = {g e : μ → {0, 1} | ∀ e ∈ E} is a guard that maps each edge into Boolean expression.

Fig. 2 shows a reference model and an extended ACD model of a two-server system. The two-server system has two

machines – Machine-A (MA) and Machine-B (MB) – and a common buffer (B). Operational requirements of the system are

(1) ‘Machine-A has a higher priority’ meaning that jobs are loaded on Machine-B only when Machine-A is busy and (2) jobs

are processed in a batch of three. From Specification ( 2 ), the extended ACD model in Fig. 2 (b) may be specified as follows:

Algebraic definition of the extended ACD in Fig. 2 (b)

• A = {a 1 = Create, a 2 = Process-A, a 3 = Process-B}

• Q = {q 1 = Jobs, q 2 = C, q 3 = B, q 4 = MA, q 5 = MB}

• E = {e 1 = (q 1 , a 1 ), e 2 = (q 2 , a 1 ), e 3 = (a 1 , q 2 ), e 4 = (a 1 , q 3 ), e 5 = (q 3 , a 2 ), e 6 = (q 3 , a 3 ), e 7 = (q 4 , a 2 ), e 8 = (q 5 , a 3 ), e 9= (a 2 , q 4 ), e 10 = (a 3 , q 5 ), e 11 = (a 2 , q 1 ), e 12 = (a 3 , q 1 )}

• τ (a 1 ) = t a , τ (a 2 ) = t 1 , τ (a 3 ) = t 2 • μ = { μq1 , μq2 , μq3 , μq4 , μq5 }

• μ0 (q 1 ) = ∞ , μ0 (q 2 ) = 1, μ0 (q 3 ) = 0, μ0 (q 4 ) = 1, μ0 (q 5 ) = 1

• M = {m e5 = m e6 = 3, m e = 1 ∀ e ∈ E except e 5 and e 6 }

• G = {g e6 = ( μq4 ≡0), g e = (1 ≡1) ∀ e ∈ E except e 6 } // μq4 ≡ MA

2.2. Parameterized ACD

The extended ACD specified in ( 2 ) was extended to a parameterized ACD in 2013 by adding parameters and variables [6] .

More specifically, added to the extended ACD are (1) a set of parameters (P N ) associated with nodes, (2) a set of parameter

values (P E ) associated with edges, (3) a set of variables (V), and (4) a set of variable-update actions (U) associated with

activities. Thus, the parameterized ACD is algebraically specified as follows:

A parameterized ACD is a tuple N P = 〈 A , Q , E , V , P N , τ, U , P E , μ, μ0 , M , G 〉 (3)

• A is a finite, non-empty set of activity nodes.

• Q is a finite, non-empty set of queue nodes.

• E is a finite, non-empty set of edges.

• V = {v 1 , v 2 , …} is a set of variables.

• P N = {pn n | n ∈ A ∪ Q} is a set of parameters, if any, associated with nodes.

• τ: A ×P N ×V → R 0 + is a time delay function mapped into non-negative real number.

• U = {u a : V ×P N ×τ → V ×P N ×τ | a ∈ A} is a set of update actions associated with activities.

• P E = {pe e | e ∈ E} is a set of parameter values, if any, associated with edges.

• μ = { μq,pnq ∈ N 0 + | ∀ q ∈ Q} is the number of tokens associated with queues and parameters.

• μ0 is the initial value of μ.

• M is a multiplicity that maps each edge into non-negative integer.

• G = {g e : μ∪ P E → {0, 1} | ∀ e ∈ E} is a guard that maps each edge into Boolean expression.

In general, parameterization does not increase the power of the modeling tool, but it allows building a formal model for

a class of systems such that individual instance models are represented in a data-driven way [6] . A reference model of a

Page 4: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

136 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 3. Reference model of a simple job shop instance.

Fig. 4. Parameterized ACD model of the simple job shop class.

simple job shop instance is presented in Fig. 3: There are two job types to be processed in the job shop according to the

Route data with the Processing-time data and Move-time data. Fig. 4 shows a parameterized ACD model of the simple job-

shop class , where j denotes job-type , p is processing-step , and s is station-number . From Specification ( 3 ), the parameterized

ACD model in Fig. 4 may be specified as follows:

Algebraic definition of the parameterized ACD model in Fig. 4

• A = {a 1 = Create, a 2 = Move, a 3 = Process}

• Q = {q 1 = Jobs, q 2 = C, q 3 = B, q 4 = Q, q 5 = M}

• E = {e 1 = (q 1 , a 1 ), e 2 = (q 2 , a 1 ), e 3 = (a 1 , q 2 ), e 4 = (a 1 , q 3 ), e 5 = (q 3 , a 2 ), e 6 = (a 2 , q 1 ), e 7 = (a 2 , q 4 ), e 8 = (q 4 , a 3 ), e 9= (q 5 , a 3 ), e 10 = (a 3 , q 5 ), e 11 = (a 3 , q 3 )}

• V = {v 1 = jt, v 2 = ns}

• P N = {pn q3 = pn a2 = pn q4 = pn a3 = {j, p, s}, pn q5 = {s}}

• τ (a 1 ) = t a , τ (a 2 , {s}, {ns}) = t m

[s, ns], τ (a 3 , {j, p}) = t p [j, p]

• U = {u a1 = {jt = AssignJT();}, u a2 = {ns = route[j, p];}}

• P E = {pe e4 = {jt, 1, 0}, pe e5 = pe e8 = {j, p, s}, pe e7 = {j, p, ns}, pe e9 = pe e10 = {s}, pe e11 = {j, p+1, s}}

• μ = { μq1 , μq2 , μq3, {j, p, s} , μq4, {j, p, s} , μq5, {s} }

• μ0 (q 1 ) = ∞ , μ0 (q 2 ) = 1, μ0 (q 3 , {j, p, s}) = μ0 (q 4 , {j, p, s}) = 0 ∀ j, p, s, μ0 (q 5 , {s}) = 1 ∀ s

• M = {m e = 1 ∀ e ∈ E}

• G = {g e6 = (ns ≡ –1), g e7 = (ns � = –1), g e = (1 ≡ 1) ∀ e ∈ E except e 6 and e 7 }

3. Colored ACD

The framework of the colored ACD and its name ‘colored’ are borrowed from colored Petri nets (CPN). The CPN concept

started with ‘colored tokens’ and the current CPNs extend the classical Petri net formalism with general data types, guards,

and hierarchy [19] . Similarly, the colored ACD (C-ACD) extends the parameterized ACD formalism with activity colors, queue

colors, edge colors, and hierarchy. The C-ACD formalism does not increase its modeling power, but it can increase model

tractability and reduce model complexity .

3.1. Activity colors, queue colors and edge colors

Fig. 5 shows 10 activity colors identified in the current C-ACD formalism. In the figure, P N denotes a list of parameters

associated with activities and V is a list of variables to be updated. There are five non-move type activity colors and five

move type activity colors. The five non-move type activity colors are:

a. Create activity: creating an entity or a batch of entities with an inter-arrival time of ta.

Page 5: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 137

Fig. 5. Activity colors in the colored ACD.

Fig. 6. Queue colors in the colored ACD.

Fig. 7. Edge colors and edge-selection priority in colored ACD.

b. White activity: a default activity without a color (solid-line rectangle).

c. Process activity: an activity performed by an active resource (intaglio rectangle).

d. Delay activity: a time delay experienced by the entity itself (dashed-line rectangle).

e. Instant activity: an activity representing an event (no time delay).

The move-type activity nodes are used mainly in modeling material handling systems. The five move type activity colors

are:

f. Transport activity: an entity (i.e. job or customer) is moved by a vehicle along a path segment.

g. Convey activity: an entity is moved along a conveyor segment.

h. Move-n-process activity: an operation is performed on an entity while it is moved.

i. Move activity: an entity moves by itself.

j. Split activity: a split point in the transportation network.

Shown in Fig. 6 are queue colors identified in the current C-ACD formalism. In the figure, P N denotes a list of parameters

associated with queues and n T is the number of tokens in a queue. The six queue colors are:

a. Entity queue: a queue for entities (i.e., customers or jobs) to stay.

b. Capacity queue: a queue denoting the remaining room for entities in a passive resource.

c. Resource queue: a queue denoting the number of available (or free) machines or servers.

d. Instance queue: a dummy queue where no entities stay.

e. Sink queue: a special case of entity queue used for disposing entities.

f. Signal queue: a global queue for handling request signals and other communications.

Shown in Fig. 7 are edge colors and edge-selection priority number used in the current C-ACD formalism. A lower value of

priority number has a higher priority. The four edge colors are:

a. Entity-flow edge: an edge denoting the flow of entity tokens.

b. Resource-flow edge: an edge denoting the flow of resource tokens.

c. Capacity-flow edge: an edge denoting the flow of capacity tokens (or Kanbans).

d. Signal-flow edge: an edge denoting the flow of (request) signal tokens.

The predefined color sets (10 activity colors, 6 queue colors, and 4 edge colors) are identified based on a large range

of modeling studies performed by the authors. However, the current color sets may not be complete, and they should be

extended or modified if necessary. That is, users may also define their own colors.

Page 6: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

138 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 8. Colored ACD model corresponding to the parameterized ACD model in Fig. 4.

3.2. Algebraic specification of colored ACD

A C-ACD is an extension to the parameterized ACD specified in ( 3 ). From Figs. 5 to 7 , the activity color set �A , the queue

color set �Q , and the edge color set �E are expressed as follows:

�A = {Create, White, Process, Delay, Instant, Transport, Convey, Move-n-process, Move, Split, …}

�Q = {Entity, Capacity, Resource, Instance, Sink, Signal, …}

�E = {Entity, Resource, Capacity, Signal, …}

Thus, the C-ACD may be algebraically specified as follows:

A colored ACD N C =

⟨ A , Q , E , V ,

A , ∑

Q , ∑

E , P N , C A , U , τ , C Q , P E , μ, μ0 , C E , M , G , S

⟩ (4)

A is a finite, non-empty set of activity nodes.

• Q is a finite, non-empty set of queue nodes.

• E is a finite, non-empty set of edges.

• V is a finite set of variables.

• �A = {Create, White, …, Split, …} is a finite, non-empty set of activity colors ( Fig. 5 ).

• �Q = {Entity, Capacity, …, Signal, …} is a finite, non-empty set of queue colors ( Fig. 6 ).

• �E = {Entity, Resource, Capacity, Signal, …} is a finite, non-empty set of edge colors ( Fig. 7 ).

• P N is a finite set of parameter variables, if any, associated with nodes.

• C A : A → �A is an activity color function that maps each activity into activity color.

• U is an update action, if any, associated with activities.

• τ is a time delay function mapped into non-negative real number.

• C Q : Q → �Q is a queue color function that maps each queue into queue color.

• P E is a finite set of parameter values, if any, associated with edges.

• μ is the number of tokens associated with queues and parameter variables.

• μ0 is the initial value of μ.

• C E : E → �E is an edge color function that maps each edge into edge color.

• M is a multiplicity that maps each edge into non-negative integer.

• G is a guard that maps each edge into Boolean expression.

• S = {s e : E → N 1 + | ∀ e ∈ E} is a selection priority that maps each edge into a positive integer.

Fig. 8 shows a C-ACD model corresponding to the parameterized ACD (P-ACD) model in Fig. 4 . One may find that the

C-ACD model is more tractable (than the P-ACD model) because it shows more clearly that jobs are (1) created at the Create

node, (2) moved to the buffer Q right away by the Move node, and (3) processed at the Process node by the active resource

M. Also, the C-ACD model is simpler because (1) the number of non-instance queues is reduced from 5 to 2 and (2) the

number of edges is reduced from 11 to 7. From Specification ( 4 ), the C-ACD model of Fig. 8 may be specified as follows:

Algebraic definition of the colored ACD model in Fig. 8

• A = {a 1 = Create, a 2 = Move, a 3 = Process}

• Q = {q 1 = IQ, q 2 = Q, q 3 = M}

• E = {e 1 = (a 1 , q 1 ), e 2 = (q 1 , a 2 ), e 3 = (a 2 , q 2 ), e 4 = (q 2 , a 3 ), e 5 = (q 3 , a 3 ), e 6 = (a 3 , q 3 ), e 7 = (a 3 , q 1 )}

• V = {v 1 = jt, v 2 = ns}

• �A = {ac 1 = Create, ac 2 = Move, ac 3 = Process}

• �Q = {qc 1 = Instance, qc 2 = Entity, qc 3 = Resource}

• �E = {ec 1 = Entity, ec 2 = Resource}

• P N = {pn q1 = pn a2 = pn q2 = pn a3 = {j, p, s}, pn q3 = {s}}

• C A (a 1 ) = ac 1 , C A (a 2 ) = ac 2 , C A (a 3 ) = ac 3 • U = {u a1 = {jt = AssignJT();}, u a2 = {ns = route[j, p];}}

• τ (a 1 ) = t a , τ (a 2 , {s}, {ns}) = t m

[s, ns], τ (a 3 , {j, p}) = t p [j, p]

Page 7: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 139

Fig. 9. Colored ACD model of a car repair shop.

Table 1

Activity transition table for the C-ACD model in Fig. 9.

No Activity At-begin BTO-event At-end

Condition Action Time Name Arc Condition Action Influenced activities

1 Create TRUE t a Create-end 1 TRUE Q1++; Inspect, Create

2 Inspect Q1 > 0 Q1–; T–; t 1 Inspect-end 1 TRUE Q2++; Repair

&& T > 0 2 TRUE T++; Inspect, Repair

3 Repair Q2 > 0 && T > 0 Q2–; T–; t 2 Repair-end 1 TRUE R = R+2; Repair

&&R ≥ 2 R = R-2; 2 TRUE T++; Inspect, Repair

Initialize {T = 3, R = 6, Q1 = Q2 = 0}

• C Q (q 1 ) = qc 1 , C Q (q 2 ) = qc 2 , C Q (q 3 ) = qc 3 • P E = {pe e1 = {jt, 1, 0}, pe e2 = pe e4 = {j, p, s}, pe e3 = {j, p, ns}, pe e5 = pe e6 = {s}, pe e7 = {j, p+1, s}}

• μ = { μq1, {j, p, s} , μq2, {j, p, s} , μq3, {s} }

• μ0 (q 1 , {j, p, s}) = μ0 (q 2 , {j, p, s}) = 0 ∀ j, p, s, μ0 (q 3 , {s}) = 1 ∀ s

• C E (e 1 ) = C E (e 2 ) = C E (e 3 ) = C E (e 4 ) = C E (e 7 ) = ec 1 , C E (e 5 ) = C E (e 6 ) = ec 2 • M = {m e = 1 ∀ e ∈ E}

• G = {g e3 = (ns � = -1), g e = (1 ≡1) ∀ e ∈ E except e 3 }

• S = {s e = 1 ∀ e ∈ E}

3.3. Execution of colored ACD models

The execution of a C-ACD model is the same as that of a parameterized ACD model. The algebraic specification of a C-ACD

model is tedious to construct, and no algorithms are available for executing the algebraic model. A more useful tool for

formally describing a C-ACD model is a tabular specification called an activity transition table which allows a well-defined

algorithm for executing the ACD model [1] .

Shown in Fig. 9 is a C-ACD model of a car repair shop having three technicians and six repairmen. A technician covers

both the Inspect activity and the Repair activity with a higher priority on the Inspect activity. A Repair activity is performed

by one technician and two repairmen.

Table 1 shows an activity transition table (ATT) for the C-ACD model in Fig. 9 . The fact that “the priority of the Inspect

activity is higher than that of the Repair activity” is reflected in the ATT by locating ‘Inspect’ in front of ‘Repair’ in the

‘Influenced Activities’ column. The edge multiplicity of 2 in the C-ACD model is reflected as the At-begin Action (R = R – 2)

and At-end Action (R = R + 2) of the Repair activity in the ATT. Once an ATT is properly constructed, it can be executed

easily by employing the well-known activity scanning algorithm . Details of ATT and activity scanning algorithm are given in

[1] . In this particular example, the simulation execution starts from an empty system in which all the active resources are

idle and all the passive resources are empty.

3.4. Tractability of colored ACD model

C-ACD is designed to render a tractable model of a discrete-event system. A tractable simulation model is easier to

construct and validate and is more suitable for on-line simulation. How to define and measure the tractability of an ACD

model will be explained using a simple example. Fig. 10 shows a reference model of a 3-stage serial line consisting of three

processing resources ( Station-1 ∼ Station-3 ), two materials handling resources ( Conveyor-2 and Conveyor-3 ), and two storage

resources ( I-Buffer and O-Buffer ). There are 91 raw jobs in I-Buffer ; one processed job is waiting in Station-1 ; two jobs are

being moved and three jobs are waiting on Conveyor-2 ; one job is being processed at Station-2 (with a remaining processing

time of 35); two jobs are being moved on Conveyor-3; Station-3 is idle; and O-Buffer is empty. Associated with each active

(i.e., processing or handling) resource is an activity (of processing or handling type), and associated with each activity are a

pair of events (at-begin and at-end events). Two or more events that are tied to occur at the same time become a coupled

event . Resources, activities and events identified in a reference model are called modeling components [1] .

Page 8: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

140 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 10. Reference model of a 3-stage serial line.

Fig. 11. Colored ACD model of the 3-stage serial line given in Fig. 10.

Table 2

Mapping relationships between the modeling components and C-ACD nodes.

Modeling Components (Reference model) C-ACD Nodes

Types ( 6 ) Name Colors ( 6 ) Name

Resource Processing-type Station-1, Station-2, Station-3 Resource Queue S1, S2, S3

Handling-type Conveyor-1, Conveyor-2 Capacity Queue B2, B3

Storage-type I-Buffer, O-Buffer Entity Queue IB, OB

Activity Processing-type Process1, Process2, Process3 Process Activity P1 & P1Q,

(& Entity Queue) P2 & P2Q,

P3

Convey-type Convey2, Convey3 Convey Activity C2 & C2Q,

(& Entity Queue) C3 & C3Q

Event Coupled Event Unload1-Enter2, Leave2-Load2, Instant Activity 1, 2,

Unload2-Enter3, Leave3-Load3 3, 4

Fig. 11 shows a C-ACD model of the 3-stage serial line depicted in Fig. 10 . There are eight types of nodes in the C-ACD

model: five types of queue nodes (resource, entity, capacity, sink, and instance) and three types of activity nodes (process,

convey, and instant). The mapping relationships between the reference model components in Fig. 10 and the C-ACD nodes in

Fig. 11 are summarized in Table 2 . Also represented in the C-ACD model are colored edges for respective colored queues:

Entity-flow edges for entity queues, resource-flow edges for resource queues, and capacity-flow edges for capacity queues.

Table 2 shows that the number of modeling component types is equal to that of node colors and there exist one-to-one

correspondences between the modeling components of the reference model and the nodes of the C-ACD. Thus, one may

define a measure of model tractability, called model tractability index (MTI) , as follows:

MTI = ( number of ACD − node colors ) / ( number of modeling − component types ) (5)

The MTI value for the C-ACD model in Fig. 11 is computed as: MTI = 6/6 = 1. Fig. 12 shows an uncolored ACD model of

the same reference model in Fig. 10 . There are only two node colors ( White Queue and White Activity ). Thus, the MTI value

of the uncolored ACD model in Fig. 12 is computed as 1/3 (MTI = 2/6 = 1/3).

In online simulation, the simulation execution starts with the current state of the target ‘real-life’ system. That is, we

have to initialize the ACD model from the current status data in the reference model. Initializing an ACD model involves

(1) setting the token value of each queue node in the ACD model and (2) scheduling the BTO (bound-to-occur) event of each

‘busy’ activity node in the model. As will be seen shortly, some nodes in the ACD model are not ‘initializable’ meaning that

they need not (or cannot) be initialized. Thus, one may define a measure of tractability of the initialization process, called

Page 9: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 141

Fig. 12. Uncolored ACD model of the 3-stage serial line given in Fig. 10.

initialization tractability index (ITI) , as follows:

ITI = ( number of initializable nodes in ACD ) / ( number of non − instant nodes ) (6)

As will be shown shortly, all the 16 non-instant nodes (5 non-instant activities and 11 non-instance queues) in the C-ACD

model of Fig. 11 are initializable. Thus, its ITI value is 1. Similarly, the ITI value for the uncolored ACD model ( Fig. 12 ) having

24 nodes is computed as 2/3 (ITI = 16/24 = 2/3).

3.5. Systematic initialization of colored ACD model

Referring back to Fig. 10 , each station in the serial line is specified by its processing time (t p ), current state (CS), and

remaining processing time (RPT); each conveyor is specified by its capacity (c), convey time (t c ), number of moving jobs

(NMJ), and number of waiting jobs (NWJ). Thus, the configuration of the serial line is specified by the following master

data :

• t p [k] = processing time at Station-k for k = 1–3.

• c[k] = conveyor capacity of Conveyor-k (c[k] = 5 for k = 2, 3).

• t c [k] = convey time of Conveyor- k .

And, the current state of the serial line is completely specified by the following status variables in the reference model

(Their current values are given in the parentheses).

• CS[k] = current state of Station-k (CS[1] = Blocked; CS[2] = Busy; CS[3] = Idle)

• RPT[k] = remaining processing time at Station-k (RPT[1] = ∞ ; RPT[2] = 35; RPT[3] = ∞ )

• n-IB = 91 (I-Buffer has 91 jobs)

• n-OB = 0 (O-Buffer is empty)

• NMJ[k] = number of moving jobs on Conveyor-k (NMJ[2] = 2; NMJ[3] = 2)

• NWJ[k] = number of waiting jobs on Conveyor-k (NWJ[2] = 3, NWJ[3] = 0)

The C-ACD model in Fig. 11 has five non-instant activity nodes – P1, P2, P3, C2, C3 – and eleven non-instance queue nodes

– IB, OB, S1, S2, S3, P1Q, P2Q, C2Q, C3Q, B2, B3 – that need to be initialized. Using the master data and status variables, the

queue nodes are initialized as follows:

IB = n-IB; OB = n-OB; // initialization of source and sink queues

S1 = (CS[1] ≡ Idle); S2 = (CS[2] ≡ Idle); S3 = (CS[3] ≡ Idle); // initialization of resource queues

P1Q = (CS[1] ≡ Blocked); P2Q = (CS[2] ≡ Blocked); // initialization of blocked entity queues

C2Q = NWJ[2]; C3Q = NWJ[3]; // initialization of waiting entity queues

B2 = c[2] – (NMJ[2] + NWJ[2]); B2 = c[2] – (NMJ[2] + NWJ[2]); // initialization of capacity queues

For a ‘high fidelity’ online simulation, all the non-instant activities in the C-ACD model have to be initialized as well. For

the C-ACD model in Fig. 11 , a BTO event (Pk-end) for a processing activity (Pk) is scheduled to occur after the remaining

processing-time RPT[k]:

If (CS[1] ≡ Busy) {Schedule-event (P1-end, RPT[1]);} // Details on ‘Schedule-event()’ may be found in [1] .

If (CS[2] ≡ Busy) {Schedule-event (P2-end, RPT[2]);}

If (CS[3] ≡ Busy) {Schedule-event (P3-end, RPT[3]);}

A BTO event (Ck-end) for a convey activity (Ck) denotes the arrival of a job at the end of a conveyor segment. Thus, the

BTO events for the convey activities (C2, C3) may be scheduled as follows:

If (NMJ[2] > 0) {d = t c [2] / (NMJ[2] +1); For j = 1 ∼NMJ[2] {Schedule-event (C2-end, j ∗d);}}

If (NMJ[3] > 0) {d = t c [3] / (NMJ[3] +1); For j = 1 ∼NMJ[3] {Schedule-event (C3-end, j ∗d);}}

Page 10: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

142 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 13. C-ACD model and a macro-node for a conveyor segment.

Fig. 14. Colored ACD model of a ‘complex’ system consisting of a serial line and a job shop.

3.6. Model complexity reduction via hierarchical modeling

In general, a complex system may not be concisely described with an algebraically defined modeling formalism alone.

Introduction of hierarchical modeling features allows the modeler to structure a large model into a number of interacting

and reusable modules so that the resulting hierarchical model of a large system becomes much more tractable. Hierarchical

modeling features are extensively employed in Petri-net modeling [19] and finite state machine modeling [20] as well as in

ad hoc applications [21] . Popular methods of hierarchical modeling include encapsulation and decomposition.

Hierarchical modeling via encapsulation involves introducing macro nodes. For example, a conveyor segment with a ca-

pacity of c and convey-time of t can be modeled as the C-ACD shown in Fig. 13 (a). The portion of a C-ACD model consisting

of a convey activity, a capacity queue, an instance queue, and an entity queue is represented by a macro node depicted in

Fig. 13 (b).

Hierarchical modeling via decomposition involves (1) decomposing the system into a number of subsystems and (2) com-

bining the individual subsystems into a hierarchical model representing the entire system. Let us consider a manufacturing

system consisting of a conveyor-driven serial line ( Fig. 10 ) and a simple job shop ( Fig. 3 ). Each job is first processed in the

serial line and then, at the end of the line, it is released into the job shop. The type of each job is assigned at the release

point.

Fig. 14 shows a hierarchical C-ACD model of the ‘complex’ system consisting of the serial line C-ACD model of Fig. 11

(with the macro node defined in Fig. 13 ) and the job shop C-ACD model of Fig. 8 . The two C-ACD models are connected via

an instant activity Join. In the job shop C-ACD model, the create activity Create is replaced by a delay activity Release.

4. Colored ACD modeling of electronics Fabs

An electronics Fab has a number of inline cells, such as photo-lithography cells and etching cells, connected by a network

of AMHSs (automated material handling systems). Both LCD Fabs and semiconductor Fabs have similar types of processing

equipment, but their AMHSs are somewhat different: conveyor networks are mostly utilized in LCD Fabs, while OHT (over-

head hoist transport) networks are employed in semiconductor Fabs. Inline cells are commonly classified into bi-inline cells

and uni-inline cells [1] .

Page 11: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 143

Fig. 15. Reference model of a uni-inline cell showing current status data.

Fig. 16. Reference model of a bi-inline cell showing current status data.

Table 3

Current status data items in the uni-inline cell and bi-inline cell.

Current Status Data Items Uni-inlin Cell ( Fig. 15 ) Bi-inline Cell ( Fig. 16 )

L 1 List of cassettes in Q {(j = 2, p = 8), (j = 2, p = 4)} {(j = 2, p = 19)}

L 2 List of cassettes at P or PI ∅ {(j = 1, p = 15)}

L 3 List of moving cassettes in the inline (F) {(j = 1, p = 4)} {(j = 2, p = 15), (j = 1, p = 11)}

L 4 List of waiting cassettes in F {(j = 1, p = 8)} ∅ C 1 Cassettes being loaded ∅ ∅ C 2 Cassettes being tracked-in (j = 1, p = 8) (j = 1, p = 11)

C 3 Cassettes being tracked-out ∅ (j = 2, p = 11)

r 1 Remaining loading time ∞ ∞

r 2 Remaining track-in time 90 75

r 3 Remaining track-out time ∞ 80

4.1. Reference models of inline cells and current status data

Reference models of uni-inline cells and of bi-inline cells are given in Figs. 15 and 16 , respectively: in a uni-inline cell,

work-pieces are loaded and unloaded at the same port (called the in/out-port ) of the cell; in a bi-inline cell, work-pieces are

loaded at a loading port (called the in-port ) and are unloaded at a separate unloading port (called the out-port ). In electronics

Fabs, work-pieces are contained in cassettes that are moved around either by a network of overhead hoist transporters

(semiconductor Fabs) or by a network of conveyers and stacker cranes (LCD Fabs). In the case of a uni-inline cell in an

LCD Fab, a cassette full of work-pieces (glasses) is loaded onto the port ( P ) from the queue ( Q ). Individual glasses that are

tracked-in by the robot (R ) flow through the in-line facility ( F ) to arrive at the end of the inline where they wait for being

tracked-out.

Table 3 summarizes the current status data items described in Figs. 15 and 16 . There are three types of status data: L (a

list of cassettes in an area), C (a cassette in operation), r (remaining time of an operation). A cassette is identified by the job

type (j) and processing step (p) of the glasses contained in it.

4.2. Colored ACD modeling of inline cells

Figs. 17 and 18 show C-ACD models for the reference models in Figs. 15 and 16 , respectively. The C-ACD models are

slightly simplified versions of the parameterized ACD models presented in a previous paper by the authors [7] . The following

master data items are employed in the C-ACD models:

• t 0 : Time required for loading a cassette from the Queue to a Port or In-Port

• t : Time required for tracking-in a cassette of glasses

1
Page 12: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

144 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 17. Colored ACD model of the uni-inline cell in Fig. 15.

Fig. 18. Colored ACD model of the bi-inline cell in Fig. 16 .

Table 4

Mapping relationships between modeling components and C-ACD nodes of a uni-inline cell.

Modeling Components (Reference model) C-ACD Nodes

Types (7) Name Colors (7) Name

Resource Processing-type Robot Resource Queue R

Handling-type In-line Facility Capacity Queue BF

Storage-type Queue, Port Entity Queue Q, P & BP

(& Capacity Queue)

Activity Delay-type Load Delay Activity Load

Processing-type Track-in, Track-out Process Activity TrackIn, TrackOut

Convey-type Flow Convey Activity Flow & F

(& Entity Queue)

Event Coupled Event Start Track-in–Start Flow Instant Activity A1

• t 2 : Time taken for each glass to flow through the in-line facility (flow time)

• t 3 : Time required for tracking-out a cassette of glasses

• c 0 : Capacity of the Port of a uni-inline cell or the In-Port of a bi-inline cell

• c 1 : Capacity of the in-line facility

4.3. Tractability of the colored ACD model

Table 4 shows the mapping relationships of uni-inline cell between the reference model components ( Fig. 15 ) and the C-

ACD nodes ( Fig. 17 ). Table 4 shows that all 7 modeling components correspond to all 7 node colors with one-to-one relation.

The MTI (model tractability index) value for the C-ACD model in Fig. 17 is computed as: MTI = 7/7 = 1. The MTI value for

the C-ACD model of bi-inline cell in Fig. 18 is also 1 because there is no difference in the modeling component types and

C-ACD node colors between uni-inline cell and bi-inline cell. The MTI value for uncolored model with white activities and

white queues (not shown here) is 2/7.

Page 13: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 145

All the non-instant nodes in the C-ACD model in Figs. 17 and 18 are initializable. Thus, ITI (initialization tractability index)

values are computed as follows: ITI for uni-inline cell model in Fig. 17 = 10/10 = 1 and ITI for bi-inline cell model in Fig.

18 = 11/11 = 1. The ITI values for uncolored ACD models are computed as: ITI for uncolored uni-inline cell model = 10/13;

ITI for uncolored bi-inline cell model = 11/14.

4.4. Initialization of the colored ACD model

Referring back to Table 3 , all the non-instance queues in the C-ACD models shown in Figs. 17 and 18 can be systematically

initialized. First, the resource queues (R, RI, and RO) are initialized as follows:

If (|C 2 | ≡ 0 && |C 3 | ≡ 0) {R = 1;} else {R = 0;} // uni-inline Robot

If (|C 2 | ≡ 0) {RI = 1;} else {RI = 0;} // bi-inline Track-in Robot If (|C 3 | ≡ 0) {RO = 1;} else {RO = 0;} // bi-inline Track-out Robot

The buffer capacity queues in both C-ACD models are initialized as follows:

BP = c 0 – (|C 1 | + |L 2 | + |C 2 | + |L 3 | + |L 4 | + |C 3 |); // available space in the uni-inline port (P) BPI = c 0 – (|C 1 | + |L 2 | + |C 2 |); // available space in the bi-inline in-port (PI)

BF = c 1 – (|C 2 | + |L 3 | + |L 4 | + |C 3 |); // available space of the in-line facility (F)

Finally, the entity queues (Q, P, and F) in both models are initialized as follows:

For k = 1 ∼|L 1 | {(L 1 [k].j, L 1 [k].p) → Q;} // enqueue the record L 1 [k] into Q

For k = 1 ∼|L 2 | {(L 2 [k].j, L 2 [k].p) → P;} // enqueue the record L 2 [k] into P

For k = 1 ∼|L 4 | {(L 4 [k].j, L 4 [k].p) → F;} // enqueue the record L 4 [k] into F

As mentioned earlier in Section 3.5 , all the non-instant activities in the C-ACD models have to be initialized as well. That

is, their BTO events have to be by scheduled during the initialization phase. The BTO events to be scheduled are:

• Load-end(j,p): BTO event of the Load(j,p) activity

• TI-end(j,p): BTO event of the TrackIn(j,p) activity

• TO-end(j,p): BTO event of the TrackOut(j,p) activity

• Flow-end(j,p): BTO event of the Flow(j,p) activity

From the current status data in Table 3 , the BTO events can be scheduled as follows:

If (|C 1 | > 0) {Schedule-Event (Load-end (C 1 .j, C 1 .p), t 0 /2);} // expected remaining time = t 0 /2

If (|C 2 | > 0) {Schedule-Event (TI-end (C 2 .j, C 2 .p), r 2 );}

If (|C 3 | > 0) {Schedule-Event (TO-end (C 3 .j, C 3 .p), r 3 );}

If (|C 2 | > 0) {C 2 → L 3 ;} // append C 2 at the end of L 3 If (|L 3 | > 0) {d = t 2 / (|L 3 | + 1); For k = 1 ∼|L 3 | {Schedule-Event (Flow-end (L 3 [k].j, L 3 [k].p), k ∗d);}}

4.5. Colored ACD modeling of the entire Fab

Fig. 19 shows a C-ACD model of an electronics Fab with two types of inline cells connected by an AMHS. The uni-

inline cell model of Fig. 17 is parameterized with parameter ‘u’ and the bi-inline cell model of Fig. 18 is parameterized with

parameter ‘b’. The AMHS is represented by the parameterized delay activity Move (j,p,c,c n ) with a move-time delay of t m

[c,c n ],

where

• j : job type

• p : processing step

• c : current cell number

• c n : next cell number

In the AMHS part of the C-ACD model, arriving cassettes are generated by the create activity Generate with an inter-

generation time of t G , and the next cell number c n is obtained from the route function Route(j,p). After each move activity

Move, the job is sent to either a uni-inline cell or a bi-inline cell depending on its type. If the cassette has completed all

the processing steps (i.e., c n ≡ Done), it leaves the system by the Sink queue. Methods of initializing the BTO event of the

move activity Move(j,p,c,c n ) may be found in [7] .

4.6. Illustrative implementation

Online simulation experiments were made with the colored ACD model given in Fig. 19 for a hypothetical LCD Fab de-

picted in Fig. 20 . Tables 5–8 show the Route data, Machine master data, Moving time data , and Layout master data , respectively,

for the hypothetical Fab. The value of the route function Route(j,p) is obtained from the Route data in Table 5 (a minimum

Page 14: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

146 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

Fig. 19. Colored ACD model of an electronics Fab consisting of uni-inline cells and bi-inline cells.

Fig. 20. Layout of a hypothetical LCD Fab.

Table 5

Route data.

Processing steps 1,5 2,6 3,7 4,8 9,13,17 ∗ 10,14,18 ∗ 11,15,19 ∗ 12,16,20 ∗

Loadable cells 1,3 2,4 5,6 7,8 9,11 10,12 13,14 15,16

∗ Type-2 cassettes only at steps 17 through 20.

Table 6

Machine master data.

Inline cell (c) Type t 0 [c] t 1 [c] t 2 [c] t 3 [c] c 0 [c] c 1 [c]

1,3 U 5 60 120 60 2 2

2,4,9,10 U 5 90 180 90 2 2

5,6,13,14 B 5 150 800 150 3 5

7,8,15,16 U 5 120 360 120 2 3

11,12 U 5 120 240 120 2 2

Page 15: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148 147

Table 7

Moving time data.

t m [s,d] Stocker-1 (d = 1) Stocker-2 (d = 2) Stocker-3 (d = 3) Stocker-4 (d = 4) Stocker-5 (d = 5) Stocker-6 (d = 6)

Stocker-1 (s = 1) 10 40 X X X X

Stocker-2 (s = 2) X 10 X X X X

Stocker-3 (s = 3) X X 10 35 X X

Stocker-4 (s = 4) X X X 10 35 X

Stocker-5 (s = 5) X X X X 10 X

Stocker-6 (s = 6) X X X 35 X 10

Table 8

Layout master data.

Inline Stocker 1 2 3 4 5 6

Out-port (source) 1,2,3,4 ∅ 5,6,7,8 9,10,11,12 ∅ 13,14,15,16

In-port (destination) 1,2,3,4 5,6 7,8 9,10,11,12 13,14 15,16

Fig. 21. Average TAT of a batch of cassettes of type-1 job.

queue-length rule is applied when selecting a loadable machine), and the values of the processing time arrays t i [c] are ob-

tained from the Machine master data in Table 6 . The value of the moving time function t m

(c,c n ) is obtained from the Moving

time data in Table 7 and the Layout master data in Table 8 . For example, the moving time from (Out-port of) cell-4 to (In-

port of) cell-5 is 40, because Out-port of cell-4 is in Stocker-1 and In-port of cell-5 is in Stocker-2 (See Table 8 ) and the

moving time from Stocker-1 to Stocker-2 is 40 (See Table 7 ).

The simulation results are presented in Fig. 21 . In the simulation experiments, a batch of 9 cassettes of type-1 job and 4

cassettes of type-2 job are released every hour. A dot in the graphs of Fig. 21 denotes the average TAT (turn-around-time)

of a batch of type-1 job cassettes where the x-value of the dot is the release time of the batch. Sojourn time (a term used

in queueing theory) is often referred to as TAT in industry. There are three plots in Fig. 21:

1. The graph with ‘diamond’ dots is for the offline simulation that was started with an ‘ Empty ’ system.

2. The graph with ‘square’ dots is for an online simulation that was started at time 2 h and initialized with the ‘current’

state ‘ After 2 hours ’ of the offline simulation run.

3. The graph with ‘triangle’ dots is for an online simulation that was started at time 4 h and initialized with the ‘current’

state ‘ After 4 hours ’ of the offline simulation run.

One may observe from the plots in Fig. 21 that the proposed online simulation scheme is quite effective. Simulation

results for the type-2 job cassettes have a similar pattern. (Not shown here, but the dedicated simulator implemented in

C# is posted at http://www.vms-technology.com/ (Publication menu.) There are two obvious reasons for the differences

among the three simulation plots. First, the electronics Fab is a complex job shop in which each job type has a different

route. Second, for each processing step, there are several loadable machines from which one is selected based on a dynamic

dispatching rule (i.e., a minimum queue-length rule).

5. Conclusions and discussions

This paper presented a colored ACD (C-ACD) which extends the parameterized ACD formalism with colors and hierarchy.

Predefined in the current C-ACD formalism are ten activity colors, six queue colors, and four edge colors (The current color

Page 16: Simulation Modelling Practice - vms-technology.com · Simulation Modelling Practice and Theory 63 (2016) 133–148 Contents lists available at ScienceDirect Simulation Modelling Practice

148 H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148

sets may be extended or modified if necessary). The C-ACD formalism increases model tractability by the use of colors and

reduces model complexity via hierarchical modeling. As a result, C-ACD is easier to construct and validate and it allows a

systematic initialization procedure needed for online simulation.

In order to quantify the tractability of ACD models, two kinds of measures were introduced: model tractability index (MTI)

and initialization tractability index (ITI) . Compared with non-colored ACD models it was shown that the C-ACD formalism

provides more tractable models in terms of both MTI and ITI. Also presented was a systematic method of initializing C-ACD

models required for online simulation. The applicability of the C-ACD formalism was demonstrated via an illustrative online

simulation of a hypothetical electronics Fab. For this purpose, a dedicated simulator was implemented in C#.

C-ACD may be regarded as an ‘ultimate’ extension of the classical ACD the same way the colored Petri net formalism is

an ultimate extension of the classical Petri net formalism. Moreover, as mentioned above the C-ACD formalism may allow

systematic initialization of complex simulation model for online simulation. However, this may be just a beginning of online

simulation R&D effort s toward the ‘smart’ operation management in real-life manufacturing systems and service systems.

Also, it will make a promising research topic to apply the proposed initialization framework to other types of modeling

formalisms such as event graphs and timed automata.

A widely accepted definition of model validation [22] is “the substantiation that a model within its domain of applicability

possesses a satisfactory range of accuracy consistent with the intended application of the model”. This paper brought about

a more focused view of simulation model validation where the concepts of model tractability and reference model played a

key role. It is a very important issue in real-life simulation studies, and deserves further research effort s.

Acknowledgment

The research was supported by the NRF of Korea grant funded by the Korean Government (NRF-2013R1A1A2062607) to

which the authors are grateful.

References

[1] B.K. Choi , D. Kang , Modeling and Simulation of Discrete-Event Systems, John Wiley & Sons, 2013 .

[2] E.L. Savage , L.W. Schruben , E. Yücesan , On the Generality of event-graph models, INFORMS J. Comput. 17 (1) (2005) 3–9 . [3] C.G. Cassandras , S. Lafortune , Introduction to Discrete Event Systems, 2nd edition, Springer, 2010 .

[4] B.W. Hollocks , Intelligence, innovation and integrity – KD Tocher and the dawn of simulation, J. Simul. 2 (2008) 128–137 . [5] D. Kang , B.K. Choi , The extended activity cycle diagram and its generality, Simul. Model. Pract. Theory 19 (2011) 785–800 .

[6] B.K. Choi , D. Kang , T. Lee , A .A . Jamjoom , M.F. Abulkhair , Parameterized ACD and its application, ACM Trans. Model. Comput. Simul. 23 (4) (2013) 1–1824 .

[7] H. Kim , B.K. Choi , H. Shin , ACD Modeling of Homogeneous Job Shops having Inline Cells, Advances in Production Management Systems: Innovative

Production Management Towards Sustainable Growth, Springer International Publishing, 2015, pp. 340–347 . [8] B.K. Choi , H. Kim , D. Kang , A .A . Jamjoom , M.A . Abdullah , Parameterized ACD modeling of flexible manufacturing systems, IEEE Trans. Autom. Sci. Eng.

11 (2) (2014) 637–642 . [9] B.K. Choi , H. Kim , D. Kang , Parameterized modeling of outpatient departments in university hospitals, in: Proceedings of the European Simulation and

Modelling Conference, 2014, pp. 273–277 . [10] B.K. Choi , D.H. Kim , H. Hwang , Gantt chart based MES for die and mold manufacturing, in: Proceedings of IFIP WG 5.7 Conference on Managing

Concurrent Manufacturing, 1995, pp. 105–114 .

[11] B.C. Park , E.S. Park , B.K. Choi , B.H. Kim , J.H. Lee , Simulation based Planning and Scheduling System for TFT-LCD Fab, in: Proceedings of the 2008 WinterSimulation Conference, IEEE, Miami, 2008, pp. 1262–1267 .

[12] B.K. Choi , B.H. Kim , Simulation-based ‘Smart’ operation management system for semiconductor manufacturing, APMS 2015, Part II, IFIP AICT 460, 2015,pp. 82–89 .

[13] J. Wahle , L. Neubert , J. Esser , M. Schreckenberg , A cellular automaton traffic flow model for online simulation of traffic, Parallel Comput. 27 (5) (2011)719–735 .

[14] X. Hu , Dynamic data driven simulation, SCS M&S Mag. n1 (2011) 16–22 .

[15] S. Bohlmann , M. Becker , S. Balci , H. Szczerbicka , E. Hund , Online simulation based decision support system for resource failure management inmulti-site production environments, in: IEEE Emerg. Technol. Factory Autom., 2013, pp. 1–4 .

[16] S. Bergmann , S. Stelzer , S. Straßburger , Initialization of simulation models using CMSD, in: Proceedings of the 2011 Winter Simulation Conference,2011, pp. 2228–2239 .

[17] G.S. Martínez , T. Karhela , H. Niemistö, A. Rossi , C. Pang , V. Vyatkin , A hybrid approach for the initialization of tracking simulation systems, in: Pro-ceedings of the 20th IEEE International Conference on Emerging Technologies and Factory Automation, September 8 −11, 2015, Luxembourg, 2015 .

[18] J.L. Peterson , Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981 .

[19] K. Jensen , M. Kristensen , Colored petri nets: a graphical language for formal modeling and validation of concurrent systems, Commun. ACM 58 (6)(2015) 61–70 .

[20] D. Harel , Statecharts: a visual formalism for complex systems, Sci. Comput. Program. 8 (1987) 231–274 . [21] H. Roh , C.S. Lalwani , M.M. Naim , Modelling a port logistics process using the structured analysis and design technique, Int. J. Logist. Res. Appl. 10 (3)

(2007) 283–302 . [22] R.G. Sargent , Verification and validation of simulation models, J. Simul. 7 (2013) 12–24 .