Inteligentni agenci JACK

Inteligentni agenci JACK
Wersja stabilna
5.6 / 1 lipca 2015 ( 01.07.2015 )
Napisane w Jawa
System operacyjny Międzyplatformowe
Typ Struktura systemu wieloagentowego
Licencja Prawnie zastrzeżony
Strona internetowa www .agent-software .com .au /products /jack /

JACK Intelligent Agents to framework w Javie do tworzenia systemów wieloagentowych. JACK Intelligent Agents został zbudowany przez Agent Oriented Software Pty. Ltd. (AOS) i jest platformą agenta trzeciej generacji, opartą na doświadczeniach systemu wnioskowania proceduralnego ( PRS) i rozproszonego systemu wnioskowania wieloagentowego (dMARS). JACK jest jednym z niewielu systemów wieloagentowych, który wykorzystuje BDI i zapewnia własny język planowania oparty na Javie oraz graficzne narzędzia planowania.

Historia

JACK Intelligent Agents został początkowo opracowany w 1997 roku przez byłych członków Australijskiego Instytutu Sztucznej Inteligencji (AAII lub A 2 I 2 ), którzy byli zaangażowani w projektowanie, wdrażanie i stosowanie PRS w SRI International i/lub dMARS w AAII. Platforma JACK została napisana z myślą o komercyjnym zastosowaniu paradygmatu wieloagentowego ( COTS ) do rozwiązywania złożonych problemów i była podstawą do powstania firmy Agent Oriented Software (AOS), w której pozostaje sztandarowym produktem.

Cechy

JACK Intelligent Agents to dojrzała komercyjna platforma wieloagentowa, która od ponad 10 lat jest przedmiotem aktywnych badań, rozwoju i aplikacji specyficznych dla domeny. Poniżej znajduje się lista kluczowych cech wyróżniających platformę.

  • Agent Run-time : Rdzeniem platformy jest rozszerzalne, wieloagentowe środowisko wykonawcze. Po określeniu specyficznych dla domeny agentów, planów, zdarzeń, możliwości itp. Jądro JACK zarządza wykonaniem systemu, w tym przekazywaniem komunikatów, rozumowaniem i meta-rozumowaniem.
  • JACK Plan Language (JPL) : JACK zapewnia specyficzny dla agentów język planów do pisania planów JACK (dyskretne rozumowanie wykonywane przez agentów). Język planu jest rozszerzeniem języka Java i oferuje polecenia, takie jak @send i @post do przesyłania wiadomości między agentami, a także do zarządzania akcjami, podzadaniami i utrzymywaniem warunków. Plany są kompilowane w klasy Java do wykonania w czasie wykonywania JACK, oferując szybkość i poprawność wykonania.
  • Model przekonania-pragnienia-intencji : Oprócz klasycznego modelu agenta (nie-BDI), platforma realizuje model oprogramowania BDI , w którym przekonaniami zarządzają zestawy przekonań zawarte w agentach, pragnienia są celami, do których agent dąży, a intencje to meta-rozumowanie i rozumowanie oparte na planach, których agenci JACK używają do osiągnięcia obecnego celu.
  • Możliwości : Platforma zapewnia możliwości, które są abstrakcjami typowych zachowań przejawiających się jako kompleks planów i zdarzeń. Możliwości zapewniają sposób koncepcyjnego łączenia typowych zachowań i działań oraz ponownego wykorzystywania ich przez agentów.
  • Środowisko programistyczne JACK (JDE) : Systemy wieloagentowe można pisać w kodzie Java i języku planu JACK w standardowym IDE , chociaż platforma zapewnia IDE zorientowane na agenta, zwane JACK Development Environment lub JDE. JDE zapewnia narzędzia graficzne do pisania planów, łączenia planów z agentami, zarządzania komunikacją między agentami, a także kompilowania i uruchamiania. JDE zapewnia również narzędzia graficzne do debugowania i śledzenia wykonywania planów i przekazywania komunikatów między agentami.
  • Plany graficzne : kluczową cechą JDE jest możliwość pisania planów graficznych i zarządzania nimi. Są to rozumowania dyskretne wykonywane przez agenta reprezentowane graficznie w postaci schematu blokowego, umożliwiające programiście zarządzanie kodem wykonywanym w każdym kroku grafu wnioskowania, a ekspertowi merytorycznemu zarządzanie logicznym przepływem rozumowania w oparciu o ludzkie czytelna dokumentacja na każdym węźle.
  • JACK Object Modeller (JACOB) : Technologia serializacji obiektów używana przez środowisko wykonawcze JACK do inicjalizacji obiektów i komunikacji między procesami. Obiekty Java są serializowane do czytelnego dla człowieka ASCII , niezbyt podobnego do YAML i XML .
  • Niezależność platformy : Platforma JACK jest napisana w języku Java , co umożliwia wdrażanie wieloagentowych systemów JACK na szerokiej gamie platform obsługujących wirtualną maszynę Java . Obecnie JACK można zainstalować w systemach operacyjnych Microsoft Windows tylko przy użyciu 32-bitowej maszyny wirtualnej Java , ale działa również na 64-bitowej wirtualnej maszynie Java . W najnowszych wersjach systemów operacyjnych Mac OS X (począwszy od Mac OS X Lion ) JACK można zainstalować tylko za pomocą instalatora konsoli .

Rozszerzenia

Platforma JACK od momentu powstania była wielokrotnie rozbudowywana. Większość rozszerzeń, takich jak JACK Teams i CoJACK, została opracowana przez firmę AOS lub we współpracy z nią.

  • JACK Teams : Rozszerzenie modelu oprogramowania BDI , które ułatwia agentom współpracę w zespołach w celu osiągnięcia celu. Podobnie jak JACK, JACK Teams obsługuje własny język planowania, który AOS nazywa programowaniem zorientowanym na zespół . JACK Teams jest zintegrowany i dostępny jako część platformy JACK Intelligent Agents.
  • CoJACK : rozszerzenie platformy JACK, które dodaje architekturę kognitywną do agentów w celu wywoływania bardziej realistycznych (podobnych do ludzi) zachowań w środowiskach wirtualnych.
  • FIPA JACK : Rozszerzenie platformy JACK obsługujące język FIPA Agent Communications Language .
  • Prometheus : skoncentrowana na agentach metodologia inżynierii oprogramowania do zarządzania SDLC systemu opartego na wielu agentach. JACK posłużył jako podstawa do zbadania, porównania i przetestowania metodologii. Projekt Prometheus obejmował opracowanie narzędzia projektowego Prometheus (PDT), które było opartym na graficznym interfejsie użytkownika narzędziem do zarządzania kwestiami projektowymi w procesie.
  • JACK Eclipse Plug-in : Wtyczka ułatwiająca tworzenie systemów opartych na JACK w środowisku Eclipse IDE . W szczególności wtyczka dodaje do Eclipse możliwości obsługi typów plików JACK (takich jak .plan, .agent itp.), a także obsługę języka planu JACK.
  • JACK WebBot : rozszerzenie, które osadza jądro JACK na serwerze WWW Apache Tomcat , umożliwiając interakcję z inteligentnymi agentami i formułowanie odpowiedzi na żądania HTTP (za pośrednictwem interfejsu Java Servlet API).

Zobacz też

Notatki

Linki zewnętrzne