|
Introduction to Simulation |
|
|
1 | (17) |
|
|
|
1 | (1) |
|
|
|
1 | (3) |
|
|
|
1 | (2) |
|
Implementing Simulation Models with Java and Psim-J |
|
|
3 | (1) |
|
Systems, Models, and Modeling |
|
|
4 | (1) |
|
|
|
5 | (1) |
|
|
|
5 | (1) |
|
|
|
6 | (3) |
|
|
|
6 | (2) |
|
Designing Simulation Models |
|
|
8 | (1) |
|
Implementing Simulation Models |
|
|
9 | (1) |
|
|
|
9 | (1) |
|
Types of Simulation Models |
|
|
10 | (1) |
|
Phases in Model Development |
|
|
11 | (2) |
|
Performance Measures and Performance Modeling |
|
|
13 | (2) |
|
|
|
13 | (1) |
|
|
|
14 | (1) |
|
Additional Performance Concepts |
|
|
14 | (1) |
|
|
|
15 | (1) |
|
|
|
15 | (2) |
|
|
|
17 | (14) |
|
|
|
17 | (1) |
|
|
|
17 | (3) |
|
|
|
17 | (1) |
|
|
|
18 | (1) |
|
|
|
19 | (1) |
|
|
|
19 | (1) |
|
|
|
19 | (1) |
|
Using UML For Object-Oriented Modeling |
|
|
20 | (1) |
|
|
|
21 | (1) |
|
|
|
22 | (4) |
|
|
|
22 | (1) |
|
|
|
23 | (1) |
|
Multiplicity of the Association |
|
|
24 | (1) |
|
|
|
24 | (1) |
|
Generalization and Inheritance |
|
|
25 | (1) |
|
|
|
25 | (1) |
|
|
|
25 | (1) |
|
Dynamic Modeling Diagrams |
|
|
26 | (2) |
|
|
|
26 | (1) |
|
|
|
27 | (1) |
|
|
|
27 | (1) |
|
|
|
28 | (1) |
|
|
|
29 | (1) |
|
|
|
30 | (1) |
|
Relevant Aspects Of The Java Programming Language |
|
|
31 | (24) |
|
|
|
31 | (1) |
|
|
|
31 | (1) |
|
Basic Object-Oriented Concepts Of Java |
|
|
32 | (2) |
|
|
|
32 | (1) |
|
|
|
33 | (1) |
|
|
|
33 | (1) |
|
A Simple Application With Two Classes |
|
|
34 | (3) |
|
Dealing With Global Variables |
|
|
37 | (1) |
|
Need For Global Variables |
|
|
37 | (1) |
|
|
|
37 | (1) |
|
Arrays and Collection Classes |
|
|
38 | (2) |
|
|
|
40 | (1) |
|
|
|
40 | (2) |
|
|
|
40 | (2) |
|
Constructors of the Subclasses |
|
|
42 | (1) |
|
|
|
42 | (1) |
|
|
|
43 | (1) |
|
|
|
43 | (1) |
|
|
|
44 | (1) |
|
|
|
45 | (8) |
|
|
|
45 | (1) |
|
Inheriting the Thread Class |
|
|
46 | (1) |
|
Other Basic Thread Methods |
|
|
47 | (1) |
|
|
|
48 | (1) |
|
Implementing the Runnable Interface |
|
|
48 | (1) |
|
Interrupting a Thread Object |
|
|
49 | (2) |
|
|
|
51 | (1) |
|
Simple Thread Synchronization |
|
|
51 | (1) |
|
Wait/Notify Mechanism in Threads |
|
|
52 | (1) |
|
|
|
53 | (1) |
|
|
|
53 | (2) |
|
Discrete-Event Simulation |
|
|
55 | (16) |
|
|
|
55 | (1) |
|
|
|
55 | (1) |
|
Implementation of Discrete-Event Simulation |
|
|
56 | (1) |
|
|
|
57 | (1) |
|
World Views For Discrete-Event Simulation |
|
|
58 | (2) |
|
|
|
59 | (1) |
|
|
|
59 | (1) |
|
The Process Interaction World View |
|
|
59 | (1) |
|
Implementing The Process Worldview |
|
|
60 | (2) |
|
Object-Oriented Simulation |
|
|
62 | (1) |
|
Software For Discrete-Event Simulation |
|
|
63 | (1) |
|
Discrete Event Simulation Packages |
|
|
64 | (3) |
|
|
|
64 | (1) |
|
|
|
64 | (1) |
|
|
|
64 | (1) |
|
|
|
65 | (1) |
|
|
|
65 | (1) |
|
|
|
65 | (1) |
|
|
|
66 | (1) |
|
|
|
66 | (1) |
|
|
|
66 | (1) |
|
The Simulation Package and Language, Psim and PsimL |
|
|
66 | (1) |
|
Other Simulation Packages |
|
|
67 | (1) |
|
Simulation Packages in Java |
|
|
67 | (1) |
|
|
|
67 | (1) |
|
Other Sources on Simulation Languages, Conferences, and Courses |
|
|
67 | (1) |
|
|
|
68 | (1) |
|
|
|
69 | (2) |
|
Simulation With The Process Worldview |
|
|
71 | (26) |
|
|
|
71 | (1) |
|
Processes and Simulation Models |
|
|
71 | (2) |
|
|
|
71 | (1) |
|
|
|
72 | (1) |
|
A Model For The Car-Wash System |
|
|
73 | (11) |
|
|
|
73 | (2) |
|
The Car-Wash Deterministic Model |
|
|
75 | (5) |
|
The Car-Wash Stochastic Model |
|
|
80 | (4) |
|
Performance and Workload Characterization |
|
|
84 | (1) |
|
Implementing The Simulation Model |
|
|
85 | (8) |
|
|
|
85 | (2) |
|
Java Implementation Of The Car-wash Model |
|
|
87 | (6) |
|
Graphical User Interfaces |
|
|
93 | (1) |
|
|
|
93 | (2) |
|
|
|
95 | (2) |
|
Models of Multi-Server Systems |
|
|
97 | (16) |
|
|
|
97 | (1) |
|
|
|
97 | (1) |
|
Multi-Server Queuing Models |
|
|
98 | (1) |
|
The Multi-Server Model of the Car-Wash System |
|
|
99 | (6) |
|
Description Of The Server Process |
|
|
100 | (1) |
|
Description Of The Customer Process |
|
|
100 | (1) |
|
Description Of The Arrivals Process |
|
|
101 | (1) |
|
|
|
102 | (3) |
|
Java Implementation of the Multi-Server Model |
|
|
105 | (3) |
|
Multi-Server Models With Multiple Queues |
|
|
108 | (1) |
|
Description Of The Server Process |
|
|
108 | (1) |
|
Description of the Customer Process |
|
|
109 | (1) |
|
|
|
109 | (1) |
|
|
|
110 | (1) |
|
|
|
111 | (2) |
|
Multi-Class Queuing Models |
|
|
113 | (14) |
|
|
|
113 | (1) |
|
Priorities With Single-Server Models |
|
|
114 | (9) |
|
Description of the Server Process |
|
|
114 | (1) |
|
Description of the Arrivals Process |
|
|
115 | (1) |
|
Description of the Car Process |
|
|
115 | (1) |
|
Results from the Simulation |
|
|
116 | (4) |
|
Implementation Of The Car-Wash Model |
|
|
120 | (3) |
|
Multi-Server Models with Priorities |
|
|
123 | (1) |
|
|
|
123 | (1) |
|
|
|
124 | (3) |
|
|
|
127 | (12) |
|
|
|
127 | (1) |
|
|
|
127 | (1) |
|
Software Implementation of Resources |
|
|
128 | (2) |
|
Model Implementation in Psim-J |
|
|
130 | (1) |
|
A Model of a Busy Warehouse |
|
|
131 | (5) |
|
Allocating Resources with Priorities |
|
|
136 | (1) |
|
|
|
136 | (1) |
|
|
|
137 | (1) |
|
|
|
138 | (1) |
|
Basic Process Cooperation |
|
|
139 | (10) |
|
|
|
139 | (1) |
|
Producer-Consumer Cooperation |
|
|
139 | (1) |
|
Producer and Consumer Objects |
|
|
140 | (1) |
|
Implementing Process Cooperation |
|
|
141 | (1) |
|
|
|
141 | (1) |
|
|
|
142 | (1) |
|
Model Of A Machine Parts-Replacement System |
|
|
142 | (5) |
|
|
|
147 | (1) |
|
|
|
147 | (2) |
|
|
|
149 | (10) |
|
|
|
149 | (1) |
|
Master-Slave Synchronization |
|
|
149 | (2) |
|
General Synchronous Cooperation |
|
|
149 | (1) |
|
Synchronous Communication |
|
|
150 | (1) |
|
Implementing Process Cooperation in Java |
|
|
151 | (1) |
|
Model With Synchronous Communication |
|
|
152 | (4) |
|
Cooperation with Several Slaves |
|
|
156 | (1) |
|
|
|
157 | (1) |
|
|
|
157 | (2) |
|
|
|
159 | (8) |
|
|
|
159 | (1) |
|
Modeling With Conditional Synchronization |
|
|
159 | (1) |
|
Implementation with Java and Psim-J |
|
|
160 | (2) |
|
|
|
160 | (1) |
|
Implementing Simulation Models |
|
|
161 | (1) |
|
|
|
162 | (4) |
|
|
|
166 | (1) |
|
|
|
166 | (1) |
|
|
|
167 | (16) |
|
|
|
167 | (1) |
|
Basic Notion of Interruptions |
|
|
167 | (1) |
|
|
|
168 | (1) |
|
Interrupts using Java and Psim-J |
|
|
169 | (2) |
|
The Parts-Replacement Model With Interrupts |
|
|
171 | (4) |
|
Car-Wash Model with Interrupts |
|
|
175 | (6) |
|
|
|
181 | (1) |
|
|
|
181 | (2) |
|
|
|
183 | (14) |
|
|
|
183 | (1) |
|
Model of a Simple Client-Server System |
|
|
183 | (8) |
|
Model of an Ethernet Client-Server System |
|
|
191 | (5) |
|
|
|
191 | (1) |
|
|
|
192 | (1) |
|
|
|
192 | (4) |
|
|
|
196 | (1) |
|
|
|
196 | (1) |
|
Basic Probability Theory and Random Numbers |
|
|
197 | (16) |
|
|
|
197 | (1) |
|
|
|
197 | (1) |
|
Long-term Behavior of Systems |
|
|
198 | (1) |
|
|
|
198 | (1) |
|
|
|
199 | (1) |
|
Random Variable and Distribution Functions |
|
|
199 | (1) |
|
Expected Values, Variance and Convariance |
|
|
200 | (1) |
|
The Geometric distribution |
|
|
201 | (1) |
|
The Binomial Distribution |
|
|
202 | (1) |
|
The Exponential Distribution |
|
|
203 | (1) |
|
|
|
203 | (1) |
|
|
|
204 | (1) |
|
|
|
204 | (1) |
|
|
|
204 | (1) |
|
Random Numbers in Simulation Models |
|
|
205 | (1) |
|
|
|
206 | (2) |
|
|
|
206 | (1) |
|
|
|
207 | (1) |
|
|
|
208 | (1) |
|
|
|
209 | (1) |
|
|
|
210 | (1) |
|
|
|
211 | (2) |
|
Overview of Model Verification and Validation |
|
|
213 | (6) |
|
|
|
213 | (1) |
|
Verification Techniques For Simulation Models |
|
|
213 | (2) |
|
Object-Oriented Modeling and Programming |
|
|
213 | (1) |
|
|
|
214 | (1) |
|
|
|
214 | (1) |
|
|
|
214 | (1) |
|
Validation Techniques For Simulation Models |
|
|
215 | (2) |
|
|
|
215 | (1) |
|
General Validation Approach |
|
|
215 | (1) |
|
|
|
216 | (1) |
|
|
|
216 | (1) |
|
|
|
217 | (2) |
| Appendix A: A Short Manual For Psim-J |
|
219 | (28) |
|
A.1 Introduction to The Psim-J Library |
|
|
219 | (1) |
|
|
|
220 | (1) |
|
A.3 Defining Processes in a Simulation Model |
|
|
221 | (1) |
|
|
|
222 | (1) |
|
A.5 Other Process Methods |
|
|
222 | (4) |
|
A.6 Starting and Running a Simulation |
|
|
226 | (1) |
|
A.7 Priority of a Process |
|
|
226 | (1) |
|
|
|
227 | (1) |
|
|
|
228 | (1) |
|
|
|
228 | (7) |
|
A.10.1 General Description |
|
|
228 | (1) |
|
A.10.2 Methods in Class Squeue |
|
|
228 | (3) |
|
A.10.3 Members of Class Pqueue |
|
|
231 | (4) |
|
A.11 Classes for Resources |
|
|
235 | (3) |
|
A.11.1 General Description |
|
|
235 | (1) |
|
|
|
235 | (1) |
|
A.11.3 Relevant Features in the Bin Class |
|
|
236 | (2) |
|
|
|
238 | (2) |
|
|
|
240 | (1) |
|
A.14 Random Number Generation in Psim-J |
|
|
241 | (6) |
|
|
|
242 | (1) |
|
|
|
243 | (1) |
|
|
|
244 | (1) |
|
|
|
245 | (1) |
|
|
|
246 | (1) |
| Appendix B: Bibliography |
|
247 | (4) |
| About the Author |
|
251 | (2) |
| Index |
|
253 | |