Techniki wnioskowania z użyciem rozproszonej bazy wiedzy


Przykłady implementacji systemów agentowych zgodnych ze specyfikacją FIPA



Pobieranie 347.22 Kb.
Strona8/10
Data24.10.2017
Rozmiar347.22 Kb.
1   2   3   4   5   6   7   8   9   10

Przykłady implementacji systemów agentowych zgodnych ze specyfikacją FIPA:


  • Agent Development Kit – platforma oparta o mobilne komponenty pozwalająca budować niezawodne i skalowalne przemysłowe aplikacje. Cechuje się dynamiczną zadaniowością bazującą na JXTA architekturze P2P z komunikacją bazującą na XML’u wspierającą FIPA, SOAP, usługi katalogowe JNDI , używając niezawodnego środowiska bazującego na JAVA. Pozwala to developerom JAVA na łatwe konstruowanie, rozmieszczanie oraz zarządzanie bezpieczeństwem systemów o dużej skali rozproszenia, które funkcjonują bez względu na lokalizację, środowisko, protokół oraz zdolne są do adaptacji i dynamicznej odpowiedzi na zmiany.

Środowisko i konfiguracja: Pracuje w środowisku wspierającym JAVA 2 Standard Edition 1.31

Więcej na: http://www.tryllian.com



  • April Agent Platform – zgodna z platformą agentową FIPA, zaprojektowana w sposób umożliwiający stworzenie wysokowydajnych systemów agentowych. Używa języka programowania April oraz IMC (InterAgent Communication System). Dostarcza wiele elementów umożliwiających przyspieszenie wdrażania i rozmieszczania agentów oraz platform agentowych.

Środowisko i konfiguracja: wymaga języka programowania April oraz ICM, uruchamiana na Linux, Unix, Windows.

Więcej na: http://sf.us.agentcities.net/aap/index.html



  • Comtec Agent Platform – jest open-source’wą, darmową implementacją FIPA: komunikacji agentów, zarządzania agentami, przesyłu komunikatów między agentami oraz innych aplikacji.

Środowisko i konfiguracja: JDK 1.2 lub wyższe.

Więcej na: http://ias.comtec.co.jp/ap/



  • Grasshopper – jest otwartym bazującym w 100% na Java mobilną platformą agentową, która jest z zgodna z dwoma międzynarodowymi standardami agendowymi: OMG MASIF i FIPA..

Środowisko i konfiguracja: Java Virtual Machine

Więcej na: http:///www.grasshopper.de



  • Java Agent Services API (JAS) – jest projektem definiującym specyfikację standardu przemysłowego oraz API dla zapewnienia strategicznego rozmieszczenia infrastruktur usług agentowych. API dostarcza interfejs do tworzenia, kodowania i transportu komunikatów, katalogów oraz nadawania nazw.

Środowisko i konfiguracja: Java Virtual Machine

Więcej na: http://www.java-agent.org/



  • LEAP (Lightweight Extensible Agent Platform) jest środowiskiem wdrożeniowym i uruchomieniowym inteligentnych agentów. Jest prekursorem drugiej generacji platform zgodnych z FIPA. Ma na celu być pierwszym zintegrowanym wdrożeniowym środowiskiem agentowym zdolnym do generowania aplikacji agentowych w środowisku ZEUS oraz uruchamianych w środowisku wywodzącym się z JADE.

Środowisko i konfiguracja: Java Virtual Machine

Więcej na: http://leap.crm-paris.com/



  • ZEUS – jest agentowym systemem open-sorce’owym zaimplementowanym w Java, wdrażanym przez BT Labs i może być traktowany jako zestaw narzędzi do konstruowania współpracujących aplikacji multi-agentowych. Dostarcza ogólną funkcjonalność agentową oraz wyrafinowanego wsparcia dla planowania działania agentów. Co więcej, ZEUS dostarcza funkcjonalności wspomagające komunikację agentów przy użyciu FIPA ACL do transportu komunikatów oraz gniazd TCP/IP jako mechanizmu dostawczego.

Środowisko i konfiguracja: komponenty Swing GUI oraz JDK 1.2 (JDK2) virtual machine. Komunikacja TCP/IP , platformy: Solaris oraz Windows 95/98/NT4

Więcej na: http://193.113.209.147/projects/agents/zeus/




  1. JADE

JADE (Java Agent DEvelopment framework) jest środowiskiem napisanym w języku Java, znacznie upraszczającym implementację systemów wieloagentowych. Jednym z celów projektu jest pełna kompatybilność ze standardami FIPA. Agenci w środowisku JADE mogą z łatwością operować z niezależnych od siebie maszyn, środowisko posiada też wygodne GUI do sterowania całym systemem. Pakiet jest rozprowadzany na zasadach licencji LGPL.


Administracyjnie


Jedynym wymogiem uruchomienia środowiska JADE jest działająca Java w wersji JDK1.2 lub nowszej. Uruchomienie samego środowiska jest bardzo proste - należy wykonać odpowiednią klasę znajdującą się w binarnej dystrybucji pakietu. Dostajemy do dyspozycji graficzny interfejs, którym kontrolujemy nasze środowisko, możemy “podglądać”, co się dzieje z agentami, dodawać nowych agentów (zarówno własne, jak i “firmowe”). Mamy również do dyspozycji pseudo-agenta o nazwie Dummy Agent. Jest to właściwie niejako interfejs do agenta dla użytkownika, można z tego interfejsu wysyłać “z palca” komunikaty do innych i sprawdzać, czy prawidłowo działają.

Domyślnie, przy uruchomieniu środowiska startuje jeden pojemnik (containter), w którym działają nasze obiekty. Jednak, system agentowy może zawierać wiele pojemników, przy czym można zarówno uruchomić parę pojemników na tej samej aplikacji JADE, jak i można łączyć w jeden system parę aplikacji JADE uruchomionych na osobnych maszynach. Za komunikację między systemami odpowiedzialny jest Remote Monitoring Agent (RMA), uruchamiany zawsze z głównego pojemnika (Main Container) na danej maszynie. Taka konstrukcja środowiska wymusza również unikalność nazw agentów. W JADE jest to rozwiązane następująco: nickname@host:port/JADE, co oznacza agenta nazywającego się nickname na platformie host:port/JADE. Domyślnie, JADE wykorzystuje do komunikacji port 1099/TCP, oczywiście można to zmienić.


Programistycznie


Pakiet JADE udostępnia kompletne API programistyczne służące do tworzenia agentów działających na tej platformie. API to oczywiście jest w języku Java. Można wyróżnić cztery główne pakiety:

  • jade.core - zawiera podstawowe funkcje systemu, w szczególności klasy Agent oraz Behaviour (w podpakiecie jade.core.behaviours)

  • jade.lang.acl - zawiera narzędzia do przetwarzania ACL (agent communication language), zgodnie ze standardem FIPA

  • jade.content - zawiera zbiór klas ułatwiających wykorzystanie zdefiniowanych przez użytkownika ontologii oraz języków treści (content language)

  • jade.domain - zawiera wszystkie klasy odpowiedzialne za zarządzanie agentami zdefiniowane przez standard FIPA

Dodatkowo, mamy pakiet jade.gui, ułatwiający tworzenie agentów z graficznym interfejsem, pakiet jade.mtp, implementujący Message Tranport Protocol.

Możliwości


W założeniu, pakiet JADE oferuje nam następujące możliwości i usprawnienia programistyczne:

  • Rozproszona platforma agentowa - platforma JADE może zostać w łatwy sposób podzielona pomiędzy kilka fizycznych maszyn, pod warunkiem, że mogą one się komunikować za pomocą RMI; można też takie zachowanie uzyskać na jednej maszynie, odpalając na niej parę kopii maszyny wirtualnej Java

  • Graficzny interfejs do zdalnego zarządzania agentami

  • Narzędzia do debugowania aplikacji agentowych

  • Międzyplatformową mobilność agentów, wliczając w to transfer kodu i stanu agenta (jeżeli jest taka potrzeba)

  • Model zachowań agentów, pozwalający na implementację czynności wykonywanych przez agenta równolegle. JADE potrafi zarządzać pseudo-wątkami wewnątrz agenta (pseudo, ponieważ nie są to wątki widziane przez maszynę wirtualną Javy)

  • Możliwość uruchomienia wielu usług katalogowych, co umożliwia tworzenie aplikacji wykorzystujących więcej niż jedną “domenę”

  • Wydajny i stabilny transport komunikatów wymienianych pomiędzy agentami, w pełny zgodny z wymaganiami i zaleceniami FIPA.

  • Biblioteka zawierająca protokoły interakcyjne FIPA

  • Automatyczna rejestracja i derejestracja agenta w usłudze Agent Monitoring

  • Wsparcie dla własnych języków treści i ontologii

  • Interfejs, pozwalający zewnętrznym aplikacjom na uruchamianie niezależnych agentów



Narzędzia


Pakiet JADE zawiera parę bardzo przydatnych narzędzi w postaci agentów, które można wykorzystać do analizy napisanych przez siebie agentów. Są to:

  • Remote Management Agent (RMA) - służy on za graficzną konsolę do kontroli środowiska agentów; jest automatycznie uruchamiany przy wywołaniu środowiska JADE, przy podaniu opcji -gui jako parametr. JADE potrafi poradzić sobie z paroma agentami RMA odpalonymi jednocześnie.

  • Dummy Agent to narzędzie do debugowania własnych agentów, w szczególności do analizowania komunikacji agentów. Zapewnia on graficzną konsolę do wysyłania i odbierania dowolnych komunikatów języka ACL.

  • Sniffer to specjalny agent, który może “podsłuchiwać” komunikaty przesyłane między agentami.

  • Introspector Agent to pozwalający nam monitorować cykl życia innych agentów.

  • Socket Proxy Agent to prosty programik pełniący funkcję proxy (bramki) pomiędzy komunikatami ACL a normalnym połączeniem TCP/IP.

  • DF GUI stanowi graficzny interfejs do katalogu Directory Faciliator.



Platforma


Model platformy agentowej oferowanej przez JADE opisuje poniższy diagram:

Rys.7 Model platformy agentowej


Warto zwrócić uwagę na dwa obiekty:

  • Agent Management System (AMS) to agent udostępniający usługę kontroli nad dostępem i wykorzystaniem platformy agentowej. Tylko jeden agent AMS może funkcjonować w danej działającej platformie. Agent AMS odpowiada za identyfikację (odwzorowanie adresów w adresatów) oraz funkcje związane z cyklem życia agentów. Każdy agent posiada własny identyfikator, AID, przechowywany właśnie w tej usłudze.

  • Directory Faciliator to agent zapewniający usługę katalogową. Dzięki tej usłudze agenci mogą wyszukiwać innych agentów oferujących dany typ usług, a także rejestrować się i derejestrować.

Poniższy diagram przedstawia zależność między platformą JADE, wirtualnymi maszynami Javy i systemem operacyjnym:



Rys.8 Model zależności



Pobieranie 347.22 Kb.

Share with your friends:
1   2   3   4   5   6   7   8   9   10




©operacji.org 2020
wyślij wiadomość

    Strona główna