E-Book, Englisch, 431 Seiten
Garrido Object Oriented Simulation
1. Auflage 2009
ISBN: 978-1-4419-0516-1
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
A Modeling and Programming Perspective
E-Book, Englisch, 431 Seiten
ISBN: 978-1-4419-0516-1
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
Object Oriented Simulation will qualify as a valuable resource to students and accomplished professionals and researchers alike, as it provides an extensive, yet comprehensible introduction to the basic principles of object-oriented modeling, design and implementation of simulation models. Key features include an introduction to modern commercial graphical simulation and animation software, accessible breakdown of OOSimL language constructs through various programming principles, and extensive tutorial materials ideal for undergraduate classroom use.
Autoren/Hrsg.
Weitere Infos & Material
1;Preface;5
2;Contents;9
3;Basic Concepts of Modeling and Simulation;21
3.1;Models and Simulation;23
3.1.1;1.1 Introduction;23
3.1.2;1.2 Systems and Models;23
3.1.3;1.3 Simulation;24
3.1.4;1.4 Input Parameters and Performance;29
3.1.5;1.5 Modeling System Behavior;31
3.1.6;1.6 Simulation Time;32
3.1.7;1.7 Discrete-Event Simulation Approaches;32
3.1.8;1.8 Simulation Software;34
3.1.9;1.9 Simulation Study;35
3.1.10;1.10 Key Terms;37
3.1.11;1.11 Summary;37
3.1.12;Exercises;38
3.2;Introduction to Arena;39
3.2.1;2.1 The ArenaWindow;39
3.2.2;2.2 Arena Modules;40
3.2.3;2.3 Using Arena;41
3.2.4;2.4 A Simple Model of The Carwash System;41
3.2.5;2.5 Summary;47
3.2.6;Exercises;48
3.3;Introduction to Flexsim;50
3.3.1;3.1 Modeling Concepts and Terms in Flexsim;50
3.3.2;3.2 Using Flexsim;52
3.3.3;3.3 A Simple Model of The Carwash System;52
3.3.4;3.4 Summary;61
3.3.5;Exercises;61
4;Object Oriented Programming with OOSimL;62
4.1;Programs and Software Development;64
4.1.1;4.1 Introduction;64
4.1.2;4.2 Programming Languages;65
4.1.3;4.3 Software Development;66
4.1.4;4.4 Summary;68
4.1.5;4.5 Key Terms;69
4.1.6;Exercises;69
4.2;Object Orientation;70
4.2.1;5.1 Introduction;70
4.2.2;5.2 Modules;70
4.2.3;5.3 Modeling Objects;71
4.2.4;5.4 Object Interactions;74
4.2.5;5.5 Other Concepts of Object Orientation;75
4.2.6;5.6 Summary;76
4.2.7;5.7 Key Terms;77
4.2.8;Exercises;77
4.3;Object-Oriented Programs;78
4.3.1;6.1 Introduction;78
4.3.2;6.2 Programs;78
4.3.3;6.3 Definition of Classes;78
4.3.4;6.4 Implementation of Programs;79
4.3.5;6.5 Data Declaration;81
4.3.6;6.6 Functions;84
4.3.7;6.7 Summary;85
4.3.8;6.8 Key Terms;86
4.3.9;Exercises;86
4.4;Functions;87
4.4.1;7.1 Introduction;87
4.4.2;7.2 Function Implementation;87
4.4.3;7.3 Function Calls;88
4.4.4;7.4 Constructors;92
4.4.5;7.5 Complete Sample Program;94
4.4.6;7.6 Static Features;96
4.4.7;7.7 Summary;97
4.4.8;7.8 Key Terms;97
4.4.9;Exercises;98
4.5;Design and Program Structures;99
4.5.1;8.1 Introduction;99
4.5.2;8.2 Design Notations;99
4.5.3;8.3 Algorithmic Structures;102
4.5.4;8.4 Programming Statements;104
4.5.5;8.5 Computing Area and Circumference;107
4.5.6;8.6 Summary;109
4.5.7;8.7 Key Terms;109
4.5.8;Exercises;109
4.6;Selection;111
4.6.1;9.1 Introduction;111
4.6.2;9.2 Selection Structure;111
4.6.3;9.3 Example Program;114
4.6.4;9.4 If Statement with Multiple Paths;118
4.6.5;9.5 Using Logical Operators;119
4.6.6;9.6 The Case Statement;120
4.6.7;9.7 Summary;121
4.6.8;9.8 Key Terms;121
4.6.9;Exercises;121
4.7;Repetition;123
4.7.1;10.1 Introduction;123
4.7.2;10.2 The While Loop Structure;123
4.7.3;10.3 Employee Pay Problem with Repetition;125
4.7.4;10.4 Loop Until;127
4.7.5;10.5 For Loop Structure;128
4.7.6;10.6 Summary;129
4.7.7;10.7 Key Terms;130
4.7.8;Exercises;130
4.8;Arrays;132
4.8.1;11.1 Introduction;132
4.8.2;11.2 Array Declaration;132
4.8.3;11.3 Creating Arrays;133
4.8.4;11.4 Manipulating an Array;134
4.8.5;11.5 Array Parameters;136
4.8.6;11.6 Array Return Types;137
4.8.7;11.7 Arrays with Multiple Dimensions;138
4.8.8;11.8 Examples with Arrays;139
4.8.9;11.9 Summary;145
4.8.10;11.10 Key Terms;146
4.8.11;Exercises;146
4.9;Inheritance;147
4.9.1;12.1 Introduction;147
4.9.2;12.2 Modeling Classes;147
4.9.3;12.3 Inheritance;148
4.9.4;12.4 Summary;154
4.9.5;12.5 Key Terms;154
4.9.6;Exercises;154
4.10;Advanced Object Oriented Concepts;156
4.10.1;13.1 Introduction;156
4.10.2;13.2 Abstract Classes;156
4.10.3;13.3 Interfaces;159
4.10.4;13.4 Object Types;161
4.10.5;13.5 Polymorphism;161
4.10.6;13.6 Summary;162
4.10.7;13.7 Key Terms;163
4.10.8;Exercises;163
4.11;Introduction to Graphical Interfaces;165
4.11.1;14.1 Introduction;165
4.11.2;14.2 Graphical Components;165
4.11.3;14.3 Containers;166
4.11.4;14.4 Frames;166
4.11.5;14.5 Event-Driven Programs with GUIs;171
4.11.6;14.6 Panels;175
4.11.7;14.7 Applets;176
4.11.8;14.8 Drawing Objects;178
4.11.9;14.9 Summary;182
4.11.10;14.10 Key Terms;183
4.11.11;Exercises;183
4.12;Exceptions;185
4.12.1;15.1 Introduction;185
4.12.2;15.2 Programming with Exceptions;185
4.12.3;15.3 Summary;188
4.12.4;15.4 Key Terms;188
4.12.5;Exercises;189
4.13;Input and Output;190
4.13.1;16.1 Introduction;190
4.13.2;16.2 Files;190
4.13.3;16.3 Using Text Files;191
4.13.4;16.4 Summary;199
4.13.5;16.5 Key Terms;200
4.13.6;Exercises;200
4.14;Recursion;201
4.14.1;17.1 Introduction;201
4.14.2;17.2 Defining Recursive Solutions;201
4.14.3;17.3 Examples of Recursive Functions;202
4.14.4;17.4 Recursive Executions;209
4.14.5;17.5 Summary;211
4.14.6;17.6 Key Terms;211
4.14.7;Exercises;211
4.15;Threads;212
4.15.1;18.1 Introduction;212
4.15.2;18.2 Programming with Multiple Threads;212
4.15.3;18.3 Defining Thread Classes;213
4.15.4;18.4 More on Thread Behaviors;214
4.15.5;18.5 Summary;218
4.15.6;18.6 Key Terms;218
4.15.7;18.7 Exercises Exercises;219
4.16;Linked lists;220
4.16.1;19.1 Introduction;220
4.16.2;19.2 General Form of a Linked List;220
4.16.3;19.3 Node Objects;221
4.16.4;19.4 Linked Lists;222
4.16.5;19.5 Linked List with Two Ends;226
4.16.6;19.6 Nodes with Two Links;228
4.16.7;19.7 Higher-level Data Structures;229
4.16.8;19.8 Generic Classes;235
4.16.9;19.9 Using Java Collections Framework;238
4.16.10;19.10 Summary;241
4.16.11;19.11 Key Terms;241
4.16.12;Exercises;241
4.17;Using Assertions with Programming;244
4.17.1;20.1 Introduction;244
4.17.2;20.2 Using Assertions in Programming;244
4.17.3;20.3 Advantages of Using Assertions;246
4.17.4;20.4 Specification of Classes;247
4.17.5;20.5 Using Assertions with OOSimL;248
4.17.6;20.6 Loop Invariants and Loop Variants;253
4.17.7;20.7 Summary;256
4.17.8;20.8 Key Terms;256
4.17.9;Exercises;256
5;Discrete-Event Simulation;257
5.1;Models of Single-Server Systems;259
5.1.1;21.1 Introduction;259
5.1.2;21.2 Object-Oriented Simulation with OOSimL;259
5.1.3;21.3 Implementing A Simulation Model;260
5.1.4;21.4 General Structure of Single-Server Models;262
5.1.5;21.5 A Model for The Car-Wash System;262
5.1.6;21.6 Activity Diagrams;270
5.1.7;21.7 Implementing The Simulation Model;276
5.1.8;21.8 Graphical User Interfaces;287
5.1.9;21.9 Summary;289
5.1.10;21.10 Key Terms;289
5.1.11;Exercises;289
5.2;Models of Multi-Server Systems;291
5.2.1;22.1 Introduction;291
5.2.2;22.2 Queuing Models;291
5.2.3;22.3 Multi-Server Queuing Models;292
5.2.4;22.4 The Carwash System;292
5.2.5;22.5 OOSimL Implementation of the Model;297
5.2.6;22.6 Models With Multiple Queues;302
5.2.7;22.7 Queuing Networks;303
5.2.8;22.8 Summary;304
5.2.9;22.9 Key Terms;305
5.2.10;Exercises;305
5.3;Models with Priorities;306
5.3.1;23.1 Introduction;306
5.3.2;23.2 PrioritiesWith Single-Server Models;307
5.3.3;23.3 Car Wash Model with Priorities;311
5.3.4;23.4 Multi-Server Models with Priorities;324
5.3.5;23.5 Summary;324
5.3.6;23.6 Key Terms;325
5.3.7;Exercises;325
5.4;Standard Resources;326
5.4.1;24.1 Introduction;326
5.4.2;24.2 Resource Manipulation;326
5.4.3;24.3 Model of a Warehouse System;331
5.4.4;24.4 Allocating Resources with Priorities;338
5.4.5;24.5 Deadlock;338
5.4.6;24.6 Summary;338
5.4.7;Exercises;339
5.5;Detachable Resources;340
5.5.1;25.1 Introduction;340
5.5.2;25.2 Infinite Containers;340
5.5.3;25.3 Producer and Consumer Processes;341
5.5.4;25.4 Implementing Detachable Resources;342
5.5.5;25.5 A Machine Parts-Replacement System;345
5.5.6;25.6 Summary;352
5.5.7;25.7 Exercises;352
5.6;Synchronous Process Cooperation;353
5.6.1;26.1 Introduction;353
5.6.2;26.2 Joint Process Activities;353
5.6.3;26.3 Synchronization Mechanism;354
5.6.4;26.4 Cooperation with Several Slaves;357
5.6.5;26.5 Synchronous Process Communication;358
5.6.6;26.6 Process Cooperation Model;359
5.6.7;26.7 Summary;369
5.6.8;26.8 Questions;369
5.7;Conditional Waiting;371
5.7.1;27.1 Introduction;371
5.7.2;27.2 Using ConditionalWaiting;371
5.7.3;27.3 ConditionalWaiting with OOSimL;373
5.7.4;27.4 The Port System;375
5.7.5;27.5 Summary;381
5.7.6;27.6 Exercises;381
5.8;Interrupts;383
5.8.1;28.1 Introduction;383
5.8.2;28.2 Basic concepts of Interruptions;383
5.8.3;28.3 Handling Interrupts;384
5.8.4;28.4 Interrupts using OOSimL;386
5.8.5;28.5 Carwash Model with Interrupts;388
5.8.6;28.6 The Machine Breakdowns Model;397
5.8.7;28.7 Summary;398
5.8.8;28.8 Key Terms;399
5.8.9;Exercises;399
5.9;Input Analysis and Specification;400
5.9.1;29.1 Introduction;400
5.9.2;29.2 Types of Input Variables;401
5.9.3;29.3 Representing Data;401
5.9.4;29.4 Testing Selected Distributions;409
5.9.5;29.5 Summary;409
5.9.6;Exercises;410
5.10;Simulation Output Analysis;411
5.10.1;30.1 Introduction;411
5.10.2;30.2 Performance Measures;411
5.10.3;30.3 Comparing Sample Data;412
5.10.4;30.4 Statistical Inference;413
5.10.5;30.5 Terminating and Non-terminating Runs;414
5.10.6;30.6 Summary;415
5.11;Model Validation;416
5.11.1;31.1 Introduction;416
5.11.2;31.2 Verification Techniques for Simulation Models;416
5.11.3;31.3 Validation of Simulation Models;417
5.11.4;31.4 Summary;420
5.12;Configuring Tools and Compiling OOSimL Programs;421
5.12.1;A.1 The OOSimL Compiler;421
5.12.2;A.2 Developing Models with The jGRASP Environment;422
5.12.3;A.3 Using The Eclipse Platform;427
5.12.4;A.4 Configuring Eclipse for OOSimL Models;427
5.12.5;A.5 Developing Models in a DOS Window;434
5.13;Overview of Basic Probability Theory;439
5.13.1;B.1 Introduction;439
5.13.2;B.2 Experiments and Probabilities;439
5.13.3;B.3 Random Variables;441
5.13.4;B.4 Other Properties of Random Variables;442
5.13.5;B.5 Stochastic Processes;442
5.13.6;B.6 Random Numbers in Simulation Models;443
5.14;Bibliography;444
5.15;Index;447




