MID1022 | Simulation Languages |
Teaching Staff in Charge |
Prof. POP Horia Florin, Ph.D., hfpopcs.ubbcluj.ro |
Aims |
The students will gain basic concepts of simulation modeling analysis; will learn different specific simulation languages and environments useful in the modeling and simulation of specific problems. The students will be able to: recognize mathematical parameters as if they were physical variables and vice-versa; be able to follow general mathematical concepts of derivation scientific result and possess the mathematical skill to link those concepts; be able to understand the relevance of the mathematical results to real world applications; have the ability to use computational tools for finding graphical, numerical, statistical and analytic solutions to problems; have the ability to use systems simulations appropriate to real world practice; be able to identify input, output, and operating variables as appropriate in various units; be able to identify technical relationships between the input, output and variables and use the relationships to predict mutual changes. |
Content |
Part I. Theory of Computer Simluation
1. Introduction to Simulation . Definition and types of simulation . Reasons for simulation . Simulation applications . Simulation models . Validation . Verification . Revision 2. Models and Studies . Overview of simulation . Purposes and methods of simulation studies . Methodology of model development . Identification of types of simulation studies 3. Elements of Simulation . Entities . Resources . Other objects and properties of simulated systems . Source models . Queuing systems . Servers 4. Simulation Software Design . A short comparative study of the major software methods of setting u simulation models . Commercial simulation packages . Commercial simulation languages . C++ and C# programming 5. Basic Simulation Models . Use of a commercial simulation package . Modeling basic business processes . Setting simulation goals . Designing a process model . Building a simulation . Analyzing simulation results . Methodology 6. Resource Modeling . Resource handling in a commercial simulation package . Resources as simulation components . Methods of dealing with resource downtime . Methodology for developing resource models Part. II. Simulation using OMNeT++ 7. Overview of OMNeT++ . Modeling concepts . Programming the algorithms . Using OMNeT++ . Building and running simulations 8. The NED Language . NED overview . The import directive . Channel definitions . Simple module definitions . Compound module definitions . Network definitions . Expressions . Parameterized compound modules . Large networks . XML binding for NED files 9. Simple Modules . Simulation concepts . Packet transmission modeling . Defining simple module types . Adding functionality to cSimpleModule . Finite State Machines in OMNeT++ . Sending and receiving messages . Accessing module parameters . Accessing gates and connections . Walking the module hierarchy . Direct method calls between modules . Dynamic module creation 10. Messages . Messages and packets . Message definitions 11. The Simulation Library . Class library conventions . Logging from modules . Simulation time conversion . Generating random . Container classes . The parameter class: cPar . Routing support: cTopology . Statistics and distribution estimation . Recording simulation results . Watches and snapshots . Deriving new classes . Object ownership management 12. Building and Running Simulations . Overview . Building using Unix and gcc . Building using Windows and Microsoft Visual C++ . User interfaces . The configuration file: omnetpp.ini . Dynamic NED loading . Setting module parameters in omnetpp.ini . Configuring output vectors . Configuring the random number generators . Cmdenv: the command-line interface . Tkenv: the graphical user interface . Repeating or iterating simulation runs . Multiple Replications in Parallel . Typical issues 13. Analyzing Simulation Results . Output vectors . Scalar statistics . Analysis and visualization tools 14. Parallel Distributed Simulation . Introduction to Parallel Discrete Event Simulation . Assessing available parallelism in a simulation model . Parallel distributed simulation support in OMNeT++ Part III. Other simulation languages and tools . Process-oriented simulation. The HSL language . Object-oriented discrete event simulation in C++: C++Sim . Object-oriented discrete event simulation in Java: JavaSim . Object-oriented discrete event simulation in Java: DesmoJ |
References |
[1] Banks, Carson, Nelson & Nicol, "Discrete Event System Simulation, Prentice Hall, 2001
[2] A. Law & D. Kelton, Simulation Modeling and Analysis, Mc Graw Hill, 3rd ed., 1999. [3] Raymond P. Jefferis III , Simulation of Business Processes, Widener University, 2006 [4] * * *, OMNeT++, User Manual (electronic format) [5] D.P. Sanderson, R. Sharma, R. Rozin, S. Treu, The Hierarchical Simulation Language HSL; a Versatile Tool for Process-Oriented Simulation, ACM Transactions on Modeling and Computer Simulation, 1 (2), 1991, 113-153 [6] * * *, Object-oriented discrete event simulation in C++: C++Sim User Guide [7] * * *, Object-oriented discrete event simulation in Java: JavaSim User Guide [8] * * *, Desmo-J, A Framework for Discrete-Event Modelling and Simulation, http://asi-www.informatik.uni-hamburg.de/themen/sim/forschung/Simulation/Desmo-J/index.html |
Assessment |
The activity ends with a written final exam (grade E). The seminar homework on computer simulation will be graded (grade S). Students will prepare a software project that will have to illustrate the use of simulation languages to solve a specific task (grade P). The overall students@ activity during the semester will be also considered (grade A). The final grade is the weighted mean of the five grades mentioned above. The final grade = 40%E + 30%S + 20%P + 10%A. Successful passing of the exam is conditioned by the final grade that has to be at least 5.
All university official rules with respect to students@ attendance of academic activities, as well as to cheating and plagiarism, are valid and enforced. Successful passing of the exam is conditioned by grade E to be at least 5. The webpage of the course is http://www.cs.ubbcluj.ro/~hfpop/ls |
Links: | Syllabus for all subjects Romanian version for this subject Rtf format for this subject |