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 Available online 23 March 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 parameterized 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 online 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 activity 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 colored 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 NC = A, Q, E, τ , μ, μ0 • • • • • •
(1)
A = {a1 , a2 , …, an } is a finite, non-empty set of activity nodes. Q = {q1 , q2 , …, qm } is a finite, non-empty set of queue nodes. E = {e1 , e2 , …, ee } is a finite, non-empty set of edges, ei ∈ (A×Q) ∪ (Q×A). τ : A → R0 + is a time delay function associated with activities. μ = {μq ∈ N0 + | ∀q ∈ Q} is the number of tokens associated with queues. μ0 : Q → N0 + 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 = {a1 = Create, a2 = Process} Q = {q1 = Jobs, q2 = C, q3 = B, q4 = M} E = {e1 = (q1 , a1 ), e2 = (q2 , a1 ), e3 = (a1 , q2 ), e4 = (a1 , q3 ), e5 = (q3 , a2 ), e6 = (q4 , a2 ), e7 = (a2 , q4 ), e8 = (a2 , q1 )} τ (a1 ) = ta , τ (a2 ) = tp μ = {μq1 , μq2 , μq3 , μq4 } μ0 (q1 ) = ∞, μ0 (q2 ) = 1, μ0 (q3 ) = 0, μ0 (q4 ) = 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 NE = 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 = {me : E → N0 + | ∀e ∈ E} is a multiplicity that maps each edge into non-negative integer. G = {ge : μ → {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 = {a1 = Create, a2 = Process-A, a3 = Process-B} • Q = {q1 = Jobs, q2 = C, q3 = B, q4 = MA, q5 = MB} • E = {e1 = (q1 , a1 ), e2 = (q2 , a1 ), e3 = (a1 , q2 ), e4 = (a1 , q3 ), e5 = (q3 , a2 ), e6 = (q3 , a3 ), e7 = (q4 , a2 ), e8 = (q5 , a3 ), e9 = (a2 , q4 ), e10 = (a3 , q5 ), e11 = (a2 , q1 ), e12 = (a3 , q1 )} • τ (a1 ) = ta , τ (a2 ) = t1 , τ (a3 ) = t2 • μ = {μq1 , μq2 , μq3 , μq4 , μq5 } • μ0 (q1 ) = ∞, μ0 (q2 ) = 1, μ0 (q3 ) = 0, μ0 (q4 ) = 1, μ0 (q5 ) = 1 • M = {me5 = me6 = 3, me = 1 ∀e ∈ E except e5 and e6 } • G = {ge6 = (μq4 ≡0), ge = (1≡1) ∀e ∈ E except e6 } // μ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 (PN ) associated with nodes, (2) a set of parameter values (PE ) 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 NP = A, Q, E, V,PN , τ , U,PE , μ,μ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 = {v1 , v2 , …} is a set of variables. PN = {pnn | n ∈ A∪Q} is a set of parameters, if any, associated with nodes. τ : A×PN ×V → R0 + is a time delay function mapped into non-negative real number. U = {ua : V×PN ×τ → V×PN ×τ | a ∈ A} is a set of update actions associated with activities. PE = {pee | e ∈ E} is a set of parameter values, if any, associated with edges. μ = {μq,pnq ∈ N0 + | ∀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 = {ge : μ∪PE → {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 jobshop 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 = {a1 = Create, a2 = Move, a3 = Process} • Q = {q1 = Jobs, q2 = C, q3 = B, q4 = Q, q5 = M} • E = {e1 = (q1 , a1 ), e2 = (q2 , a1 ), e3 = (a1 , q2 ), e4 = (a1 , q3 ), e5 = (q3 , a2 ), e6 = (a2 , q1 ), e7 = (a2 , q4 ), e8 = (q4 , a3 ), e9 = (q5 , a3 ), e10 = (a3 , q5 ), e11 = (a3 , q3 )} • V = {v1 = jt, v2 = ns} • PN = {pnq3 = pna2 = pnq4 = pna3 = {j, p, s}, pnq5 = {s}} • τ (a1 ) = ta , τ (a2 , {s}, {ns}) = tm [s, ns], τ (a3 , {j, p}) = tp [j, p] • U = {ua1 = {jt = AssignJT();}, ua2 = {ns = route[j, p];}} • PE = {pee4 = {jt, 1, 0}, pee5 = pee8 = {j, p, s}, pee7 = {j, p, ns}, pee9 = pee10 = {s}, pee11 = {j, p+1, s}} • μ = {μq1 , μq2 , μq3, {j, p, s} , μq4, {j, p, s} , μq5, {s} } • μ0 (q1 ) = ∞, μ0 (q2 ) = 1, μ0 (q3 , {j, p, s}) = μ0 (q4 , {j, p, s}) = 0 ∀j, p, s, μ0 (q5 , {s}) = 1 ∀s • M = {me = 1 ∀e ∈ E} • G = {ge6 = (ns ≡ –1), ge7 = (ns = –1), ge = (1 ≡ 1) ∀e ∈ E except e6 and e7 } 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, PN 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. c. d. e.
White activity: a default activity without a color (solid-line rectangle). Process activity: an activity performed by an active resource (intaglio rectangle). Delay activity: a time delay experienced by the entity itself (dashed-line rectangle). 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. g. h. i. j.
Transport activity: an entity (i.e. job or customer) is moved by a vehicle along a path segment. Convey activity: an entity is moved along a conveyor segment. Move-n-process activity: an operation is performed on an entity while it is moved. Move activity: an entity moves by itself. 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, PN denotes a list of parameters associated with queues and nT is the number of tokens in a queue. The six queue colors are: a. b. c. d. e. f.
Entity queue: a queue for entities (i.e., customers or jobs) to stay. Capacity queue: a queue denoting the remaining room for entities in a passive resource. Resource queue: a queue denoting the number of available (or free) machines or servers. Instance queue: a dummy queue where no entities stay. Sink queue: a special case of entity queue used for disposing entities. 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. b. c. d.
Entity-flow edge: an edge denoting the flow of entity tokens. Resource-flow edge: an edge denoting the flow of resource tokens. Capacity-flow edge: an edge denoting the flow of capacity tokens (or Kanbans). 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 NC = A, Q, E, V,
A
,
Q
,
E
,PN ,CA , U,τ ,CQ ,PE ,μ,μ0 ,CE , 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). PN is a finite set of parameter variables, if any, associated with nodes. CA : 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. CQ : Q → Q is a queue color function that maps each queue into queue color. PE 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 μ. CE : 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 = {se : E → N1 + | ∀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 = {a1 = Create, a2 = Move, a3 = Process} Q = {q1 = IQ, q2 = Q, q3 = M} E = {e1 = (a1 , q1 ), e2 = (q1 , a2 ), e3 = (a2 , q2 ), e4 = (q2 , a3 ), e5 = (q3 , a3 ), e6 = (a3 , q3 ), e7 = (a3 , q1 )} V = {v1 = jt, v2 = ns} A = {ac1 = Create, ac2 = Move, ac3 = Process} Q = {qc1 = Instance, qc2 = Entity, qc3 = Resource} E = {ec1 = Entity, ec2 = Resource} PN = {pnq1 = pna2 = pnq2 = pna3 = {j, p, s}, pnq3 = {s}} CA (a1 ) = ac1 , CA (a2 ) = ac2 , CA (a3 ) = ac3 U = {ua1 = {jt = AssignJT();}, ua2 = {ns = route[j, p];}} τ (a1 ) = ta , τ (a2 , {s}, {ns}) = tm [s, ns], τ (a3 , {j, p}) = tp [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 Condition
1 2
Create Inspect
3
Repair
TRUE Q1>0 && T > 0 Q2 > 0 && T > 0 &&R ≥ 2
Initialize
• • • • • • • •
BTO-event
At-end
Action
Time
Name
Arc
Q1–; T–;
ta t1
Create-end Inspect-end
Q2–; T–; R = R-2;
t2
Condition
1 TRUE 1 TRUE 2 TRUE Repair-end 1 TRUE 2 TRUE {T = 3, R = 6, Q1 = Q2= 0}
Action
Influenced activities
Q1++; Q2++; T++; R=R+2; T++;
Inspect, Create Repair Inspect, Repair Repair Inspect, Repair
CQ (q1 ) = qc1 , CQ (q2 ) = qc2 , CQ (q3 ) = qc3 PE = {pee1 = {jt, 1, 0}, pee2 = pee4 = {j, p, s}, pee3 = {j, p, ns}, pee5 = pee6 = {s}, pee7 = {j, p+1, s}} μ = {μq1, {j, p, s} , μq2, {j, p, s} , μq3, {s} } μ0 (q1 , {j, p, s}) = μ0 (q2 , {j, p, s}) = 0 ∀j, p, s, μ0 (q3 , {s}) = 1 ∀s CE (e1 ) = CE (e2 ) = CE (e3 ) = CE (e4 ) = CE (e7 ) = ec1 , CE (e5 ) = CE (e6 ) = ec2 M = {me = 1 ∀e ∈ E} G = {ge3 = (ns=-1), ge = (1≡1) ∀e ∈ E except e3 } S = {se = 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)
Resource
Activity
Event
C-ACD Nodes
Types (6)
Name
Colors (6)
Name
Processing-type Handling-type Storage-type Processing-type
Station-1, Station-2, Station-3 Conveyor-1, Conveyor-2 I-Buffer, O-Buffer Process1, Process2, Process3
Resource Queue Capacity Queue Entity Queue Process Activity (& Entity Queue)
Convey-type
Convey2, Convey3
Coupled Event
Unload1-Enter2, Leave2-Load2, Unload2-Enter3, Leave3-Load3
Convey Activity (& Entity Queue) Instant Activity
S1, S2, S3 B2, B3 IB, OB P1 & P1Q, P2 & P2Q, P3 C2 & C2Q, C3 & C3Q 1, 2, 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 (tp ), current state (CS), and remaining processing time (RPT); each conveyor is specified by its capacity (c), convey time (tc ), 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: • tp [k] = processing time at Station-k for k = 1–3. • c[k] = conveyor capacity of Conveyor-k (c[k] = 5 for k = 2, 3). • tc [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 = tc [2] / (NMJ[2] +1); For j = 1∼NMJ[2] {Schedule-event (C2-end, j∗d);}} If (NMJ[3] > 0) {d = tc [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 capacity 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) combining 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 (overhead 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 L1 L2 L3 L4 C1 C2 C3 r1 r2 r3
List of cassettes in Q List of cassettes at P or PI List of moving cassettes in the inline (F) List of waiting cassettes in F Cassettes being loaded Cassettes being tracked-in Cassettes being tracked-out Remaining loading time Remaining track-in time Remaining track-out time
Uni-inlin Cell (Fig. 15)
Bi-inline Cell (Fig. 16)
{(j = 2, p = 8), (j = 2, p = 4)} ∅ {(j = 1, p = 4)} {(j = 1, p = 8)} ∅ (j = 1, p = 8) ∅ ∞ 90 ∞
{(j = 2, p = 19)} {(j = 1, p = 15)} {(j = 2, p = 15), (j = 1, p = 11)} ∅ ∅ (j = 1, p = 11) (j = 2, p = 11) ∞ 75 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: • t0 : Time required for loading a cassette from the Queue to a Port or In-Port • t1 : Time required for tracking-in a cassette of glasses
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)
• • • •
t2 t3 c0 c1
C-ACD Nodes
Types (7)
Name
Colors (7)
Name
Resource
Processing-type Handling-type Storage-type
Robot In-line Facility Queue, Port
R BF Q, P & BP
Activity
Delay-type Processing-type Convey-type
Load Track-in, Track-out Flow
Event
Coupled Event
Start Track-in–Start Flow
Resource Queue Capacity Queue Entity Queue (& Capacity Queue) Delay Activity Process Activity Convey Activity (& Entity Queue) Instant Activity
Load TrackIn, TrackOut Flow & F A1
: Time taken for each glass to flow through the in-line facility (flow time) : Time required for tracking-out a cassette of glasses : Capacity of the Port of a uni-inline cell or the In-Port of a bi-inline cell : 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 CACD 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 (|C2 | ≡ 0 && |C3 | ≡ 0) {R = 1;} else {R = 0;} If (|C2 | ≡ 0) {RI = 1;} else {RI = 0;} If (|C3 | ≡ 0) {RO = 1;} else {RO = 0;}
// uni-inline Robot // bi-inline Track-in Robot // bi-inline Track-out Robot
The buffer capacity queues in both C-ACD models are initialized as follows: BP = c0 – (|C1 | + |L2 | + |C2 | + |L3 | + |L4 | + |C3 |); BPI = c0 – (|C1 | + |L2 | + |C2 |); BF = c1 – (|C2 | + |L3 | + |L4 | + |C3 |);
// available space in the uni-inline port (P) // available space in the bi-inline in-port (PI) // 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∼|L1 | {(L1 [k].j, L1 [k].p) → Q;} // enqueue the record L1 [k] into Q For k=1∼|L2 | {(L2 [k].j, L2 [k].p) → P;} // enqueue the record L2 [k] into P For k=1∼|L4 | {(L4 [k].j, L4 [k].p) → F;} // enqueue the record L4 [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 If If If If
(|C1 | > 0) {Schedule-Event (Load-end (C1 .j, C1 .p), t0 /2);} // expected remaining time = t0 /2 (|C2 | > 0) {Schedule-Event (TI-end (C2 .j, C2 .p), r2 );} (|C3 | > 0) {Schedule-Event (TO-end (C3 .j, C3 .p), r3 );} (|C2 | > 0) {C2 → L3 ;} // append C2 at the end of L3 (|L3 | > 0) {d = t2 / (|L3 | + 1); For k=1∼|L3 | {Schedule-Event (Flow-end (L3 [k].j, L3 [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 uniinline 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,cn ) with a move-time delay of tm [c,cn ], where • • • •
j : job type p : processing step c : current cell number cn : next cell number
In the AMHS part of the C-ACD model, arriving cassettes are generated by the create activity Generate with an intergeneration time of tG , and the next cell number cn 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., cn ≡ Done), it leaves the system by the Sink queue. Methods of initializing the BTO event of the move activity Move(j,p,c,cn ) 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 depicted 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
t0 [c]
t1 [c]
t2 [c]
t3 [c]
c0 [c]
c1 [c]
1,3 2,4,9,10 5,6,13,14 7,8,15,16 11,12
U U B U U
5 5 5 5 5
60 90 150 120 120
120 180 800 360 240
60 90 150 120 120
2 2 3 2 2
2 2 5 3 2
H. Kim, B.-K. Choi / Simulation Modelling Practice and Theory 63 (2016) 133–148
147
Table 7 Moving time data. tm [s,d] Stocker-1 Stocker-2 Stocker-3 Stocker-4 Stocker-5 Stocker-6
(s (s (s (s (s (s
= = = = = =
1) 2) 3) 4) 5) 6)
Stocker-1 (d = 1)
Stocker-2 (d = 2)
Stocker-3 (d = 3)
Stocker-4 (d = 4)
Stocker-5 (d = 5)
Stocker-6 (d = 6)
10 X X X X X
40 10 X X X X
X X 10 X X X
X X 35 10 X 35
X X X 35 10 X
X X X X X 10
Table 8 Layout master data. Inline Stocker
1
2
3
4
5
6
Out-port (source) In-port (destination)
1,2,3,4 1,2,3,4
∅ 5,6
5,6,7,8 7,8
9,10,11,12 9,10,11,12
∅ 13,14
13,14,15,16 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 ti [c] are obtained from the Machine master data in Table 6. The value of the moving time function tm (c,cn ) 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 (Inport 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 efforts 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 efforts. 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] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
B.K. Choi, D. Kang, Modeling and Simulation of Discrete-Event Systems, John Wiley & Sons, 2013. E.L. Savage, L.W. Schruben, E. Yücesan, On the Generality of event-graph models, INFORMS J. Comput. 17 (1) (2005) 3–9. C.G. Cassandras, S. Lafortune, Introduction to Discrete Event Systems, 2nd edition, Springer, 2010. B.W. Hollocks, Intelligence, innovation and integrity – KD Tocher and the dawn of simulation, J. Simul. 2 (2008) 128–137. D. Kang, B.K. Choi, The extended activity cycle diagram and its generality, Simul. Model. Pract. Theory 19 (2011) 785–800. 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–18 24. 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. 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. 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. 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. 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 Winter Simulation Conference, IEEE, Miami, 2008, pp. 1262–1267. 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. 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. X. Hu, Dynamic data driven simulation, SCS M&S Mag. n1 (2011) 16–22. S. Bohlmann, M. Becker, S. Balci, H. Szczerbicka, E. Hund, Online simulation based decision support system for resource failure management in multi-site production environments, in: IEEE Emerg. Technol. Factory Autom., 2013, pp. 1–4. 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. 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: Proceedings of the 20th IEEE International Conference on Emerging Technologies and Factory Automation, September 8−11, 2015, Luxembourg, 2015. J.L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981. 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. D. Harel, Statecharts: a visual formalism for complex systems, Sci. Comput. Program. 8 (1987) 231–274. 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. R.G. Sargent, Verification and validation of simulation models, J. Simul. 7 (2013) 12–24.