Java Agent Development Framework
Java Agent Development Framework, o JADE, és un framework de programari per al desenvolupament d'agents de programari, implementat en Java. El sistema JADE suporta la coordinació entre diversos agents FIPA i proporciona una implementació estàndard del llenguatge de comunicació FIPA-ACL, que facilita la comunicació entre agents i permet la detecció de serveis del sistema. JADE va ser desenvolupat originalment per Telecom Italia i es distribueix com a programari lliure.[1] ResumJADE és un middleware que facilita el desenvolupament de sistemes multiagent sota l'estàndard FIPA, per al qual crea múltiples contenidors per a agents, cadascun dels quals pot executar-se en un o més sistemes. S'entén que un conjunt de contenidors constitueix una plataforma.[2] JADE ofereix:
HistòriaJADE va ser desenvolupat inicialment per Telecom Italia Lab. Aquest sector és la branca d'R+D del Grup Telecom Italia, que s'encarrega de promoure la innovació tecnològica. Telecom Italia va concebre i promoure JADE fundant-lo l'any 2000. Les últimes dades disponibles són del desembre de 2022 (versió 4.6.0). La primera versió de JADE distribuïda com a programari lliure està disponible des del febrer del 2000 (versió 1.3). El març de 2003, Motorola i Telecom Italia van crear el Consell de Govern de JADE amb l'objectiu de promoure el desenvolupament i l'adopció de JADE a la indústria de les telecomunicacions mòbils com a middleware basat. El Consell de Govern de JADE accepta que qualsevol empresa i/o organització interessada en l'ús i l'explotació comercial de JADE es comprometi amb el seu desenvolupament i promoció. El 2021, l'equip que va desenvolupar amb èxit JADE va anunciar que ja no hi podia continuar treballant. Un equip d'investigadors que l'ha bifurcat ara està duent a terme el desenvolupament de la plataforma.[3] PlataformaJADE és una plataforma d'agents distribuïts, que té un contenidor per a cada host on s'executen els agents. A més, la plataforma disposa de diverses eines de depuració, mobilitat d'agents de codi i contingut, la possibilitat d'execució paral·lela del comportament dels agents, així com suport per a la definició de llenguatges i ontologies. Cada plataforma ha de tenir un contenidor principal que tingui dos agents especials anomenats AMS i DF.
Agent de DFPer accedir a l'agent DF s'utilitza la classe "jade.domain.DFService" i els seus mètodes estàtics: registrar, donar de baixa, modificar i Recerca. Agent de l'AMSPer accedir al servei AMS es crea un agent que executa automàticament el mètode de registre de l'AMS per defecte abans d'executar la configuració del mètode des del nou agent. Quan un agent és destruït, executa el seu mètode takeDown() per defecte i crida automàticament el mètode de deregister de l'AMS.[5] Classe d'agentLa classe Agent és una superclasse que permet als usuaris crear agents JADE. Per crear un agent cal heretar directament d' Agent. Normalment, cada agent registra diversos serveis que s'han d'implementar mitjançant un o més comportaments. Aquesta classe proporciona mètodes per dur a terme les tasques bàsiques dels agents com ara:
Agent de JADEEl cicle de vida d'un agent JADE segueix el cicle proposat per FIPA. Aquests agents passen per diferents estats que es defineixen com:
Comportament dels agentsEl comportament defineix les accions sota un esdeveniment determinat. Aquest comportament de l'agent es defineix a la configuració del mètode mitjançant el mètode addBehaviour. Els diferents comportaments que adoptarà l'agent es defineixen a partir de la classe abstracta Behaviour. La classe Behaviour conté els mètodes abstractes:
Un usuari pot sobreescriure les propietats dels mètodes onStart() i OnEnd(). A més, hi ha altres mètodes com ara block () i restart() que s'utilitzen per modificar el comportament de l'agent. Quan un agent està bloquejat, es pot desbloquejar de diferents maneres. Altrament, l'usuari pot sobreescriure els mètodes onStart() i onEnd() que posseeix l'agent. Missatges de l'ACLL'ACL (Agent Communication Language) per la transmissió de missatges és la base de la comunicació entre agents. L'enviament de missatges es fa mitjançant el mètode send de la classe Agent. En aquest mètode, heu de passar un objecte de tipus ACLMessage que contingui la informació del destinatari, l'idioma, el codi i el contingut del missatge. Aquests missatges s'envien de manera asíncrona, a mesura que es reben els missatges s'emmagatzemen en una cua de missatges. Hi ha dos tipus de recepció de missatges ACL: bloquejant o no bloquejant. Per això, proporcioneu els mètodes blockingReceive() i receive() respectivament. En ambdós mètodes, podeu fer que els missatges de filtratge es recuperin de la cua definint plantilles diferents. Referències
|
Portal di Ensiklopedia Dunia