simulation modelling practice - vms-technology.com · simulation modelling practice and theory 63...
TRANSCRIPT
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.
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)
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
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.
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.
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]
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] .
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
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);}}
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] .
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
1144 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.
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
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
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
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 .