230 likes | 317 Views
DFKIUtils FRODO AgentFramework. ein kleiner Einblick FRODOianer-Sitzung am 1.3.2002. Projektstruktur. JBuilder und Projekte. Importierte JAR-Files als projekt-lokale Libraries definieren Tools Configure Libraries JAR-File erzeugen Wizards Archive Builder
E N D
DFKIUtilsFRODO AgentFramework ein kleiner Einblick FRODOianer-Sitzung am 1.3.2002
Projektstruktur DFKIUtils / AgentFramework
JBuilder und Projekte • Importierte JAR-Files als projekt-lokale Libraries definieren • Tools Configure Libraries • JAR-File erzeugen • Wizards Archive Builder • Sourcefiles 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 erzeugen • Wizards Archive Builder • Sourcefiles 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) Specialist Layer Social Layer Reactive Behaviour Layer Platform Abstraction Layer Agent Platform (JADE) DFKIUtils / AgentFramework
Reactive Behaviour Activities Reactive Behaviour Layer FRODO Message Context und Content Extraktion & Dispatching zur Ausführung an den Agenten zurück Message Handler 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 Handlers • Callback-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 DFKIUtils / AgentFramework