Universität Basel Departement Mathematik und Informatik Dozenten Christian Tschudin Internet-Technologien CS262 christian.tschudin@unibas.ch FS2015 Übungsblatt 4 Assistenten Christopher Scherb Urs Schnurrenberger christopher.scherb@unibas.ch urs.schnurrenberger@unibas.ch Tutoren Maarten Schenk Ausgegeben am 31.03.2015 maarten.schenk@unibas.ch Rückgabe bis 21.04.2015 auf http://courses.cs.unibas.ch Anforderungen Die Lösungen müssen wie immer in der Übungsstunde vorgeführt und erklärt werden. Auch diesmal wird die Lösung als PDF- oder Textatei und die Quelldateien erwartet. Aufgabe 1 – Alternating-Bit Protocol (6 Punkte) Ziel dieser Übung ist es, ein reliable data transfer protocol, auch bekannt als alternating-bit protocol mit Hilfe von Promela zu modellieren. Der Zustandsautomat des alternating-bit protocol ist weiter unten gegeben. Diese Aufgabe baut auf dem rdt 3.0 Beispiel in Kapitel 3.4 aus dem in der Vorlesung referenzierten Buch auf. Allerdings unterscheidet sich der hier gegebene Zustandsautomat von dem im Buch. Wir nehmen an, dass Pakete nicht korrupiert werden können, packet-loss kann aber weitherhin vorkommen. Ausserdem ist die Anwendungsschicht immer bereit, Pakete zu senden und zu empfangen. Das rdt 1.0 Protokoll wurde bereits in der Vorlesung besprochen und auf der CS262 Website könnt ihr ein paar Beispiele runterladen. Von dieser Basis ausgehend sollten Sie das alternating-bit protocol implementieren. Details • Implementieren Sie das alternating-bit protocol basierend auf der vorgegebenen Zustandsmaschine. • Die Anwendungsschicht sendet und empfängt Daten, die mit modulo MAXSEQ, MAXSEQ=16 numeriert werden. • Wenn keine andere Aktion mehr möglich ist, soll ein timeout ausgelöst werden. • Benutzen Sie SPIN, um die Korrekheit ihrer Spezifikation zu überprüfen. Erklären Sie, wie Sie die Korrektheit ihrer Spezifikation überprüft haben (da Ihr Code noch getestet wird, erläutern Sie bitte, was ein Tester tun sollte, um Ihre Spez ifikation zu validieren). Der Zustandsautomat (ZA) • Ein Pfeil im ZA repräsentiert eine Transition. Das Ereignis, das die Transition auslöst, steht oberhalb des Pfeils, die korrespondierende Aktion unterhalb. Universität Basel Departement Mathematik und Informatik Internet-Technologien CS262 FS2015 Übungsblatt 4 Figure 1: Alternating bit protocol Zustandsautomat. • Die Funktionen get_data und deliver_data werden zur Kommunikation mit der Anwendungsschicht verwendet. • Die Funktionen pkt_send und pkt_rcv werden für den Datenaustausch mit dem Übertragungskanal verwendet.
© Copyright 2024