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

 

Introduction

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.

 

Prerequisites

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.

 

Associated competences

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

 

Assessment

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

 

Contents

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

 

Methodology

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:

 

Resources

Basic Bibliography

Complementary Bibliography

Addicional Materials