Additional Content
Main Content
Software-Entwicklung für Sichere Verteilte Systeme
Übung
Dozent: Ewan Fleischmann
Termine:
Übung: Donnerstags von 17:00 Uhr - 18:30 Uhr in der Bauhausstraße 11, Seminarraum 013 ab dem 16.04.2009
Zielgruppe:
Mediensysteme Master
Übungsblätter:
- Blatt 1 (Besprechung 16.04.2009)
- Blatt 2 (Besprechung 30.04.2009)
- schl_solange.adb - Blatt 3 (Besprechung und Abgabe 14.05.2009)
- aufgabe1+2.zip
- testgen.zip (Anleitung)
- aufgabe5.zip - Blatt 4 (Besprechung und Abgabe 28.05.2009)
- Blatt 5 (Besprechung und Abgabe 11.06.2009)
- Blatt 6 (Besprechung und Abgabe 25.06.2009)
Die Mini-Projekte von Blatt 6 (Präsentation am 25.06.2009)
- Mini-Projekt VI: Bearbeite 3 Aufgaben aus 15.1 - 15.4 (J. English). Zur Präsentation bitte auch ein paar Folien vorbereiten.
- Mini-Projekt VII: Bearbeite 3 Aufgaben aus 17.1 - 17.4 (J. English). Dazu ist es nötig die Sources von Kapitel 13 zu übernehmen. Zur Vorstellung bitte ein paar Folien dazu wie genau dieser "Taschenrechner" funktioniert, da die Funktionsweise bei aktuellen Taschenrechnern identisch ist. (Update: BEREITS VERGEBEN)
- Hinweis: Das Mini-Projekt IV ist noch verfügbar. (Update: BEREITS VERGEBEN) - Blatt 7 wird es nicht geben :-)
Programm für die Übung am 09.07. ist a) Vorstellung Mini-Projekte, b) Race-Conditions, c) Synchronisation in verteilten Systemen, d) Vorstellung des (nicht verpflichtenden) Semester(ferien) Projektes und e) Fragen (von eurer Seite) zur mündlichen Prüfung.
Mini-Projekte von Blatt 7:
- Mini-Projekt VIII: 3 Aufgaben aus 7.1 bis 7.4 aus John English Ada 95
- Mini-Projekt IX: Exercise 16.2 und 16.5 aus John Barnes Ada 2005
- Mini-Projekt X: Exercise 18.8 und 18.9 aus John Barnes Ada 2005
ACHTUNG: VOR(!!) der Bearbeitung anmelden, jedes Projekt wird hier maximal 3x vergeben
Hinweis: John Barnes Ada 2005 ist in ausreichender Menge in der Lehrbuchsammlung vorhanden.
(Bitte vorab per Mail anmelden, da Projekte nur maximal 2x vergeben werden.) - Semesterprojekt (Abgabe bis 15.09.2009 per eMail):
Lade dir den Spark GPL Compiler von
libre.adacore.com/libre/tools/spark-gpl-edition/
herunter und installiere ihn.
Bearbeite dazu die folgende Aufgabe:
Schreibe ein einfaches Programm für eine Wahlmaschine in Spark (d.h. inklusive aller notwendigen Vor- und Nachbedingungen für den Prover). Dazu ist eine Liste von Kandidaten im Programmcode vorhanden. Beim Start des Programms wird eine Datei mit TAN-Nummern eingelesen. Das Wahlprogramm stellt sicher, dass jede TAN-Nummer genau einmal vorkommt, ansonsten wird ein Fehler ausgegeben und das Programm beendet.
Der Wahlablauf ist wie folgt. Der Wähler erhält eine zufällige TAN-Nummer (z.B. aus einer Lostrommel) bei der Wahlregistierung. Damit geht er zur Wahlmaschine und gibt seine TAN-Nummer ein. Wenn diese korrekt ist, dann streicht der Wahlcomputer die TAN-Nummer aus seiner Liste und gibt den Wähler eine Liste der möglichen Kandidaten aus. Der Wähler gibt den Namen bzw. Nummer des gewünschten Kandidaten ein. Der Wahlcomputer zählt die Stimme, löscht den Bildschirm und erwartet die nächste TAN-Nummer von einem Wähler.
Zum Beenden des Programms muss ein Nutzer eine (im Programmcode vorab festgelegtes) Passwort eingeben. Zum Beenden ist eine Mindestanzahl von insgesamt 10 Wählerstimmen nötig.
Bei erfolgreicher Beendigung gibt das Wahlprogramm das Wahlergebnis aus.
Eventuelle "Lücken" in dieser Beschreibung sind gewünscht. Ihr solltet diese mögichst sinnvoll und dem Kontext entsprechend. schließen.
Weitere Materialien aus der Übung:
- Robust Programming
- Safety, Security and Object-Oriented Programming
- Exposing Uninitialized Variables: Strengthening and Extending Run-Time Checks in Ada
Mini-Projekte:
Beginnend ab dem 3. Übungsblatt werden jede Woche ein oder mehrere Mini-Projekte ausgegeben. Das sind Gruppenaufgaben (für maximal 2 Studenten) die jeweils zu lösen und abzugeben sind. Jeder Student muss an mindestens 2 solcher Mini-Projekte erfolgreich teilgenommen haben um an der Prüfung teilnehmen zu dürfen. Ein Mini-Projekt zählt dann als erfolgreich, wenn es (i) vollständig bearbeitet wurde, (ii) eine Kurzpräsentation während der Übung stattgefunden hat und (iii) der Source-Code per EMail an den Übungsleiter spätestens zum jeweiligen Übungstermin abgegeben worden ist. ACHTUNG: Die Teilnahme muss per EMail angemeldet werden! (bis spätestens Dienstag vor der Übung).
Semesterprojekt:
Zusätzlich zu den verpflichtenden Mini-Projekten wird es ab Anfang Juni eine etwas umfangreichere Aufgabenstellungen geben die (auch wieder in Gruppen mit maximal 2 Studenten) zu bearbeiten ist. Diese Bearbeitung ist freiwillig. Bei entsprechendem Erfolg lässt sich damit ein Notenbonus von 1/3 oder 2/3 Notenstufen auf die Prüfung erreichen.
Weitere Informationen:
- Das Ada Programming Wikibook,
- Ada 95: The Craft of Object-Oriented Programming von John English
- Ada (Programmiersprache) in Wikipedia
- Libre Site: Freie Ada Software (unter anderem kann man dort GNAT herunterladen)
- Weitere Bücher zu Ada sind in der Lehrbuchsammlung in ausreichender Menge vorhanden (z.B. Ada 2005, John Barnes)
Content signature
© Fakultät Medien 09.07.2009 / Kontakt / Impressum / Datenschutz / Bemerkung zu dieser Seite
Die Bauhaus-Universität Weimar verwendet Piwik zur Web-Analyse.


