Java Agent Development Framework - Java Agent Development Framework

JADE
Stabil frisättning
4.5.0 / 8 juni 2017 ; 3 år sedan  ( 2017-06-08 )
Skrivet i Java
Plattform Java SE
Typ Multi-agent system , programvara ram
Licens GNU Lesser General Public License
Hemsida jade .tilab .com  Redigera detta på Wikidata

Java Agent Development Framework , eller JADE , är ett programvaruramverk för utveckling av intelligenta agenter , implementerat i Java . JADE-systemet stöder samordning mellan flera agenter FIPA och tillhandahåller en standardimplementering av kommunikationsspråket FIPA-ACL , vilket underlättar kommunikationen mellan agenter och möjliggör systemdetektering av systemet. JADE utvecklades ursprungligen av Telecom Italia och distribueras som fri programvara .

Återuppta

JADE är en mellanvara som underlättar utvecklingen av multi-agent-system under standarden FIPA för vilket syfte den skapar flera containrar för agenter, var och en kan köras på ett eller flera system. Det är underförstått att en uppsättning containrar utgör en plattform.

JADE tillhandahåller:

  • En miljö där JADE-agenter körs
  • Klassbibliotek för att skapa agenter som använder arv och omdefiniering av beteenden
  • En grafisk verktygslåda för övervakning och hantering av plattformen för intelligenta agenter

Historia

JADE utvecklades ursprungligen av Telecom Italia Lab. Denna sektor är FoU-avdelningen för Telecom Italia Group som ansvarar för att främja teknisk innovation. Telecom Italia utvecklade och marknadsförde JADE genom att basera det 2000. De senaste tillgängliga datumen från juni 2017 (version 4.5). Den första versionen av JADE som distribueras som fri programvara är tillgänglig från februari 2000 (version 1.3).

I mars 2003 inrättade Motorola och Telecom Italia JADEs styrelse i syfte att främja utvecklingen och antagandet av JADE inom mobil telekommunikationsindustrin som medelvarubaserad . JADEs styrelse accepterar alla företag och / eller organisationer som är intresserade av kommersiell användning och exploatering av JADE för att åta sig att utveckla och marknadsföra.

Plattform

JADE är en distribuerad agentplattform som har en container för varje värd där du kör agenterna. Dessutom har plattformen olika felsökningsverktyg, mobilitet för kod- och innehållsagenter, möjligheten till parallellt utförande av agenternas beteende, samt stöd för definition av språk och ontologier . Varje plattform måste ha en överordnad behållare som har två specialagenter som heter AMS och DF.

  • DF (Directory Facilitator) tillhandahåller en katalog som meddelar vilka agenter som finns tillgängliga på plattformen.
  • AMS (Agent Management System) styr plattformen. Det är den enda som kan skapa och förstöra andra agenter, förstöra containrar och stoppa plattformen.

DF-agent

För att komma åt DF-agenten används klassen "jade.domain.DFService" och dess statiska metoder: registrera, avregistrera, modifiera och sök .

AMS-agent

För att komma åt AMS Tjänst en agent skapas som automatiskt kör register metoden enligt AMS som standard innan du kör metoden installationen av den nya agent. När en agent förstörs kör den sin takeDown () -metod som standard och anropar automatiskt avregistreringsmetoden för AMS.

Agentklass

Agentklassen är en superklass som tillåter användare att skapa JADE-agenter. För att skapa en agent måste man ärva direkt från Agent . Normalt registrerar varje agent flera tjänster som de bör implementeras av ett eller flera beteenden.

Den här klassen tillhandahåller metoder för att utföra agenternas grundläggande uppgifter som:

  • Skicka meddelanden med objekt ACLMessage, med mönstermatchning
  • Stöd en agents livscykel
  • Planera och utför flera aktiviteter samtidigt

JADE-agent

Livscykeln för en JADE-agent följer den cykel som FIPA föreslår. Dessa agenter går igenom olika tillstånd definierade som:

  1. Initierat: Agenten har skapats men har ännu inte registrerat AMS.
  2. Aktiv: Agenten har registrerats och har ett namn. I detta tillstånd kan den kommunicera med andra agenter.
  3. Avstängd: Agenten stoppas eftersom dess tråd är avstängd.
  4. Väntar: Agenten är blockerad och väntar på en händelse.
  5. Borttagen: Agenten är klar och tråden avslutade hans utförande och det finns inte mer i AMS.
  6. Transit: Agenten flyttar till en ny plats.

Agents beteende

Beteendet definierar åtgärderna under en given händelse. Det här agenten definieras i metodinställningen med metoden addBehaviour . De olika beteenden som agenten kommer att anta definieras från den abstrakta klassen Behavior. Klassen Beteende innehåller de abstrakta metoderna:

  • action (): Körs när åtgärden äger rum.
  • gjort (): Exekveras i slutet av föreställningen.

En användare kan åsidosätta metoderna onStart () och OnEnd () . Dessutom finns det andra metoder som block () och omstart () som används för att ändra agentens beteende. När en agent är låst kan den låsas upp på olika sätt. Annars kan användaren åsidosätta metoderna onStart () och onEnd () som agenten har.

Lås upp en agent

  1. Ta emot ett meddelande.
  2. När timeout händer associerat med block ().
  3. Samtal startas om.

ACL-meddelanden

Meddelande som skickar ACL (Agent Communication Language) är basen för kommunikation mellan agenter. Skicka meddelanden görs med metoden skickas av klassen Agent. I den här metoden måste du skicka ett objekt av typen ACLMessage som innehåller mottagarinformation, språk, kodning och innehåll i meddelandet. Dessa meddelanden skickas asynkront, medan meddelanden tas emot lagras de i en meddelandekö. Det finns två typer av mottagning av ACL-meddelanden, blockering eller icke-blockering. För detta tillhandahåller metoder blockingReceive () respektive mottagning () . I båda metoderna kan du få filtreringsmeddelanden att hämtas från kön genom att ställa in olika mallar.

Tillägg

JADE har ett WADE-tillägg (Workflows and Agents Development Environment) som är ett arbetsflödessystem som möjliggör skapande av en grafisk redaktör med namnet WOLF.

Se även

Referenser

  • Jades nyhetsarkiv
  • Wade Användarhandbok
  • Utvecklar Multi-Agent-system med JADE , Volym 7 Wiley-serien inom agentteknik, Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood ISBN   9780470058404
  • Säkerhet och förtroende för agentorienterad Middleware , Sixth International, OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, vol 2889. Springer, Berlin, A Poggi, M Tomaiuolo, G Vitaglione. ISBN   978-3-540-20494-7

externa länkar