
Prof. Dr.-Ing. Günter Schäfer
Fachgebietsleiter
Technische Universität Ilmenau
Fakultät für Informatik und Automatisierung
Institut für Praktische Informatik und Medieninformatik
Fachgebiet Telematik/Rechnernetze
Helmholtzplatz 5
98693 Ilmenau
Zusebau, Raum 3042
Tel.: +49 3677 69-4574
Informatik, Ingenieurinformatik, Wirtschaftsinformatik
(Es gibt keine Beschränkung auf einen Studiengang von unserer Seite. Wenn Ihnen ihr Prüfungsamt dieses Projektseminar anrechnet, dann sind Sie herzlich willkommen.)
Sollte Interesse an der Teilnahme bestehen, melden Sie sich idealerweise bis zum 07.04.2020 (spätestens bis 20.04.2020) per Mail an David Schatz (david.schatz[at]tu-ilmenau.de).
Weiterhin wird es am 08.04.2020 um 17:00 eine kurze Einführungsveranstaltung per Videokonferenz geben (Details zur Einwahl werden den Interessenten persönlich mitgeteilt). 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 zudem auf dieser Seite zusammengefasst.
Die ersten Versuche (bis mindestens zum 03.05.2020) finden ebenfalls Remote statt, siehe Details zum Ablauf weiter unten.
Eine Verbindliche Einschreibung erfolgt ab dem 04.05.2020.
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, so dass 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).
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. Zusätzlich ist es hilfreich die Vorlesung Telematik2/Leistungsbewertung gehört zu haben, da dort die Konzepte der Simulation und die im Projektseminar verwendeten Werkzeuge ausführlich behandelt werden.
Die Lösungen der Vorbereitungsaufgaben müssen jeweils einen Tag vor dem Labortermin (bis 24 Uhr) als PDF im Moodle-Kurs abgegeben werden. Die Lösungen der praktischen Aufgaben werden vor Ort besprochen und sind ggf. nach Rücksprache ebenfalls im Moodle abzugeben.
Während den ersten Wochen sind die Vorbereitungsaufgaben jeweils bis Montag (24 Uhr) in der angegebenen Woche abzugeben. Für die Bearbeitung zu Hause sowie Rücksprachen mit dem Betreuer sind Dienstag - Donnerstag vorgesehen. Eine Abgabe der gelösten praktischen Aufgaben muss bis Donnerstag (24 Uhr) erfolgen. Nähere Details für die Kommunikation mit dem Betreuer werden mit den Teilnehmern vereinbart.
Um die Materialien auszuchecken, benötigen Sie SVN Software auf Ihrem Rechner. Unter Debian/Ubuntu genügt dazu die Eingabe des Befehls "sudo apt-get install subversion" auf der Kommandozeile; hierfür benötigen Sie Administratorrechte. Unter OSX können Sie z.B. das Tool "svnX" benutzen (grafisch). Anschließend führen Sie in Ihrem Benutzerverzeichnis den folgenden Befehl aus:
svn co telsv3.prakinf.tu-ilmenau.de/svn/Projekte/protsim --username=svnuser
Die Zugangsdaten erhalten Sie von Ihrem Betreuer. Machen Sie sich mit dem Inhalt des herunter geladenen Ordners vertraut. Hier finden Sie auch die Aufgabenblätter in Deutsch und Englisch. Eine Dokumentation zu Subversion finden sie unter [SVN11].
Anleitung zur Installation als PDF: Deutsch English
| PDF-File | Inhalt | Seminartermin | ||
|---|---|---|---|---|
| Projekt 1 | Die Simulationsumgebung, Einstieg | KW17, remote | ||
| Projekt 2 | Forwarding, Shortest Path Routing, Metriken | KW18, remote | ||
| Projekt 3 | Random Routing, Backward Learning, Flooding | KW19, remote | ||
| Projekt 4 | Distance Vector Routing | TBA | ||
| Projekt 5 | Link State Routing, Dijkstra | TBA | ||
| Projekt 6 | FIFO-Queue, Messung statistischer Größen | TBA | ||
| Projekt 7 | Transientenerkennung, Konfidenzintervalle, | TBA | ||
| Projekt 8 | ARQ Send and Wait | TBA | ||
| Projekt 9 | Go Back N | TBA | ||
| Projekt 10 | Verbindungsauf- und -abbau | TBA | ||
| Projekt 11 | Zustandsmaschine und Go Back N, Flusskontrolle | TBA | ||
| Projekt 12 | Staukontrolle | TBA | ||
| Zusatztermine | bei Bedarf |
Sie können alle Versuche remote auf unseren PCs im Rechnerpool durchführen und müssen sich deshalb keine Software installieren um die Aufgaben zu bearbeiten.
[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). |
| 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++ |
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 ein 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).