This book introduces the application of the Java programming language in discrete-event simulation. In addition, the fundamental concepts and practical simulation techniques for modeling different types of systems to study their general behavior and their performance are introduced. The approaches applied are the process interaction approach to discrete-event simulation and object-oriented modeling. Java is used as the implementation language and UML as the modeling language. The first offers several advantages compared to C++, the most important being thread handling, graphical user interfaces (GUI), and Web computing. The second language, UML (Unified Modeling Language), is the standard notation used today for modeling...