Framework rozwoju agenta Java
Wersja stabilna | 4.6.0 / 19 grudnia 2022 r
|
---|---|
Napisane w | Jawa |
Platforma | Java SE |
Typ | System wieloagentowy , szkielet oprogramowania |
Licencja | Mniejsza Powszechna Licencja Publiczna GNU |
Strona internetowa |
|
Java Agent Development Framework lub JADE to platforma programowa do tworzenia inteligentnych agentów , zaimplementowana w Javie . System JADE wspiera koordynację pomiędzy kilkoma agentami FIPA oraz zapewnia standardową implementację języka komunikacji FIPA-ACL , który ułatwia komunikację pomiędzy agentami oraz umożliwia wykrycie przez służby systemu. JADE został pierwotnie opracowany przez Telecom Italia i jest rozpowszechniany jako darmowe oprogramowanie .
Wznawiać
JADE to oprogramowanie pośrednie , które ułatwia tworzenie systemów wieloagentowych w ramach standardu FIPA , w tym celu tworzy wiele kontenerów dla agentów, z których każdy może działać na jednym lub kilku systemach. Rozumie się, że zestaw kontenerów stanowi platformę.
JADE zapewnia:
- Środowisko, w którym wykonywani są agenci JADE
- Biblioteki klas do tworzenia agentów przy użyciu dziedzictwa i redefinicji zachowań
- Graficzny zestaw narzędzi do monitorowania i zarządzania platformą inteligentnych agentów
Historia
JADE został początkowo opracowany przez Telecom Italia Lab. Sektor ten to dział badawczo-rozwojowy Grupy Telecom Italia, który jest odpowiedzialny za promowanie innowacji technologicznych. Telecom Italia wymyślił i wypromował JADE, opierając się na nim w 2000 roku. Ostatnie dostępne daty pochodzą z czerwca 2017 (wersja 4.5). Pierwsza wersja JADE rozpowszechniana jako wolne oprogramowanie jest dostępna od lutego 2000 (wersja 1.3).
W marcu 2003 r. Motorola i Telecom Italia utworzyły Radę Zarządzającą JADE w celu promowania rozwoju i wdrażania JADE w branży telefonii komórkowej jako oprogramowania pośredniego . Rada Zarządzająca JADE zgadza się, aby każda firma i/lub organizacja zainteresowana komercyjnym wykorzystaniem i eksploatacją JADE zobowiązała się do jej rozwoju i promocji.
W 2021 roku zespół, który z powodzeniem opracował JADE, ogłosił, że nie może dalej nad nim pracować. Zespół badaczy rozwidlił go i obecnie zajmuje się rozwojem platformy.
Platforma
JADE to platforma rozproszonych agentów, która ma kontener dla każdego hosta, na którym uruchamiasz agentów. Dodatkowo platforma posiada różne narzędzia do debugowania, mobilność agentów kodu i treści, możliwość równoległego wykonywania zachowań agentów, a także wsparcie dla definicji języków i ontologii . Każda platforma musi mieć kontener nadrzędny, który ma dwóch agentów specjalnych o nazwach AMS i DF.
- DF (Directory Facilitator) udostępnia katalog, który informuje, którzy agenci są dostępni na platformie.
- AMS (Agent Management System) kontroluje platformę. Jako jedyny może tworzyć i niszczyć innych agentów, niszczyć kontenery i zatrzymywać platformę.
Agent DF
Aby uzyskać dostęp do agenta DF, używana jest klasa „jade.domain.DFService” i jej metody statyczne: register, deregister,modyfikuj i Search .
Agent AMS
Aby uzyskać dostęp do usługi AMS, tworzony jest agent, który domyślnie automatycznie uruchamia metodę register systemu AMS przed wykonaniem konfiguracji metody z nowego agenta. Kiedy agent zostaje zniszczony, domyślnie wykonuje swoją metodę takeDown() i automatycznie wywołuje metodę deregister AMS.
Klasa agenta
Klasa Agent jest nadklasą, która umożliwia użytkownikom tworzenie agentów JADE. Aby utworzyć agenta, należy dziedziczyć bezpośrednio po Agent . Zwykle każdy agent rejestruje kilka usług, które powinien realizować za pomocą jednego lub kilku zachowań.
Ta klasa udostępnia metody do wykonywania podstawowych zadań agentów, takich jak:
- Przekazuj komunikaty przez obiekty ACLMessage z dopasowywaniem wzorców
- Wspieraj cykl życia agenta
- Planuj i wykonuj wiele czynności jednocześnie
agent JADE
Cykl życia agenta JADE jest zgodny z cyklem zaproponowanym przez FIPA. Agenci ci przechodzą przez różne stany zdefiniowane jako:
- Zainicjowano: agent został utworzony, ale nie zarejestrował jeszcze systemu AMS.
- Aktywny: agent został zarejestrowany i ma nazwę. W tym stanie może komunikować się z innymi agentami.
- Zawieszony: Agent jest zatrzymany, ponieważ jego wątek jest zawieszony.
- Oczekiwanie: Agent jest zablokowany w oczekiwaniu na zdarzenie.
- Usunięto: Agent zakończył działanie, a jego wątek zakończył wykonywanie i nie ma już więcej w AMS.
- Tranzyt: agent przenosi się do nowej lokalizacji.
Zachowanie agentów
Zachowanie definiuje działania w ramach danego zdarzenia. To zachowanie agenta jest zdefiniowane w konfiguracji metody za pomocą metody addBehaviour . Różne zachowania, które przyjmie agent, są zdefiniowane na podstawie klasy abstrakcyjnej Zachowanie. Klasa Behavior zawiera metody abstrakcyjne:
- akcja (): jest wykonywana, gdy akcja ma miejsce.
- done (): Jest wykonywany na końcu występu.
Użytkownik może nadpisać właściwości metod onStart() i OnEnd() . Ponadto istnieją inne metody, takie jak block () i restart(), które służą do modyfikowania zachowania agenta. Gdy agent jest zablokowany, można go odblokować na różne sposoby. W przeciwnym razie użytkownik może zastąpić metody onStart() i onEnd() agenta.
Odblokuj agenta
- Odbieranie wiadomości.
- Kiedy nastąpi przekroczenie limitu czasu związane z blokiem ().
- Ponowne dzwonienie.
wiadomości ACL
Przekazywanie wiadomości ACL (Agent Communication Language) jest podstawą komunikacji między agentami. Wysyłanie wiadomości odbywa się metodą send klasy Agent. W tej metodzie musisz przekazać obiekt typu ACLMessage, który zawiera informacje o odbiorcy, język, kodowanie i treść wiadomości. Wiadomości te są wysyłane asynchronicznie, podczas odbierania wiadomości będą przechowywane w kolejce wiadomości. Istnieją dwa rodzaje otrzymywania komunikatów ACL, blokujące i nieblokujące. W tym celu udostępnij metody blockingReceive() i receive() odpowiednio. W obu metodach można ustawić filtrowanie wiadomości, które mają być pobierane z kolejki, ustawiając różne szablony.
Rozszerzenia
JADE posiada rozszerzenie o nazwie WADE (Workflows and Agents Development Environment), które jest systemem workflow umożliwiającym tworzenie procesu przez edytor graficzny o nazwie WOLF.
Zobacz też
- System wieloagentowy
- Agent autonomiczny
- Inteligentny agent
- Architektura kognitywna
- Język komunikacji agenta
- Archiwum wiadomości Jade
- Podręcznik użytkownika Wade'a
- Tworzenie systemów wieloagentowych za pomocą JADE , tom 7 Wiley Series in Agent Technology, Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood ISBN 9780470058404
- Bezpieczeństwo i zaufanie w oprogramowaniu pośrednim zorientowanym na agenty , Sixth International, Warsztaty OTM 2003. OTM 2003. Notatki z wykładów z informatyki, tom 2889. Springer, Berlin, A Poggi, M Tomaiuolo, G Vitaglione. ISBN 978-3-540-20494-7