Java Agent Development Framework - Java Agent Development Framework
| Stabile Version | 4.5.0 / 8. Juni 2017
|
|---|---|
| Geschrieben in | Java |
| Plattform | Java SE |
| Art | Multi-Agent-System , Software-Framework |
| Lizenz | GNU Lesser General Public License |
| Webseite |
Jade |
Das Java Agent Development Framework ( JADE ) ist ein in Java implementiertes Software-Framework für die Entwicklung intelligenter Agenten . Das JADE-System unterstützt die Koordination zwischen mehreren Agenten FIPA und bietet eine Standardimplementierung der Kommunikationssprache FIPA-ACL , die die Kommunikation zwischen Agenten erleichtert und die Erkennung des Systems durch die Dienste ermöglicht. JADE wurde ursprünglich von Telecom Italia entwickelt und wird als freie Software vertrieben .
Fortsetzen
JADE ist eine Middleware , die die Entwicklung von Multi-Agent-Systemen unter dem Standard- FIPA erleichtert. Zu diesem Zweck werden mehrere Container für Agenten erstellt, von denen jeder auf einem oder mehreren Systemen ausgeführt werden kann. Es versteht sich, dass eine Reihe von Containern eine Plattform darstellt.
JADE bietet:
- Eine Umgebung, in der JADE-Agenten ausgeführt werden
- Klassenbibliotheken zum Erstellen von Agenten unter Verwendung des Erbes und der Neudefinition von Verhaltensweisen
- Ein grafisches Toolkit zur Überwachung und Verwaltung der Plattform intelligenter Agenten
Geschichte
JADE wurde ursprünglich von Telecom Italia Lab entwickelt. Dieser Sektor ist die Forschungs- und Entwicklungsabteilung der Telecom Italia Group, die für die Förderung technologischer Innovationen verantwortlich ist. Telecom Italia hat JADE im Jahr 2000 konzipiert und beworben. Die neuesten verfügbaren Daten stammen aus Juni 2017 (Version 4.5). Die erste Version von JADE, die als freie Software vertrieben wird, ist ab Februar 2000 verfügbar ( Version 1.3).
Im März 2003 gründeten Motorola und Telecom Italia das JADE Governing Board mit dem Ziel, die Entwicklung und Einführung von JADE in der Mobilfunkbranche als Middleware- basiert zu fördern . Der JADE-Verwaltungsrat akzeptiert alle Unternehmen und / oder Organisationen, die an der kommerziellen Nutzung und Nutzung von JADE interessiert sind, um sich zu dessen Entwicklung und Förderung zu verpflichten.
Plattform
JADE ist eine Plattform für verteilte Agenten, die für jeden Host, auf dem Sie die Agenten ausführen, einen Container enthält. Darüber hinaus verfügt die Plattform über verschiedene Debugging-Tools, die Mobilität von Code- und Inhaltsagenten, die Möglichkeit der parallelen Ausführung des Verhaltens von Agenten sowie die Unterstützung bei der Definition von Sprachen und Ontologien . Jede Plattform muss über einen übergeordneten Container mit zwei speziellen Agenten namens AMS und DF verfügen.
- Der DF (Directory Facilitator) stellt ein Verzeichnis bereit, das angibt, welche Agenten auf der Plattform verfügbar sind.
- Das AMS (Agent Management System) steuert die Plattform. Es ist der einzige, der andere Agenten erstellen und zerstören, Container zerstören und die Plattform stoppen kann.
DF Agent
Für den Zugriff auf den DF-Agenten werden die Klasse "jade.domain.DFService" und ihre statischen Methoden verwendet: registrieren, abmelden, ändern und suchen .
AMS-Agent
Für den Zugriff auf den AMS - Dienst ein Agent erstellt wird , die automatisch das läuft Registerverfahren des AMS standardmäßig vor dem Ausführen des Verfahren Setup von dem neuen Agenten. Wenn ein Agent zerstört wird, führt er standardmäßig seine takeDown () -Methode aus und ruft automatisch die Deregister- Methode des AMS auf.
Agentenklasse
Die Agentenklasse ist eine Oberklasse, mit der Benutzer JADE-Agenten erstellen können. Um einen Agenten zu erstellen, muss er direkt vom Agenten erben . Normalerweise zeichnet jeder Agent mehrere Dienste auf, die durch ein oder mehrere Verhaltensweisen implementiert werden sollen.
Diese Klasse bietet Methoden zum Ausführen der grundlegenden Aufgaben der Agenten wie folgt:
- Übergeben Sie Nachrichten an Objekte ACLMessage mit Mustervergleich
- Unterstützen Sie den Lebenszyklus eines Agenten
- Planen und führen Sie mehrere Aktivitäten gleichzeitig aus
JADE-Agent
Der Lebenszyklus eines JADE-Agenten folgt dem von der FIPA vorgeschlagenen Zyklus. Diese Agenten durchlaufen verschiedene Zustände, die wie folgt definiert sind:
- Initiiert: Der Agent wurde erstellt, hat das AMS jedoch noch nicht registriert.
- Aktiv: Der Agent wurde registriert und hat einen Namen. In diesem Zustand kann es mit anderen Agenten kommunizieren.
- Angehalten: Der Agent wird angehalten, weil sein Thread angehalten ist.
- Warten: Der Agent ist blockiert und wartet auf ein Ereignis.
- Gelöscht: Der Agent ist fertig und sein Thread hat seine Ausführung beendet und es gibt keine weiteren im AMS.
- Transit: Der Agent zieht an einen neuen Standort.
Verhalten der Agenten
Das Verhalten definiert die Aktionen unter einem bestimmten Ereignis. Dieses Verhalten des Mittels wird in der Methode definiert Einrichtung unter Verwendung des Verfahrens addBehaviour . Die verschiedenen Verhaltensweisen, die der Agent annehmen wird, werden aus der abstrakten Klasse Verhalten definiert. Die Klasse Behavior enthält die abstrakten Methoden:
- action (): Wird ausgeführt, wenn die Aktion stattfindet.
- done (): Wird am Ende der Aufführung ausgeführt.
Ein Benutzer kann die Eigenschaften der Methoden onStart () und OnEnd () überschreiben . Darüber hinaus gibt es andere Methoden wie block () und restart () , mit denen das Verhalten des Agenten geändert wird. Wenn ein Agent gesperrt ist, kann er auf verschiedene Arten entsperrt werden. Andernfalls kann der Benutzer die Methoden onStart () und onEnd () überschreiben, über die der Agent verfügt.
Schalte einen Agenten frei
- Eine Nachricht erhalten.
- Wenn das mit block () verbundene Timeout auftritt.
- Neustart aufrufen.
ACL-Nachrichten
Message Passing ACL (Agent Communication Language) ist die Basis für die Kommunikation zwischen Agenten. Das Senden von Nachrichten erfolgt über die Methode send der Klasse Agent. Bei dieser Methode müssen Sie ein Objekt vom Typ ACLMessage übergeben, das die Empfängerinformationen, die Sprache, die Codierung und den Inhalt der Nachricht enthält. Diese Nachrichten werden asynchron gesendet, während Nachrichten empfangen werden, werden sie in einer Nachrichtenwarteschlange gespeichert. Es gibt zwei Arten des Empfangs von ACL-Nachrichten: Blockieren oder Nichtblockieren. Dazu bieten Methoden blockingReceive () und receive () sind. Bei beiden Methoden können Sie Filternachrichten erstellen, die aus der Warteschlange abgerufen werden sollen, indem Sie verschiedene Vorlagen festlegen.
Erweiterungen
JADE verfügt über eine Erweiterung mit der Bezeichnung WADE (Workflows and Agents Development Environment), ein Workflow- System, das den Erstellungsprozess durch einen Grafikeditor namens WOLF ermöglicht.
Siehe auch
- Multi-Agent-System
- Autonomer Agent
- Intelligenter Agent
- Kognitive Architektur
- Kommunikationssprache des Agenten
Verweise
- Jade-Nachrichtenarchiv
- Wade Benutzerhandbuch
- Entwicklung von Multi-Agent-Systemen mit JADE , Band 7, Wiley-Serie in Agententechnologie, Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood ISBN 9780470058404
- Sicherheit und Vertrauen in agentenorientierte Middleware , Sixth International, OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, Bd. 2889. Springer, Berlin, A. Poggi, M. Tomaiuolo, G. Vitaglione. ISBN 978-3-540-20494-7