DFKIUtils FRODO AgentFramework ein kleiner Einblick FRODOianer-Sitzung am 1.3.2002.

Post on 05-Apr-2015

106 views 0 download

Transcript of DFKIUtils FRODO AgentFramework ein kleiner Einblick FRODOianer-Sitzung am 1.3.2002.

DFKIUtils

FRODO AgentFramework

ein kleiner EinblickFRODOianer-Sitzung am 1.3.2002

DFKIUtils / AgentFramework

Projektstruktur

src Sourcecode

bak Sourcecode-Backups

classes Kompilierte Klassen

apidoc Generierte Doku

doc Weitere Dokumentation

import Verwendete JAR-Files

lib Projekt-JAR-File

Apidoc-JAR-File

cfg Konfigurationsfiles

DFKIUtils / AgentFramework

JBuilder und Projekte

Importierte JAR-Files als projekt-lokale Libraries definieren Tools Configure Libraries

JAR-File erzeugenWizards Archive BuilderSourcefiles mit ins JAR-File

DFKIUtils / AgentFramework

Projekt-lokale Libraries

DFKIUtils / AgentFramework

JBuilder und Projekte

Importierte JAR-Files als projekt-lokale Libraries definieren Tools Configure Libraries

JAR-File erzeugenWizards Archive BuilderSourcefiles mit ins JAR-File

DFKIUtils / AgentFramework

JAVA-Files im Archiv

DFKIUtils / AgentFramework

Übersicht

DFKIUtils /project/se/java/DFKIUtils

lib/DFKIUtils.jar lib/DFKIUtilsApidoc.jar DFKIUtils.jpx

AgentFramework /project/frodo/AgentFramework

lib/AgentFramework.jar lib/AgentFrameworkApidoc.jar AgentFramework.jpx

DFKIUtils / AgentFramework

DFKIUtils

Neue Features der Debug-Klasse Graphische Debug-Konsole Umleitung auf eine einzige Konsole Patterns und Objekte in Meldungen Längenbeschränkung von Stacktrace-Ausgaben

Objekt-Serialisierung über JSX XML-basiert Robuster als JAVA-Serialisierung wird für ObjectContainer im Framework verwendet

DFKIUtils / AgentFramework

Debugging Meldungen

DFKIUtils / AgentFramework

Debug-Konsole: Konfiguration

DFKIUtils / AgentFramework

Debug Konsole

DFKIUtils / AgentFramework

AgentFramework (Überblick)

Reactive Behaviour Layer

Social Layer

Specialist Layer

Agent Platform (JADE)

Platform Abstraction Layer

DFKIUtils / AgentFramework

Reactive Behaviour

Reactive Behaviour Layer

Context und Content Extraktion & Dispatching

FRODO Message

Message HandlerActivities

zur Ausführung an den Agenten zurück

DFKIUtils / AgentFramework

Was ist ein Handler?

Realisiert Teile des Agentenverhaltens

Reagiert auf bestimmte Nachrichten(frei definierbar)

Erzeugt „Activities“ als Reaktion auf eine empfangene Nachricht

kann dynamisch zum Agentenverhalten hinzugefügt und gelöscht werden

DFKIUtils / AgentFramework

Vorteile eines Handlers?

benötigte Informationen aus der Nachricht sind bereits aufbereitet

es müssen nur noch Call-Back Methoden imlementiert werden

Schedulingaufgaben und Ausführung der Activities regelt das Framework

DFKIUtils / AgentFramework

Handler (Code-Fragment)

DFKIUtils / AgentFramework

Beispiele für Handler

RequestHandler

ConditionalRequestHandler

AnswerHandler

AgreeHandler

RefuseHandler

FailureHandler

...

dfki.frodo.agent.rbf.handler.*

DFKIUtils / AgentFramework

Beispiele für Activities

SendRequestActivitiy

SendAgreeActivitiy

...

RaiseEventActivity

MessageReHandleActivity

...

dfki.frodo.agent.rbf.activity.*

DFKIUtils / AgentFramework

Reichen diese Handler?

Handler sind elementare Bausteine der Nachrichtenbehandlung

Individuell für einzelne Nachrichten(typen)

Aber oft: Folgen von Nachrichten z.B. versende Request, warte auf Antwort

Verwaltung mehrerer gleichzeitiger Requests macht einfache Handler zu komplex

Handler für Interaktionsprotokolle

DFKIUtils / AgentFramework

Was ist ein Protokoll-Handler?

Unterstützung für Interaktionsprotokolle:Generiert automatisch Conversation-IDs Initiales Ausführen von Activities beim

aktivieren des HandlersCallback-Methoden für mögliche

Reaktionen des Kommunikationsparnters

dfki.frodo.agent.rbf.handler.ip.*

DFKIUtils / AgentFramework

Protokoll-Handler (Code-Fragment)

DFKIUtils / AgentFramework

ReactiveBehaviourBuilder

DFKIUtils / AgentFramework

Übersicht

DFKIUtils /project/se/java/DFKIUtils

lib/DFKIUtils.jar lib/DFKIUtilsApidoc.jar DFKIUtils.jpx

AgentFramework /project/frodo/AgentFramework

lib/AgentFramework.jar lib/AgentFrameworkApidoc.jar