Środowisko programistyczne agenta Java - Java Agent Development Framework
| Wersja stabilna | 4.5.0 / 8 czerwca 2017 r .
|
|---|---|
| Napisane w | Jawa |
| Platforma | Java SE |
| Rodzaj | System wieloagentowy , framework oprogramowania |
| Licencja | Mniejsza Powszechna Licencja Publiczna GNU |
| Stronie internetowej |
jade |
Java Agent Development Framework lub JADE to platforma programowa do tworzenia inteligentnych agentów , zaimplementowana w języku Java . System JADE wspiera koordynację pomiędzy kilkoma agentami FIPA oraz zapewnia standardową implementację języka komunikacji FIPA-ACL , co ułatwia komunikację pomiędzy agentami i umożliwia wykrywanie usług systemu. JADE został pierwotnie opracowany przez Telecom Italia i jest rozprowadzany jako bezpłatne oprogramowanie .
Wznawianie
JADE to oprogramowanie pośredniczące, 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 działają 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ł pierwotnie opracowany przez Telecom Italia Lab. Sektor ten to dział badawczo-rozwojowy Telecom Italia Group odpowiedzialny za promowanie innowacji technologicznych. Telecom Italia stworzył i wypromował JADE, opierając go w 2000 roku. Najnowsze dostępne daty od czerwca 2017 (wersja 4.5). Pierwsza wersja JADE rozprowadzana jako darmowe 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 przyjęcia 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 jego rozwoju i promocji.
Platforma
JADE to rozproszona platforma agentów, która ma kontener dla każdego hosta, na którym działają agenci. Dodatkowo platforma posiada różne narzędzia do debugowania, mobilność kodu i agentów 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 specjalnych agentów zwanych AMS i DF.
- DF (Directory Facilitator) udostępnia katalog, który informuje, którzy agenci są dostępni na platformie.
- Platformę kontroluje AMS (Agent Management System). Jako jedyny może tworzyć i niszczyć innych agentów, niszczyć pojemniki i zatrzymywać platformę.
Agent DF
Aby uzyskać dostęp do agenta DF, używana jest klasa „jade.domain.DFService” i jej metody statyczne: register, wyrejestrowanie, modyfikacja i wyszukiwanie .
Agent AMS
Aby uzyskać dostęp do usługi AMS, tworzony jest agent, który domyślnie uruchamia automatycznie metodę rejestracji AMS przed wykonaniem konfiguracji metody z nowego agenta. Gdy agent zostaje zniszczony, domyślnie wykonuje swoją metodę takeDown () i automatycznie wywołuje metodę wyrejestrowania AMS.
Klasa agenta
Klasa Agent to nadklasa, która umożliwia użytkownikom tworzenie agentów JADE. Aby stworzyć agenta, trzeba dziedziczyć bezpośrednio po Agencie . Zwykle każdy agent rejestruje kilka usług, które powinny być realizowane przez jedno lub więcej zachowań.
Ta klasa udostępnia metody wykonywania podstawowych zadań agentów, takich jak:
- Przekazuj komunikaty przez obiekty ACLMessage, z dopasowaniem do wzorca
- 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 definiowane jako:
- Zainicjowany: agent został utworzony, ale nie zarejestrował jeszcze AMS.
- Aktywny: agent został zarejestrowany i ma nazwę. W tym stanie może komunikować się z innymi agentami.
- Zawieszony: agent został zatrzymany, ponieważ jego wątek jest zawieszony.
- Oczekiwanie: agent jest zablokowany w oczekiwaniu na wydarzenie.
- Usunięty: agent zakończył wykonywanie, a jego wątek zakończył wykonywanie i nie ma go już w AMS.
- Tranzyt: agent przeprowadza się do nowej lokalizacji.
Zachowanie agentów
Zachowanie definiuje działania w ramach danego zdarzenia. To zachowanie agenta jest definiowane w konfiguracji metody przy użyciu metody addBehaviour . Różne zachowania, które przyjmie agent, są zdefiniowane w abstrakcyjnej klasie Behavior. Klasa Behavior zawiera metody abstrakcyjne:
- action (): jest wykonywany, gdy akcja ma miejsce.
- done (): Wykonywane na koniec wykonania.
Użytkownik może przesłonić właściwości 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 przesłonić metody onStart () i onEnd () , które posiada agent.
Odblokuj agenta
- Otrzymywanie wiadomości.
- Kiedy nastąpi przekroczenie limitu czasu skojarzone z funkcją block ().
- Wzywam restart.
Wiadomości ACL
ACL przekazywania wiadomości (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. Te wiadomości są wysyłane asynchronicznie, podczas gdy wiadomości są odbierane, będą przechowywane w kolejce komunikatów. Istnieją dwa typy odbierania wiadomości ACL, blokujące lub nieblokujące. W tym celu zapewnij odpowiednio metody blockingReceive () i Receive () . 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 zwane WADE (Workflows and Agents Development Environment), które jest systemem workflow umożliwiającym tworzenie procesów przez edytor graficzny o nazwie WOLF.
Zobacz też
- System wieloagentowy
- Autonomiczny agent
- Inteligentny agent
- Architektura poznawcza
- Język komunikacji agenta
Bibliografia
- Archiwum wiadomości Jade
- Podręcznik użytkownika Wade
- Developing Multi-Agent Systems with JADE , tom 7 Wiley Series in Agent Technology, Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood ISBN 9780470058404
- Security and Trust in Agent-Oriented Middleware , 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 .Linki zewnętrzne