Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Master

SUBJECT

Code
Subject
MID1022 Simulation Languages
Section
Semester
Hours: C+S+L
Category
Type
Modeling and Simulation - in English
2
2+0+2
speciality
compulsory
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