Hauptstudiumsprojekt im WiSe 2003/2004

18.331 Agentenorientierte Softwareentwicklung

   Michael Duvigneau, Daniel Moldt, Jan Ortmann und Heiko Rölke

6st. Fr 10 - 15 C-104 und nach Vereinbarung
Lernziel:
Die Teilnehmer und Teilnehmerinnen sollen lernen, ein Projekt mit einem konkreten Ziel durchzuführen. Dabei wird die Teamarbeit in Kleingruppen geübt. Inhaltlich sollen die Teilnehmer(innen) die Grundlagen der Agentorientierung kennen lernen. Die Arbeitsziele des Projekts bestehen neben der Entwicklung der konkreten Anwendungen darin, allgemeine, für die Agentenorientierung verwendbare Erweiterungen für Renew zu entwickeln.
Als theoretische Konzepte sollen höhere Petrinetze vertieft und insbesondere objekt- und agentenorientierte Erweiterungen kennengelernt werden.
Inhalt:
Agentenorientierung gehört zu den bedeutendsten aktuellen Forschungströmungen der Informatik. Sowohl objektorientierte als auch aus dem Bereich der Verteilten Künstlichen Intelligenz (VKI) stammende Konzepte werden hier vereinigt. Die bisher stark vernachlässigte Integration der Softwaretechnik und der Künstlichen Intelligenz (KI) benötigt dringend angemessene theoretische und praktische Fundierung.
Ziel ist es, eine überschaubare verteilte Anwendung agentenorientiert zu entwickeln. Dabei soll das Gebiet der Agentenorientierung als Fortführung der Objektorientierung verstanden werden. Als Werkzeuge werden der Petrinetzeditor und -simulator Renew und verschiedene Erweiterungen verwendet. Bei Interesse seitens der Teilnehmer können auch alternative Agentenplattformen und -entwicklungsumgebungen (FIPA-OS, Jade, o.ä.) eingesetzt werden.
Als Beispiel wird ein bekanntes Brettspiel gewählt. Dabei werden die Erfahrungen und Implementierungen aus früheren Projekten als Ausgangspunkt herangezogen. Das Spiel lehnt sich an "Die Siedler von Catan" an. Generelles Szenario ist somit ein Siedel-Spiel, in dem typische Agentenkonzepte vorkommen: Autonomie, Mobilität, Adaptivität, Intelligenz, Interaktion (speziell in Form von Verhandlungen), Strategien, Ressourcenverwaltung, und -planung, Zielverfolgung, etc.
Stell. im Studienplan:
Hauptstudium, Vertiefungsgebiete A1, A2, A4, P1, P2, P3, P4, Th1, Th2, Th3, Th4; Schwerpunkte IM, INE, OSE, SEM, VIS, WV
Voraussetzungen:
Hauptstudium, programmiersprachliche Grundkenntnisse (Java oder Prolog), Grundwissen zu Petrinetzen
Vorgehen:
Eine Einführung in die Agentenorientierung wird zu Beginn durch die Veranstalter gegeben. Anschließend wird als Anwendung das Siedelspiel erläutert. In Abhängigkeit von den Vorkenntnissen der Teilnehmer(innen) werden die benötigten Werkzeuge vorgestellt. In Kleingruppen werden unterschiedliche Aspekte des Agentensystems bearbeitet, dabei werden die bereits vorhandenen Ergebnisse der Vorjahresprojekte wiederverwendet.

Die zentralen Konzepte der Agentenorientierung werden gezielt zur Strukturierung des Siedelspiels als Beispiel eingesetzt. Dabei sollen die Möglichkeiten der Werkzeuge gezielt für ein Rapid-Prototyping Verfahren eingesetzt werden. Es wird dem Vorgehen "Programmierung durch Modellierung" gefolgt. Das bedeutet eine nahtlose Integration von Spezifikationsmodellen mit den letztendlich laufenden Programmen. Während des Semesters sollen verschiedene lauffähige Prototypen erstellt, präsentiert und gespielt werden.

Diese Veranstaltung ist Bestandteil des semesterübergreifenden Forschungsprojekts "Agentenorientierung". Im Rahmen des Forschungsprojektes bestehen zahlreiche Möglichkeiten zur Anfertigung von Studien-, Bachelor- und Diplomarbeiten.

Literatur:
wird in der Veranstaltung bekanntgegeben.
Periodizität:
unregelmäßig
Eignung:
Geeignet für Bioinformatikstudierende, Wirtschaftsinformatikstudierende. Bedingt geeignet für Lehramtsstudierende, Nebenfachstudierende.
Stichworte:
Agenten, Implementation, Petrinetze, Spezifikation, Verteilte Systeme, Agentenorientierung, verteilte Anwendungen, Sozionik, Multiagentensysteme, Agententechnologie