Überspringe Navigation

AjentNetzwerk

autonomous java-based egg in networks known as tamagotchi

Bild der Benutzerschnittstelle
Ein kleines Praktikum im WS2002/03 am Lehrstuhl 6 externer Link der Informatik der Universität Würzburg.

Projektbeschreibung

Es sollte eine netzwerkbasierte Implementierung eines Tamagotchi (bzw. mehrerer) erstellt werden. Die einzelnen Tamagotchi - bei uns Ajenten genannt - sollten entsprechend selbstgefällten Entscheidungen zwischen im Netzwerk integrierten Rechnern hin und her wechseln können. Ferner sollten sie untereinander und mit dem jeweiligen Benutzer interagieren können. Diese Interaktionen verändern den Zustand des Ajenten, der wiederumg basierend auf diesem Zustand Entscheidungen fällt.

Das Netzwerk entsteht durch Starten eines Plattform-Moduls - bei uns Platform genannt-, das sowohl die Netzwerkverbindungen herstellt als auch die Schnittstelle für die Interaktionen der Ajenten bereitstellt (GUI, Ajentverwaltung).

Das Netzwerk ist dezentral organisiert. Entweder befinden sich im Subnetz schon weitere Ajent-Platformen, die sich auf Broadcasts einer neuen Platform hin melden, oder es muss eine IP einer bekannten (ausserhalb des Subnetzes liegenden) Platform angegeben werden.

Weiterhin sollen die Ajenten Aufgaben für den Benutzer erledigen können. Wird vom Benutzer die Erledigung einer Aufgabe - bisher das Verschicken von Textnachrichten - so wird zu erst die Bereitschaft der ansässigen Ajenten ermittelt, Aufgaben zu erledigen. Aus den besten drei Angeboten wird dann zufällig ein Ajent gewählt. Zum Übermitteln der Textnachricht an anderen Benutzer im AjentNetzwerk verlässt dieser Ajent dann die Platform und wechselt zu einer Platform, an der ein Empfänger-Benutzer sitzt.

Nach Erledigen einer Aufgabe wird der jeweilige Ajent für seine Arbeit in Form von Futter belohnt. Dies wirkt sich indirekt auf seine Gesundheit aus. Zur Speicherung der Ajent auf Festplatte - wenn die Platform beendet wird -, oder zum Verschicken über eine Netzwerkverbindung wird der Ajent in XML kodiert.

Die Interaktionen zwischen Ajenten sind

Das System erzeugt also mehr oder weniger automatisch neue Ajenten. Deren Eigenschaften leiten sich von denen der beiden Elternteile ab.

Die Interaktionen mit dem Benutzer umfassen

Das Entwicklerteam

Betreuerin