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

Architektury Usług Internetowych. Laboratorium 5

JADE - Java Agent DEvelopment Framework

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

Aplikacje Internetowe termin dodatkowy

Przetwarzanie Zespołowe

JADE Java Agent Development Framework. MiASI2, TWO2,

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

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

JADE Java Agent Development Framework. MiASI2, TWO2,

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Podpisywanie i bezpieczne uruchamianie apletów wg

Java, bazy danych i SSL

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

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

JAVA I SIECI. MATERIAŁY:

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Laboratorium Programowania Kart Elektronicznych

Wprowadzenie do J2ME

Programowanie w języku Java

Aplikacje RMI Lab4

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

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

Bezpieczeństwo systemów informatycznych

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Java. Michał Wójcik.

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Instrukcja generowania żądania CSR SOW WERSJA 1.6

Procedura migracji opisana jest w zrzutach poniżej. 1. Należy pobrać aplikację Mozilla Thunderbird Portable Edition

Należy zalogować się do starego systemu pocztowego, znajdującego się pod adresem podanym powyżej. Kliknąć 'Options'

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Aplikacje RMI

Dokumentacja techniczna

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Java jako zdalny interfejs aplikacji Webowych aplety

7. zainstalowane oprogramowanie zarządzane stacje robocze

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

Programowanie aplikacji na urządzenia mobilne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Java Code Signing UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Hurtownie danych - przegląd technologii

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017






W Y B Ó R S T R U M I E N I I P R O F I L I D Y P L O M O W A N I A

12. Wirtualne sieci prywatne (VPN)

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

ZiMSK. Konsola, TELNET, SSH 1

Laboratorium nr 6 VPN i PKI

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

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM. VPN / OpenVPN

Metryka dokumentu. str. 2. Tytuł. CEPiK 2 dostęp VPN. Centralny Ośrodek Informatyki. Zatwierdzający. Wersja Data Kto Opis zmian.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Enterprise Java Beans Narzędzia i Aplikacje Java EE

Java Platform Micro Edition

WSNHiD, Programowanie 2, Lab. 3. Trwałość danych

Wpªyw wdro»enia IPv6 na bezpiecze«stwo sieci

SSH. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

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

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Win Admin Monitor Instrukcja Obsługi

Bezpieczeństwo poczty elektronicznej

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Ćwiczenie 9 - Zaawansowane metody programowania w sieci komputerowej

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Programowanie poprzez testy z wykorzystaniem JUnit

OPIS PRZEDMIOTU ZAMÓWIENIA. Dotyczy postępowania : Zakup licencji na system zabezpieczeń dla Urzędu Miejskiego w Gliwicach.

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

Remote Method Invocation 17 listopada 2010

INSTRUKCJA INSTALACJI I OBSŁUGI GPG4Win

Laboratoria zdalne ZTiT

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Bezpieczne uruchamianie apletów wg

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

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Bezpieczeństwo w aplikacjach Java

Sieci Komputerowe Laboratorium 11. VLAN i VTP

Podejście obiektowe do budowy systemów rozproszonych

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

CEPiK 2 dostęp VPN v.1.7

Weronika Radziszewska IBS PAN

ZADANIE.06 Zarządzanie konfiguracją urządzeń (tryb tekstowy i graficzny) 2,5h

Politechnika Śląska, Instytut Informatyki

Java a dost p do Internetu.

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Toccat. wersja 1.0 UNIZETO TECHNOLOGIES S.A.

STWORZENIE PRZYKŁADOWEJ

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

Transkrypt:

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

Konspekt 1 Uruchomienie Bezpiecze«stwo SSL i uwierzytelnianie Bezpiecze«stwo topologia pier±cie«2 Agent Zewn trzne aplikacje Dziaªanie agenta 3 Migracja Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 2 / 30

Uruchomienie Uruchamianie kontenerów jade: java -cp $CLASSPATH jade.boot -nomtp wyª czenie usªug komunikacji, -icps ustawienie protokoªów komunikacji, -backupmain zapasowy gªówny kontener, -services usªugi uruchomione na platformie: jade.core.replication.mainreplicationservice, jade.core.replication.adressnotocationservice, jade.core.mobility.agentmobilityservice. Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 3 / 30

Kontenery AgentPlatform Main-Container Container-1 RMA ams a2 a5 df Container-2 a1 a4 a3 a6 Rysunek: Kontenery w JADE Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 4 / 30

Kontenery poª czenie SSL AgentPlatform Main-Container keystore0 Container-1 keystore1 Container-2 keystore2 Rysunek: Kontenery w JADE Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 5 / 30

Uwierzytelnienie AgentPlatform Main-Container keystore0 Container-1 keystore1 truststore1 truststore0 Container-2 keystore2 truststore2 Rysunek: Kontenery w JADE Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 6 / 30

Poª czenie SSL i Uwierzytelnienie uruchomienie java -Djavax.net.ssl.keyStore=keystore -Djavax.net.ssl.keyStorePassword=storepass -Djavax.net.ssl.keyPassword=storepass -Djavax.net.ssl.trustStore=truststore -Djavax.net.ssl.trustStorePassword=storepass jade.boot -host hostname -port 5500 -local-host localhostname -local-port 5500 -nomtp -icps jade.imtp.leap.jicp.jicpspeer Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 7 / 30

Java keytool Java keytool - Key and Certicate Management Tool. Przykªadowe wywoªania: keytool -genkey -alias name -keyalg RSA -dname CN=jade, OU=unit, O=org, L=city, ST=state, C=PL -keystore keystore -keypass storepass -storepass storepass keytool -export -keystore keystore -storepass storepass -alias name -le name.cer keytool -import -keystore truststore -storepass storepass -alias name -le name.cer -noprompt Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 8 / 30

Topologia gwiazdy Container-1 Main-Container Container-3 Container-2 Rysunek: Topologia gwiazdy w JADE Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 9 / 30

Pier±cie«Container-1 Main-Container-2 Main-Container-3 Main-Container-1 Container-3 Container-2 Rysunek: Pier±cie«w JADE Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 10 / 30

Pier±cie«uruchomienie java jade.boot -host hostname -local-host localhostname -port 5500 -local-port 5500 -container-name name -services jade.core.replication.mainreplicationservice; jade.core.replication.addressnoticationservice java jade.boot (host & port) -container-name name1 -backupmain -services jade.core.replication.mainreplicationservice; jade.core.replication.addressnoticationservice java jade.boot -container (host & port) -container-name name2 -gui -services jade.core.replication.addressnoticationservice Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 11 / 30

Pier±cie«+ szyfrowanie i uwierzytelnienie uruchomienie java -Djavax.net.ssl.keyStore=keystore1 -Djavax.net.ssl.keyStorePassword=mysecretpassword -Djavax.net.ssl.trustStore=truststore1 jade.boot (host & port) -container-name name1 -nomtp -icps jade.imtp.leap.jicp.jicpspeer -services jade.core.replication.mainreplicationservice; jade.core.replication.addressnoticationservice java (keystore, password, truststore) jade.boot (host & port) -container-name name2 -backupmain -nomtp -icps jade.imtp.leap.jicp.jicpspeer -services jade.core.replication.mainreplicationservice; jade.core.replication.addressnoticationservice java (keystore, password, truststore) jade.boot -container (host & port) -container-name name3 -gui -nomtp -icps jade.imtp.leap.jicp.jicpspeer -services jade.core.replication.addressnoticationservice Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 12 / 30

Gateway Problem: agenty komunikuj si tylko w ±rodowisku agentowym, potrzeba komunikacji z zewn trz. Uruchomienie: import j a d e. u t i l. l e a p. P r o p e r t i e s ; P r o p e r t i e s p r o p e r t i e s = new P r o p e r t i e s ( ) ; p r o p e r t i e s. s e t P r o p e r t y ( " h o s t ", " des16 " ) ; System. s e t P r o p e r t y ( " k e y s t o r e ", " keystore_name " ) ; JadeGateway. i n i t ( " g a t e w a y _ a g e n t _ c l a s s ", p r o p e r t i e s ) ; O b j e c t command = new Command ( ) ; JadeGateway. e x e c u t e ( command ) ; Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 13 / 30

Gateway p u b l i c c l a s s MyAgent extends GatewayAgent { @ O v e r r i d e protected void processcommand ( O b j e c t command ) { releasecommand ( command ) ; } } Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 14 / 30

Skomplikowane zachowania Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 15 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 16 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 17 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 18 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 19 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 20 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 21 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 22 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 23 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 24 / 30

Zachowanie Rysunek: Zachowania agenta Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 25 / 30

Migracja konguracja p u b l i c MyAgent extends Agent { @ O v e r r i d e protected void 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 ( M o b i l i t y O n t o l o g y. g e t I n s t a n c e ( ) ) ; } } Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 26 / 30

Migracja przed i po @ O v e r r i d e protected void beforemove ( ) { System. out. p r i n t l n ( " l e a v i n g " ) ; } // s a v e s t a t e // s t o p t h r e a d s @ O v e r r i d e protected void a f t e r M o v e ( ) { System. out. p r i n t l n ( " h e r e I am" ) ; } // r e s t o r e s t a t e // resume t h r e a d s Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 27 / 30

Migracja lista kontenerów I p u b l i c L i s t g e t C o n t a i n e r s ( ) { Q u e r y P l a t f o r m L o c a t i o n s A c t i o n q u e r y ; q u e r y = new Q u e r y P l a t o f r m L o c a t i o n s A c t i o n ( ) ; ACLMessage r e q u e s t ; r e q u e s t = new ACLMessage ( ACLMessage. REQUEST ) ; r e q u e s t. s e t L a n g u a g e ( new SLCodec ( ). getname ( ) ) ; r e q u e s t. s e t O n t o l o g y ( M o b i l i t y O n t o l o g y. g e t I n s t a n c e ( ). getnam r e q u e s t. a d d R e c e i v e r ( getams ( ) ) ; A c t i o n a c t i o n = new A c t i o n ( getams ( ), q u e r y ) ; ContentManager cm = getcontentmanager ( ) ; t r y { cm. f i l l C o n t e n t ( r e q u e s t, a c t i o n ) ; send ( r e q u e s t ) ; } catch ( E x c e p t i o n e ) { } Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 28 / 30

Migracja lista kontenerów II L i s t l o c a t i o n s = n u l l ; MessageTemplate mt ; mt = MessageTemplate. MatchSender ( getams ) ; ACLMessage msg = b l o c k i n g R e c e i v e ( mt ) ; t r y { C o n t e n t E l e m e n t ce = cm. e x t r a c t C o n t e n t ( msg ) ; l o c a t i o n s = ( ( R e s u l t ) ce ) g e t I t e m s ( ) ; } catch ( E x e c e p t i o n e ) { } } r e t u r n l o c a t i o n s ; Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 29 / 30

Migracja L i s t <L o c a t i o n > l o c a t i o n s = g e t L o c a t i o n s ( ) ; L o c a t i o n l o c a t i o n = l o c a t i o n s. g e t ( 0 ) ; myagent. domove ( l o c a t i o n ) ; myagent. doclone ( l o c a t i o n, "new_name" ) ; Michaª Wójcik (KASK, ETI, PG) JADE 27 pa¹dziernika 2011 30 / 30