Vertiefung Agentenorientiertes Software-Engineering 1
Modul: | Agentenorientiertes Software-Engineering |
Semester: | Wintersemester 2007/2008 |
Art: | PJ (6 SWS / 6 LP) |
LV-Nr.: | 0435 L 746 |
Veranstalter: | Sahin Albayrak; Benjamin Hirsch |
Zeit: | Do 14-16 Uhr, ab 25.10 |
Raum: | MA 841 |
- SunSPOT (Quelle: www.sunspotworld.com)
Beschreibung
Im Projekt Agent-Oriented Software Engineering wird im Team eine komplexe Aufgabenstellung gemeinsam gelöst. Das Hauptaugenmerk liegt dabei in der Anwendung agentenbasierter Methodologien.
Ziel dieser Lehrveranstaltung ist es, aufbauend auf den Grundlagen der agentenorientierten Technologien, den Prozess der Agentenorientierten Software-Entwicklung zu vermitteln und anzuwenden. Hierbei wird die Anwendung von MicroJIAC auf SunSPOTS als Grundlage genommen um diese Methoden anzuwenden.
Im Projekt werden zunächst die grundlegenden anzuwendenden Technologien und Methoden wie Agenten, die Nutzung von Technologien wie SVN, Maven und Eclipse, sowie die SunSPOTS vorgestellt.
Die Studierenden entwickeln ein Szenario im Kontext von Spielen oder des Home Entertainments, bei der SunSPOTS zur Anwendung kommen.
Anschließend setzen die Studierenden die einzelnen Phasen des Entwicklungsprozesses zur Implementierung diesen Szenarios um.
Die Szenarien sollen sowohl Interaktion zwischen SunSPOTS als auch deren Sensoren krativ einsetzen. Eine voll ausgerüstete Heimumgebung steht den Studenten hier zur Verfügung.
Voraussetzungen
- Abgeschlossenes Vordiplom in Informatik oder einer verwandten Studienrichtung.
- Java Kenntnisse sind Voraussetzung. Kenntnisse mit Eclipse, SVN, Maven, und Java MicroEdition sind von Vorteil.
Beispiel-Szenario: Pong
Geschichte:
Dieter gibt heute eine Party und hat ein paar Freunde eingeladen. Zur Feier des Tages entschließen sie sich eine Runde Pong zu spielen. Hierzu schaltet er den großen Bildschirm ein und startet die Spielapplikation. Jeder holt nun seinen SunSPOT hervor um damit seinen virtuellen Schläger zu steuern. Nachdem sich jeder komfortabel niedergelassen hat, wird sich mit Druck auf den linken Taster des SunSPOTs am Spiel angemeldet. Dieter startet das Spiel und der Spaß kann beginnen. Jeder Spieler kann sich jederzeit ausklinken indem er wiederum den linken Taster seines SunSPOTs betätigt.
Funktionsweise:
Das Szenario wird als Multiagentensystem entwickelt. Hierbei gibt es einen Spielverwaltungs-Agenten, der auf einer JIAC-TNG Plattform läuft und Spieleragenten, die auf der microJIAC Umgebung aufsetzen.
- Alle SunSPOTs werden mit microJIAC ausgestattet, damit auf jedem SunSPOT ein Agent zur Verfügung steht. Diese Agenten rufen periodisch die Sensordaten ab und leiten diese nach einer Vorverarbeitung an den Spielverwaltungs-Agenten weiter. Folgende Sensoren werden abgefragt:
- Beschleunigungssensoren
- Taster
- Der Spielverwaltungs-Agent stellt das Spielfeld graphisch dar, koordiniert die Teilnehmer, wertet deren Sensordaten aus und aktualisiert das Spielmodell. Das Spielmodell besteht aus:
- Spielfeld
- Schläger
- Ball
- Die Kommunikation zwischen den Spieler-Agenten und dem Spielverwalter geschieht über die SunSPOT-Basisstation. Diese ist mit dem Rechner, wo der Spielverwaltungs-Agent läuft, via USB verbunden.
- Bei dem Verbindungsabbruch eines Teilnehmers bleibt dessen Schläger an der letzten bekannten Position stehen. Weiterhin wird ein Timeout ausgelöst, nach dessen Erreichen der Schläger aus dem Spiel genommen wird.
- Die Schläger werden durch vertikale und horizontale Bewegungen der SunSPOTs gesteuert.
Planung
Woche 1 / 18.10.2007
- Thema:Einführung in die Problemstellung
- Inhalte:Agenten
- Lernziel:Verständnis von Agenten
- Aufgabe: installieren von aller notwendigen Software
- Organisatorisches:
- Arbeitsgruppen festlegen
Woche 2 / 25.10.2007
- Thema: MicroJIAC
- Inhalte: Einführung in die Feinheiten von MicroJIAC
- Lernziel: Studenten sind in der Lage, MicroJIAC Programme zu schreiben
- Aufgabe: Mini-MicroJIAC Program machen
- SunSPOT Nutzung festlegen
Woche 3 / 01.11.2007
- Thema: SunSPOTS
- Inhalte: Einführung in SunSPOTS und deren Programmierung
- Lernziel: Studenten kennen die SunSPOT Möglichkeiten
- Aufgabe: Szenario definieren
Woche 4 / 08.11.2007
- Thema: SunSPOTS mit MicroJIAC
- Inhalte: Szenarien vorstellen
- Lernziel: Studenten haben eine realistische Aufgabenstellung
- Aufgabe: Analyse des Szenarios
Woche 5 / 15.11.2007
- Thema: SunSPOTS mit MicroJIAC
- Inhalte: Analyse vorstellen
- Lernziel: Analyse
- Aufgabe: Sensoren-testing auf basis der Analyse
Woche 6 / 22.11.2007
- Thema: Testing der Sensoren
- Inhalte: Sensor tests
- Lernziel: Limitationen der Sensoren kennenlernen
- Aufgabe: Analyse auf Basis der Testergebnisse verfeinern
Woche 7 / 29.11.2007
- Thema: Prototyp
- Inhalte: Vorstellung Requirements
- Lernziel:
- Aufgabe: Design des Szenarios
Woche 8 / 06.12.2007
- Thema: Prototyp
- Inhalte: Vorstellung der Designs, Anpassungen
- Lernziel:
- Aufgabe: Finalisierung der Designs
Woche 9 / 13.12.2007
- Thema: Abscluss Design
- Inhalte: Vorstellung der Designs der Gruppen
- Lernziel:
- Aufgabe: Start Implementierung
Woche 10 / 20.12.2007
- Thema: Implementierung
- Inhalte: Implementierung des Prototypen
- Lernziel:
- Aufgabe: Implementierung der Prototypen
Woche 11 / 10.01.2008
- Thema: Implementierung
- Inhalte: Implementierung des Prototypen
- Lernziel:
- Aufgabe: Implementierung der Prototypen
Woche 12 / 17.01.2008
- Thema: Implementierung
- Inhalte: Implementierung des Prototypen
- Lernziel:
- Aufgabe: Implementierung der Prototypen
Woche 13 / 24.01.2008
- Thema: Testing
- Inhalte: Testen des Prototypen
- Lernziel:
- Aufgabe: Testen und Abschluss-Bericht vorbereiten
- Organisatorisches:
Woche 14 / 31.01.2008
- Thema: Testing
- Inhalte: Testen des Prototypen
- Lernziel:
- Aufgabe: Testen und Abschluss-Bericht vorbereiten
- Organisatorisches:
Woche 15 / 07.02.2008
- Thema: Abschlussbericht
- Inhalte: Vorführung der Implementierung und Abgabe des Reports
- Lernziel: Präsentieren und erzielte Ergebnisse kompetent darstellen und verteidigen
Prüfungsmodalitäten
Diese Lehrveranstaltung kann in eine Prüfung in den Bereichen KI, KBS und WVA eingebracht werden.
Literatur
MicroJIAC
- wird noch bereitgestellt
SunSPOTS
Software Engineering
- Homepage Martin Fowler, Object-oriented Development, Refactoring, Patterns, Agile Methoden, Extreme Programming.
- Homepage Donald Firesmith, OPEN Process Framework (OPF)
Informationen zum Modul
- Dieses Modul kann sowohl von Studierenden im Diplom als auch in den Masterstudiengängen Informatik und Technische Informatik belegt werden.
- Das Modul besteht aus den zwei Projekten Agentenorientiertes Software-Engineering 1 und Agentenorientiertes Software-Engineering 2.
- Diplomstudenten können nur eines oder aber auch beide Projektbestandteile belegen. Master Studenten müssen beide belegen.
- Im Bachelor kann diese Veranstaltung nicht belegt werden!
Ansprechpartner
Copyright TU Berlin 2007