Academic year 2014-15
Simulation of Networks and Systems
Degree: | Code: | Type: |
Bachelor's Degree in Computer Science | 22627 | Optional subject |
Bachelor's Degree in Telematics Engineering | 21733 | Compulsory subject, 3rd year |
Bachelor's Degree in Audiovisual Systems Engineering | 22655 | Optional subject |
ECTS credits: | 4 | Workload: | 100 hours | Trimester: | 1st |
Department: | Dept. of Information and Communication Technologies |
Coordinator: | Dolors Sala |
Teaching staff: | Dolors Sala |
Language: | English/Catalan |
Timetable: | |
Building: | Communication campus - Poblenou |
This course focuses on the methodology on modeling and simulation with the objective to do studies of systems and networks before building them. These studies are widely used by the industry as an evaluation tool of a new system before starting it, so that to reduce de risk and target investments before doing them. Thus, it is very important to design simulations with the necessary processes to produce valid and accurate as demanded by the system to evaluate. There are custom-made packages in the fields that simulations are very common. This can provide a shorter time to produce initial evaluations of existing systems. However this cannot provide support for design of new systems and hence there are situations where it is more appropriate to build a program from scratch. Hence the course covers both approaches building programs in c as well as using the network simulator ns2. It also includes the study of queuing theory basics to provide theoretical results to match particular points of the simulation results. This validates specific points of the simulation and increases the credibility of the overall results.
It is important that the student has basic programming skills, compilation, execution, program editing, etc.
The course does not require sophisticate networking background, however most examples are networking examples. Thus, basic knowledge in networking, although is not required, is advisable as it will be helpful to understand better the examples and better interpret the results.
Based on we recommend the student to take this course after taking the following courses:
Laboratori de Xarxes i Serveis The analyzed concepts of this course are useful in problem solving by the industry and also in future courses of the degree.
Learning objectives
In this course, students should learn the methodology of modeling and simulation systems and learn how to apply it building own simulation programs in c or using a simulation package (ns2). The learning process is guided using as example networking problems.
The student will also program and use analytical results to validate the produced simulations.
The competencies to acquire in this course are:
Specific Competencies |
|
C1 |
Know how to analyze a real system (or network) at the detail appropriate detail level according to the particular study to be done by the system |
C2 |
Know the necessary processes for the simulation of telecommunication systems |
C3 |
Understand how the time-driven and event-driven simulation works and know how to apply them in the corresponding situations |
C4 |
Know how to analyze and use the simulation package ns-2 (at the tcl level) |
C5 |
Understand the stochastic processes involved in a system and know how to define them in a simulation |
C6 |
Know how to design simulation programs in high level languages (c) and in simulation packages (ns2) |
C7 |
Know how to analyze the precision and accuracy of the produces simulations in order to produce statistically correct results |
C8 |
Know how to define a simulation for a quantitative and qualitative study of the system it models |
C9 |
Know the metrics involved in the performance study of protocols and networks and know how to apply them |
General Competencies |
|
Instrumentals |
|
C10 |
Abstraction Capacity |
C11 |
Capacity of analysis and synthesis |
C12 |
Capacity to apply acquired knowledge in the analysis of situations and in solving problems |
Interpersonal |
|
C13 |
Capacity to work in a team |
Sistemàtica |
|
C14 |
Initiative |
The course evaluation is based on continuous evaluation during the quarter and there is a final exam evaluation too. The evaluation mechanisms are:
The final course grade is computed as follows:
Evaluation |
|
|
M: Mid-term exam |
10% |
No option to recover |
F: Final Exam ( >= 4.0 required) |
35% |
Can be recovered |
SP: Seminar+Lab reports (5 reports, each must have a grade >= 4 ) (1) |
55% |
No option to recover |
(1) The seminar report must be submitted before the corresponding lab session to have a grade for this SP unit. Each of the 5 SP grades must be 4 or higher to count. If submissions are late the grade is modulated according to calculation given above.
|
The final grade computation is:Final Grade = 0.55 * SP + 0.1 * M + 0.35 * F if SP and F are at least 4 or higher
IMPORTANT: plagiarism in any submission is a reason to fail the course in addition to take additional disciplinary actions.
Recovering: It is an exam in July. In this case the maximum course grade is limited to 6.5. The grade of this exam (R) replaces the F grade in equation above and keeps all the other grades equal (assuming SP is at least 4). Again, R must be at least 4 to compute final grade and pass the course.
The final recovering grade is computed as:
Final Grade: MIN( 6.5, 0.55 * SP + 0.1 * M + 0.35 * R) where R is the grade of recovering exam and both SP and R must be at least 4 or higher
This course has 8 chapters grouped in 4 content blocks:
Block 1. Principles of system simulation
Chapter 1: Principles and concepts of discrete simulation
Chapter 2: Basic queuing Models
Chapter 3: Random number generators
Chapter 4: System Load and Distribution Functions
Block 2. The network simulator ns-2
Chapter 5: Introduction to the network simulator ns-2
Block 3. Principles of simulation validation and interpretation
Chapter 6: Techniques of the generation of statistically correct results
Chapter 7: Tools for the simulation validation and exploitation
Block 4. Simulation case study of telephony systems and network protocols
Chapter 8: Case study in network simulation
The first bloc includes the methodology to build models and simulations producing statistically correct results so that to be able to reach conclusions on the system behavior. This includes the time-driven and event-driven simulations, the analysis of random number generators, and the implementation of distribution functions to create packet generators and stochastic time series needed for the simulation.
The second bloc includes learning the network simulator ns2 which is used as a network specific simulation package in the course together with simulation programs built in c. Hence, this block has a presentation session describing the package and features and the rest is integrated in the examples and expositions of other content blocks.
The third block includes the execution processes to produce statistically correct results and the validation and interpretation principles providing simulation techniques that help in the validation and credibility of the results. It also includes good practices in the organization and presentation of results to better interpret them.
The fourth bloc includes the network specific content of the course. This content is primarily integrated in the examples of other blocks but it dedicates a final example to apply all course content in a complete study of a particular networking functionality with different alternatives to evaluate including the decision making to select one with the presentation of the results that justifies the decision.
The following knowledge is accomplished with this content:
Concepts |
||
Time-driven and event-driven simulation |
Assumptions document |
|
|
Queuing models MM1, MD1, MMC |
Phases of a simulation (transient and steady state) |
Law of large numbers |
Little’s law |
Random number generator and seed |
Confidence interval |
Performance Metrics of a system |
Simulation workload types |
Traces |
Monitors |
Histograms and results plots |
Simulation scripts |
Sensitivity analysis |
NS2 simulation package (package library and compiler, scripts, animation, networking modules) |
Processes |
Event management in an event-driven simulation |
Time management in a time-driven simulation |
Theoretical computation of queuing systems and corresponding verification process by simulation |
Approximation of queuing theory results to telephony systems and network dimensioning concepts |
Packet generators following a distribution function |
Simulation termination process |
Hypothesis test |
Acceptance-rejection method |
Generic process to build simulations in ns2 using the provided modules |
Results validation by comparison |
Trace generation for the validation and study of the simulation |
Plot generation to represent and interpret simulation results |
Replicability of results for verification |
Attitudes |
Capacity to observe and abstract from the reality the relevant to create accurate models and capacity to discard the unnecessary details |
Interest for the precision and patience to accomplish it |
Initiative to produce own software to validate assumptions as necessary |
Decision to learn new software that provides the necessary properties to model and simulation systems, or to manipulate data to produce performance plots or to generate scripts to produce massive executions |
Ability to organize and structure massive data of replicated executions |
Initiative and creativity to establish good validation mechanisms |
Capacity to link different executions to automate the process to generate simulation results linking all processes involved |
The course has as objective to understand and know how to apply the system simulation methodology in general and it applies it to networking examples as case studies. The objective is to accomplish a good knowledge of theoretical concepts and know how to apply in practice. Hence the course focuses both seminars and lab sessions to practical exercises of theory concepts using programs build in c as well as a networking simulation package (ns2), and other software to compute and visualize results (matlab/octave, excel,…).
The course activities are structure in the following session types:
Theory sessions
In these sessions the theory concepts of the subjects are introduced. These are 2 hour sessions with all students in a unique theory group T1.
The instructor explains the concepts using slides, PC and projector as well as in the board. The slides are used as presentation material for the instructor and can be used as material for study together with notes taken in class and reference bibliography of the content. The slides are not complete enough to be used as exclusive material to study.
The analyzed concepts in these sessions set the basis content for the seminar and lab sessions.
Seminar and Lab sessions
In these sessions the concepts are put in practice.
The lab sessions are with all students having one lab group P11. The students work in teams of 2 or 3 to execute the lab assignments. The seminars have half of the students defining two seminar groups S111 and S112. All seminar and lab sessions are 2 hours long and are done with students in front of a computer in the computer classrooms.
The seminar sessions address activities that require previous practice of concepts before a full implementation or activities that requires more interactivity from students as they are done in smaller group settings. The lab sessions focuses in more intensive programming activities and independent work. Both types of sessions are guided by handouts that direct the learning activities during the sessions. The lessons learned are materialized in particular questions to answer in the handouts that students submit. The seminar and practice handouts may be the same continuing from one session to the next or different handouts depending on the session. The seminar questions can be more conceptual understanding of concepts while lab outputs may be more programs or data results. The submission of the seminar handout must be submitted before the corresponding lab session to ensure that the early study of the subject is done prior to the lab session. The seminar and corresponding lab submissions will be graded together regardless if they are two different handouts as they provide a single learning unit. The grade percentage of each part is specified in each handout.
The contents put in practice in the seminar and lab sessions are as follows:
Basic Bibliography
Complementary Bibliography
Addicional Materials