Java Agent DEvelopment Framework Systemy Agentowe



Podobne dokumenty
Java Agent DEvelopment Framework Systemy Agentowe

Architektury Usług Internetowych. Laboratorium 3. Usługi w środowisku wielo-agentowym

Architektury usług internetowych. Laboratorium 5. JADE

JADE Java Agent Development Framework. MiASI2, TWO2,

Dialogowe akty mowy w modelach sztucznej inteligencji

JADE Java Agent Development Framework. MiASI2, TWO2,

Agentowe języki komunikacji (KIF, KQML, ACL)

Komunikacja w systemie wieloagentowym

Architektury Usług Internetowych. Laboratorium 5

JADE - Java Agent DEvelopment Framework

Informatyka Systemów Autonomicznych Praca zaliczeniowa

Aplikacje Internetowe termin dodatkowy

Propozycja integracji elementów ±wiata gry przy u»yciu drzew zachowa«

UNIWERSALNA PLATFORMA WIELOAGENTOWA UMAP

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Przetwarzanie Zespołowe

Systemy wieloagentowe (MAS) struktura komunikacji między agentami. Autor: Zofia Kruczkiewicz

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Opis efektów kształcenia dla modułu zajęć

Wprowadzenie do J2ME

Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść.

Dokumentacja techniczna

Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść.

Praca Dyplomowa Magisterska

Android, wprowadzenie do SDK

Przewodnik zdalnej instalacji

Java. Michał Wójcik.

Tworzenie aplikacji w języku Java

Aplikacje RMI Lab4

Laboratorium Programowania Kart Elektronicznych

Aplikacje RMI

Kierunek: Informatyka rev rev jrn Stacjonarny EN 1 / 6

Simple Network Management Protocol

Weronika Radziszewska IBS PAN

JDK 7u25 NetBeans Zajęcia 1 strona - 1

Programowanie w języku Java

Application of the multi-agent systems in the context of the multi-commodity market model M 3

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

Healthix Consent Web-Service Specification

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED

Laboratoria zdalne ZTiT

Programowanie komponentowe

Konspekt pracy inżynierskiej

INFORMATOR TECHNICZNY WONDERWARE

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Materiały dodatkowe. Raspberry Pi

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Technologie internetowe laboratorium nr 4. Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

I2: J2ME programowanie w NetBeans IDE Wydział Transportu PW semestr /11

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Spring Web MVC, Spring DI

XML-RPC: Zdalne wykonywanie procedur

Aktualizacja środowiska JAVA a SAS

VTcenter. Built documentation. Datei: Plik: KRAKAU_VTcenter_Built_Documentation_ doc. TRISTAR_VTcenter_Built_Documentation_

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Zarządzanie sieciami komputerowymi - wprowadzenie

Od wymagań do Javy w mgnieniu oka

Matlab jako klient OPC. Przykład wysyłania i odbierania danych z PLC za pośrednictwem DA Serwera.

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Politechnika Śląska, Instytut Informatyki

Granty na Granty II edycja

Jolanta Łukowska Małgorzata Pakowska Stanisław Stanek Mariusz ytniewski

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Tworzenie aplikacji mobilnych do monitoringu środowiska - nowa specjalność magisterska w języku angielskim (MADEM)

Rozproszone systemy Internetowe

klikamy Next 4. Wybieramy zgodność z systemem Virtual Machine hardware compatibility z listy zaznaczamy Workstation 6 Next 5.

Tworzenie i wykorzystanie usług

Enterprise JavaBeans

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6

Opis protokołu RPC. Grzegorz Maj nr indeksu:

ProActive Parallel Suite

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Wykład10, 11. ACL - język komunikacji między agentami. ACL - Agent Communication Language

Automatyzacja procesu tworzenia i zarządzania Wirtualnymi Organizacjami w oparciu o wiedzę w zastosowaniu do architektur zorientowanych na usługi

TELEFONIA INTERNETOWA

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Laboratorium - Poznawanie FTP

11. Sesja Linuksowa. Usªuga katalogowa na przykªadzie. Jakub Juszczakiewicz. 1 / 20 Jakub Juszczakiewicz Usªuga katalogowa na przykªadzie OpenLDAP

PFU.Z11 Standardy i normy w projekcie

SAS 9.3 Instalacja SAS Enterprise Miner 7.1 w wersji Workstation

komunikator na platformę Android wspierający protokół GG

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

INFORMATOR TECHNICZNY WONDERWARE

ZADANIE.08. RADIUS (authentication-proxy, IEEE 802.1x) 2h

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium

5.1. MINIPOS MINIPOS. INSTALACJA ORAZ URUCHOMIENIE USŁUGI

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

raceboard-s Szybki start

Zadanie 2: transakcyjny protokół SKJ (2015)

Win Admin Replikator Instrukcja Obsługi

Systemy rozproszone. Dr inż. L. Miękina. Department of Robotics and Mechatronics AGH University of Science and Technology 1/1

Bezpieczeństwo systemów informatycznych

INFORMATOR TECHNICZNY WONDERWARE

Transkrypt:

Java Agent DEvelopment Framework Systemy Agentowe Michaª Wójcik Katedra Architektury Systemów Komputerowych Wydziaª Elektroniki, Telekomunikacji i Informatyki Politechnika Gda«ska 5 pa¹dziernika 2011 Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 1 / 28

Konspekt 1 Wst p JADE Wymagania Uruchomienie 2 Agent Typy agentów w JADE Usªugi Dziaªanie agenta Komunikacja 3 Podsumowanie Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 2 / 28

JADE JADE Java Agent DEvelopment Framework: stworzony przez Telecom Italia, nadzorowany przez: Telecom Italia, Motorola, Whitestein Technologies AG, Profactor GmbH oraz France Telecom R&D, caªkowicie zaimplementowany w j zyku Java, zgodny ze standardem FIPA [4], dost pny na licencji LGPL. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 3 / 28

Wymagania JADE 4.1: Java SE 1.5 (JRE, JDK), Java ME + CDC + Personal Prole, Java ME + CLDC + MIDP 1.0/2.0, Android 2.1, sie, nazwy hostów (dla poprawnej komunikacji pomi dzy kontenerami), ±rodowisko graczne (do gracznego zarz dzania). Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 4 / 28

Instalacja http://jade.tilab.com/ export $CLASSPATH: jade.jar, commons-codec-1.3.jar. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 5 / 28

Uruchomienie java -cp $CLASSPATH jade.boot [options] -container - instancja nie b d ca kontenerem gªównym, -host - nazwa hosta, gdzie zostaª uruchomiony gªówny kontener, -local-host - nazwa hosta, gdzie jest uruchamiany kontener, -port - port, na którym nasªuchuje gªówny kontener, -local-port - port, na którym b dzie nasªuchiwaª uruchamiany kontener, -gui - uruchamia RMA, -name - nazwa platformy, -container-name - nazwa uruchamianego kontenera. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 6 / 28

Typy agentów Typy agentów w JADE: Agent, df (Directory Facilitator) katalog usªug, DummyAgent agent zarz dzany przez u»ytkownika, SocketProxyAgent, Introspector debugowanie, LogManagerAgent zarz dzanie logami, rma Remote Management Agent GUI, ams Agent Management System, Snier podsªuchiwanie agentów, TestAgent agent zarz dzany przez u»ytkownika, GatewayAgent agent w zewn trznych aplikacjach. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 7 / 28

Directory Facilitator DF Directory Facilitator: katalog usªug, rejestrowanie i wyrejestrowywanie usªug, wyszukiwanie usªug, komunikacja poprzez wymian wiadomo±ci, jade.domain.dfservice, jade.domain.fipaagentmanagement.dfagentdescription. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 8 / 28

Rejestrowanie usªugi p r i v a t e v o i d r e g i s t e r S e r v i c e ( S t r i n g name ) { D F A g e n t D e s c r i p t i o n d f a d = new D F A g e n t D e s c r i p t i o n ( ) ; d f a d. setname ( getaid ( ) ) ; S e r v i c e D e s c r i p t i o n sd = new S e r v i c e D e s c r i p t i o n ( ) ; sd. s e t T y p e ( name ) ; sd. setname ( getlocalname ( ) + " " + name ) ; d f a d. a d d S e r v i c e s ( sd ) ; t r y { D F S e r v i c e. r e g i s t e r ( t h i s, d f a d ) ; catch ( E x c e p t i o n e ) { System. out. p r i n t l n ( e. getmessage ( ) ) ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 9 / 28

Wyrejestrowanie usªugi p r i v a t e v o i d d e r e g i s t e r S e r v i c e ( ) { t r y { D F S e r v i c e. d e r e g i s t e r ( t h i s ) ; catch ( E x c e p t i o n e ) { System. out. p r i n t l n ( e. getmessage ( ) ) ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 10 / 28

Wyszukiwanie usªug p u b l i c D F A g e n t D e s c r i p t i o n [ ] f i n d S e r v i c e s ( S t r i n g name ) { D F A g e n t D e s c r i p t i o n [ ] r e s u l t = n u l l ; D F A g e n t D e s c r i p t i o n d f a d = new D F A g e n t D e s c r i p t i o n ( ) ; S e r v i c e D e s c r i p t i o n sd = new S e r v i c e D e s c r i p t i o n ( ) ; sd. s e t T y p e ( name ) ; d f a d. a d d S e r v i c e s ( sd ) ; t r y { r e s u l t = D F S e r v i c e. s e a r c h ( t h i s, d f a d ) ; catch ( E x c e p t i o n e ) { System. out. p r i n t l n ( e. getmessage ( ) ) ; r e t u r n r e s u l t ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 11 / 28

Agent p u b l i c c l a s s MyAgent extends Agent { @ O v e r r i d e p r o t e c t e d v o i d s e t u p ( ) { / r e g i s t e r l a n g u a g e s / / r e g i s t e r o n t o l o g i e s / / r e g i s t e r s e r v i c e s / / add b e h a v i o u r s / Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 12 / 28

Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 13 / 28

Zachowanie agenta p u b l i c c l a s s MyBehaviour extends B e h a v i o u r { p u b l i c MyBehaviour ( Agent myagent ) { s u p e r ( myagent ) ; @ O v e r r i d e p u b l i c v o i d a c t i o n ( ) { myagent. getaid ( ) ; @ O v e r r i d e p u b l i c boolean done ( ) { r e t u r n t r u e ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 14 / 28

Schemat wysyªania wiadomo±ci A1 Prepare the message to A2 A2 Get the message from the message queue and process it Send the message Post the message in A2 s message queue Distributed JADE runtime Rysunek: Przekazywanie wiadomo±ci [1] Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 15 / 28

Struktura wiadomo±ci parameter performative sender receiver reply-to content language encoding ontology protocol conversation-id reply-with in-reply-to reply-by Tabela: Parametry wiadomo±ci [6] category of parameters type of communicative acts participant in communication content of message description content control of conversation Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 16 / 28

Typy komunikatów Tabela: Typy komunikatów [5] proposal accept proposal reject proposal query if conrm disconrm request refuse agree inform not understood zªo»enie propozycji akceptacja propozycji odrzucenie propozycji pytanie czy stwierdzenie jest prawdziwe stwierdzenie jest prawdziwe stwierdzenie jest faªszywe» danie wykonania akcji odmowa wykonania akcji zgoda na wykonanie akcji (w przyszªo±ci) informacja lub wynik akcji niezrozumiaªa wiadomo± Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 17 / 28

Wysyªanie wiadomo±ci ACLMessage msg = new ACLMessage ( ) ; msg. a d d R e c e i v e r ( new AID ( " r e c e i v e r ", f a l s e ) ) ; msg. s e t P e r f o r m a t i v e ( ACLMessage. INFORM ) ; msg. s e t C o n t e n t ( " message " ) ; msg. s e t C o n t e n t O b j e c t ( new O b j e c t ( ) ) ; myagent. send ( msg ) ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 18 / 28

Odbieranie wiadomo±ci ACLMessage msg = myagent. r e c e i v e ( ) ; ACLMessage msg = myagent. b l o c k i n g R e c e i v e (TIMEOUT ) ; i f ( msg!= n u l l ) { ACLMessage r e p l y = msg. c r e a t e R e p l y ( ) ; r e p l y. s e t C o n t e n t ( " r e p l y " ) ; myagent. send ( r e p l y ) ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 19 / 28

Ontologie Rysunek: Referencyjny model tre±ci [3] Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 20 / 28

Ontologie p u b l i c c l a s s MyOntology extends BeanOntology { p r i v a t e s t a t i c f i n a l S t r i n g NAME = "my o n t o l o g y " ; p r i v a t e s t a t i c O ntology t h e I n s t a n c e = new MyOntology (NAME) ; p u b l i c s t a t i c O ntology g e t I n s t a n c e ( ) { r e t u r n t h e I n s t a n c e ; p r i v a t e MyOntology ( S t r i n g name ) { s u p e r ( name ) ; t r y { add ( C o n c e p t I m p l. c l a s s ) ; add ( P r e d i c a t e I m p l. c l a s s ) ; catch ( E x c e p t i o n e ) { Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 21 / 28

Ontologie p u b l i c c l a s s MyAgent extends Agent { @ O v e r r i d e p r o t e c t e d v o i d s e t u p ( ) { ContentManager cm = getcontentmanager ( ) ; cm. r e g i s t e r L a n g u a g e ( new SLCodec ( ) ) ; cm. r e g i s t e r O n t o l o g y ( MyOntology. g e t I n s t a n c e ( ) ) ; Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 22 / 28

Pakowanie wiadomo±ci C o n t e n t E l e m e n t ce = new P r e d i c a t e I m p l ( ) ; C o n t e n t E l e m e n t ce = new A c t i o n ( i d, new C o n c e p t I m p l ( ) ) ; msg. s e t O n t o l o g y ( o n t o l o g y ) ; msg. s e t L a n g u a g e ( new SLCodec ( ). getname ( ) ) ; t r y { myagent. getcontentmanager ( ). f i l l C o n t e n t ( msg, ce ) ; catch ( E x c e p t i o n e ) { Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 23 / 28

Wypakowywanie wiadomo±ci C o n t e n t E l e m e n t ce ; t r y { ContentManager cm = myagent. getcontentmanager ( ) ; ce = ( C o n t e n t E l e m e n t ) cm. e x t r a c t C o n t e n t ( msg ) ; catch ( E x c e p t i o n e ) { i f ( ce i n s t a n c e o f C o n t e n t E l e m e n t L i s t ) { C o n t e n t E l e m e n t L i s t c e l = ( C o n t e n t E l e m e n t L i s t ) ce ; f o r ( C o n t e n t E l e m e n t e : c e l. t o A r r a y ( ) ) { Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 24 / 28

Bibliograa I [1] Fabio Bellifemine, Giovanni Caire, Tiziana Trucco, and Giovanni Rimassa. JADE Programmer's Guide. Telecom Italia Lab, April 2010. [2] Fabio Bellifemine, Giovanni Caire, Tiziana Trucco, Giovanni Rimassa, and Roland Mungenast. JADE Administrator's Guide. Telecom Italia Lab, April 2010. [3] Fabio Luigi Bellifemine, Giovanni Caire, and Dominic Greenwood. Developing Multi-Agent Systems with JADE. Wiley, 2007. [4] FIPA Foundations for Intelligent Physical Agents. Standard Status Specications. http://www.fipa.org/repository/standardspecs.html. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 25 / 28

Bibliograa II [5] FIPA Foundations for Intelligent Physical Agents. FIPA Communicative Act Library Specication, December 2002. [6] FIPA Foundations for Intelligent Physical Agents. FIPA Message Structure Specication, December 2002. [7] Telecom Italia Lab. Java Agent DEvelopment Framework Documentation. http://jade.tilab.com/doc/index.html. Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 26 / 28

Pytania? Pytania? Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 27 / 28

Dzi kuj! Dzi kuj za uwag! Michaª Wójcik (KASK, ETI, PG) JADE 5 pa¹dziernika 2011 28 / 28