direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Logo der TU Berlin

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.

  1. 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
  2. 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
  3. 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.
  4. 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.
  5. 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

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!
  • Weitere Informationen zum Modul (MINF-KT-ASE.W07)
  • Ansprechpartner

    Benjamin Hirsch