Środowisko programistyczne agenta Java - Java Agent Development Framework

JADEIT
Wersja stabilna
4.5.0 / 8 czerwca 2017 r . ; 3 lata temu  ( 08.06.2017 )
Napisane w Jawa
Platforma Java SE
Rodzaj System wieloagentowy , framework oprogramowania
Licencja Mniejsza Powszechna Licencja Publiczna GNU
Stronie internetowej jade .tilab .com  Edytuj to w Wikidanych

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:

  1. Zainicjowany: agent został utworzony, ale nie zarejestrował jeszcze AMS.
  2. Aktywny: agent został zarejestrowany i ma nazwę. W tym stanie może komunikować się z innymi agentami.
  3. Zawieszony: agent został zatrzymany, ponieważ jego wątek jest zawieszony.
  4. Oczekiwanie: agent jest zablokowany w oczekiwaniu na wydarzenie.
  5. Usunięty: agent zakończył wykonywanie, a jego wątek zakończył wykonywanie i nie ma go już w AMS.
  6. 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

  1. Otrzymywanie wiadomości.
  2. Kiedy nastąpi przekroczenie limitu czasu skojarzone z funkcją block ().
  3. 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ż

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

Linki zewnętrzne