Studiengänge

Informatik, Ingenieurinformatik, Wirtschaftsinformatik

Bemerkung: Es gibt keine Beschränkung auf einen Studiengang von unserer Seite. Wenn Ihnen Ihr Prüfungsamt dieses Projektseminar anrechnet, dann sind Sie herzlich willkommen.


Betreuer

M. Sc. Jan Stoyke


Einschreibung, Termine und Ort

Am 14.04.2023 um 13:00 Uhr im Raum Z 2073 wird es eine kurze Einführungsveranstaltung geben:

In der Einführungsveranstaltung wird auf die Motivation sowie den Ablauf des Projektseminars eingegangen. Eine Teilnahme ist für den weiteren Verlauf des Seminars allerdings nicht zwingend, die wichtigsten Details sind auch auf dieser Seite und im Moodle-Kurs zusammengefasst. Sollten Sie nicht an der Einführungsveranstaltung teilnehmen, melden Sie Ihr Interesse aber bitte vorher bei Herrn Jan Stoyke an, z.B. per Mail.

Die ersten Versuche finden ebenfalls Remote statt, Details zum Ablauf finden Sie zudem im Moodle-Kurs (kein Einschreibeschlüssel nötig).


Inhalt

Simulation ist ein wichtiges Instrument bei dem Entwurf und der Bewertung von Kommunikationsprotokollen, da das Protokollverhalten und kritische Leistungskenngrößen oft nicht mit anderen Techniken vor einer großflächigen Einführung eines Protokolls adäquat bewertet werden können. In diesem Projektseminar sollen grundlegende Protokollmechanismen wie Paketweiterleitung, Routing, Fehlerkontrolle sowie Fluss- und Staukontrolle simulativ erprobt werden, sodass die wesentlichen im Internet zum Einsatz kommenden Konzepte anschaulich erfahren und experimentell untersucht werden können. Die Programierung erfolgt hierbei mit dem Open-Source-Werkzeug OMNeT++ in der Programmiersprache C++ (grundlegende Vorkenntnisse in Java sollten bei entsprechender Bereitschaft zum Erlernen von C++ ausreichend sein).


Empfehlung

Wir empfehlen Ihnen dieses Seminar frühestens im 2. FS durchzuführen, sodass Kenntnisse aus den Vorlesungen "Algorithmen und Programmierung" sowie "Telematik 1" (ein paralleles Besuchen erfüllt ebenfalls die Voraussetzungen) vorhanden sind. Falls Sie dieses Seminar ohne jegliche Grundkenntnisse in C++ durchführen so planen Sie bitte im Vorfeld mehr Zeit zur Bearbeitung der Aufgaben, sowie zum Erlernen der Programmiersprache ein. Die Vorbereitungszeit für jedes Seminar kann mit etwa einer Stunde angesetzt werden.

Zu Beginn des ersten Seminars sind Grundkenntnisse zur Simulationstechnik und der eingesetzten Werkzeuge unbedingt notwendig. Zur Aneignung dieser Kenntnisse soll das auf dieser Seite angegebene Selbststudienmaterial dienen. Für das erste Seminar ist das gesamte Material (ausgenommen Chapter 5: Obtaining Data) relevant. Ein zusätzlicher Besuch der Vorlesung "Telematik2/Leistungsbewertung" ergibt zudem Synergieeffekte beim Lernen, da dort die Konzepte der Simulation und die im Projektseminar verwendeten Werkzeuge ausführlich behandelt werden. Dies ist unabhänging von der Reihenfolge, Sie können also auch erst das Projektseminar durchführen und später oder parallel die Vorlesung besuchen.


Arbeitsumgebung

Anleitung zur Installation als PDF: Deutsch English


Themen

PDF-File

 

Inhalt

 

 

Projekt 1

 

Die Simulationsumgebung, Einstieg

 

 

Projekt 2

 

Forwarding, Shortest Path Routing, Metriken

 

 

Projekt 3

 

Random Routing, Backward Learning, Flooding

 

 

Projekt 4

 

Distance Vector Routing

 

 

Projekt 5

 

Link State Routing, Dijkstra

 

 

Projekt 6

 

FIFO-Queue, Messung statistischer Größen

 

 

Projekt 7

 

Transientenerkennung, Konfidenzintervalle,

 

 

Projekt 8

 

ARQ Send and Wait

 

 

Projekt 9

 

Go Back N

 

 

Projekt 10

 

Verbindungsauf- und -abbau

 

 

Projekt 11

 

Zustandsmaschine und Go Back N, Flusskontrolle

 

 

Projekt 12

 

Staukontrolle

 

 


Literatur

[Wolf09]

 

Jürgen Wolf. C++ von A bis Z. 2009. Galileo Press

[WGG10]

 

K. Wehrle, M. Günes, J. Gross. Modelling and Tools for Network Simulation. Springer Berlin Heidelberg, 1st Edition, 2010.

[SVN11]

 

http://svnbook.red-bean.com/nightly/de/svn-book.pdf

[Tan10]

 

A.S. Tanenbaum. Computer Networks. 5th edition, Prentice Hall, 2010.
Eines der meistgelesenen Standardlehrbücher zu Rechnernetzen.

[Var11]

 

A. Varga. OMNeT++: Object-Oriented Discrete Event Simulator. http://www.omnetpp.org/
Die offizielle Web-Seite zu OMNeT++. Enthält Links zum Download der Software sowie des Referenzhandbuchs (User Manual, API Documentation).

 

Selbststudienmaterial

File

 

Content

 

Relevant for

01_Intro

 

Simulation Introduction

 

All projects

02_C++

 

Java to C++ Primer

 

All projects, especially if you are new to C++

03_OMNeT++

 

Introduction to OMNeT++⁽¹⁾

 

All projects

04_Protsim

 

Overview of the Protsim Framework

 

All projects

05_ObtainingData

 

Obtaining Data from Simulations & Short Probability Primer

 

Projects 6 - 12

CppTutorial

 

Java to C++ Transition Tutorial

 

All projects, especially if you are new to C++

(1) Während die Grundkonzepte von OMNeT++ gleichbleiben, unterliegt die genaue Syntax (z.B. von *.ned und *.msg Dateien) Veränderungen. Daher wird die aktuellste Version der Dokumentation sowie der API das gesamte Projektseminar über Ihr Freund sein :)

 

Abschluss

Die erfolgreiche Teilnahme an der Lehrveranstaltung wird durch eine regelmäßige Abnahme der zu erstellenden Simulationsprogramme und abzugebenden Projektprotokolle erfolgen. Eine regelmäßige Teilnahme an der Veranstaltung ist hierfür eine notwendige Voraussetzung. Zu jedem Projektseminar gehört eine gründliche Vorbereitung und die Lösung der Vorbereitungsaufgaben. Wir behalten uns vor, dies durch mündliche Rücksprachen zu überprüfen.

Am Ende des Semesters wird es eine mündliche Prüfung geben, in dem die endgültige Note festgelegt wird, welche sich aus den Leistungen im Seminar und den Leistungen der Prüfung zusammensetzt (50/50).