Inteligentni agenci JACK
Wersja stabilna | 5.6 / 1 lipca 2015
|
---|---|
Napisane w | Jawa |
System operacyjny | Międzyplatformowe |
Typ | Struktura systemu wieloagentowego |
Licencja | Prawnie zastrzeżony |
Strona internetowa |
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ż
- Model oparty na agentach
- Język komunikacji agenta
- Agent autonomiczny
- Model oprogramowania wiara-pragnienie-intencja
- Architektura kognitywna
- Rozproszony wieloagentowy system wnioskowania
- Inteligentny agent
- Framework rozwoju agenta Java
- System wieloagentowy
- Proceduralny system rozumowania
- Agent oprogramowania
Notatki
- Paolo Busetta, Ralph Ronnquist, Andrew Hodgson i Andrew Lucas (1999) JACK Intelligent Agents – Components for Intelligent Agents in Java , AgentLink News, wydanie 2.
- Nick Howden, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (2001) Inteligentni agenci JACK - Podsumowanie infrastruktury agenta . Materiały z V Międzynarodowej Konferencji Agentów Autonomicznych
- P. Busetta, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (1999) Light-Weight Intelligent Software Agents in Simulation , in Proceedings of the Simulation Technology and Training (SimTecT 99), Melbourne, Australia
- M. Winikoff (2005) Inteligentni agenci JACK: platforma siły przemysłowej . W programowaniu wieloagentowym. Skoczek.
- J. Tweedale, N. Ichalkaranje, C. Sioutis, B. Jarvis, A. Consoli, G. Phillips-Wren, „ Innowacje w systemach wieloagentowych ” ( PDF ), Journal of Network and Computer Applications, tom 30, wydanie 3 , sierpień 2007, strony 1089–1115
- Rick Evertsz, Martyn Fletcher, Richard Jones, Jacquie Jarvis, James Brusey, Sandy Dance: wdrażanie przemysłowych systemów wieloagentowych za pomocą JACK . w Programowanie systemów wieloagentowych (PROMAS) 2003: 18–48
- Øystein Spillum, A Comparison between JACK Intelligent Agents and JACK Teams Applied in Teamwork , praca magisterska, Norweski Uniwersytet Nauki i Technologii, listopad 2008
Linki zewnętrzne
- Strona główna Agent Oriented Software Pty. Ltd. (AOS)
- JACK Strona produktu
- Oficjalna dokumentacja JACK – w tym instrukcje obsługi i samouczki
- Australijska JSF Historia dostaw dla AOS