mechanizmy mobilności języka java w systemach wieloagentowych
Transkrypt
mechanizmy mobilności języka java w systemach wieloagentowych
MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH Autor: Zofia Kruczkiewicz Politechnika Wrocławska Wydział Elektroniki, Instytut Informatyki, Automatyki i Robotyki 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 1 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładowego MAS Zastosowanie inŜynierii odwrotnej do wykazania spójności modeli projektowego i implementacji Eksperymenty Zakończenie 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 2 Struktura prezentacji 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 3 Struktura prezentacji Wprowadzenie do MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 3 System wieloagentowy - MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 4 Techniki tworzenia MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 5 Struktura prezentacji Wprowadzenie do MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 6 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 6 Technologia MASE Hierarchia celów Określenie celów Początkowy kontekst systemu Przypadki uŜycia (Use Cases) Zadania współbieŜne Diagramy sekwencji Określenie przypadków uŜycia Role Udoskonalanie ról Klasy agentów Architektura agentów Diagramy wdroŜenia 2005-09-10 Tworzenie klas agentów Konstruowanie konwersacji Konwersacje Analiza Projekt Grupowanie klas agentów Projektowanie systemu MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 7 Architektura systemu wieloagentowego w ramach technologii MASE MaSE Agent A Konwersacja m Start Inicjujące Środowisko nadawanie agentów Podstawowy komponent agenta Start Konwersacja q Inicjujący odbiór Start Komponent p Zewnętrzny odbiór Komponent a Komponent c MaSE Agent B Pozostałe wiadomości Zewnętrzny odbiór Podstawowy komponent agenta Inicjujące nadawanie Inicjujący odbiór Pozostałe wiadomości Komponent r Start Konwersacja s Konwersacja b Mechanizm przesyłania wiadomości: serializacja 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 8 Narzędzie AgentTool w technologii MASE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 9 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 10 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 10 Infrastruktura fizyczna MAS – System JADE oparty na specyfikacji FIPA Platforma Agenta (AP) Agent System Zarządzania Agentami (AMS) Katalog Usług (DF) System transportu wiadomości (MTS) System transportu wiadomości (MTS) Platforma Agenta (AP) 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 11 Rozproszona AP w systemie JADE Host 1 Host 2 Host 3 Agent Agent Agent Agent Agent Agent AMS DF Rozproszona Platforma Agenta JADE Rejestr RMI Główny kontener kontener kontener Warstwa sieciowa JRE 1.2 JRE 1.2 JRE 1.2 Mechanizm przesyłania wiadomości: RMI 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 12 Wątek Agenta w technologii JADE Inicjalizacja Dodanie zadania inicjującego setup() Agent jest usuwany? (Czy wywołano metodę doDelete() ) Tak Nie Weź następne zadanie z puli zadań aktywnych b.action() Nie b.done()? Tak Usuń bieŜące zadanie z puli aktywnych zadań takeDown() 2005-09-10 Okres istnienia agenta Metody zaznaczone grubą linią powinien zdefiniować programista Przywracanie pamięci MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 13 Środowisko graficzne JADE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 14 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 15 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 16 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do do implementacji przykładowego MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 16 Diagram protokołu interakcji (PD) client_server-net typu user-defined w JADE oraz symbole PD a) Sender1: sender1 Pong1: pong1 Querry_ref(register) b) Symbole meta-UML x typ decyzji: jeden z wielu typ decyzji: kilka z wielu Inform (reply) 2005-09-10 typ równoległości AND MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 17 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 18 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 18 MASE- aplikacja client-server w środowisku AgentTool Analiza Diagram celów Diagram sekwencji jako scenariusz diagramu use case 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 19 Diagram opisujący use case aa) Diagram ról aplikacji client-server 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 20 Diagram stanów zadania Nadawanie roli client Diagram stanów zadania Odbior roli server 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 21 Diagram agentów z przydziałem ról systemu jako element projektu Projekt 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 22 Diagramy architektury, komponentów oraz konwersacji agenta Sender1 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 23 Diagramy architektury, komponentów oraz konwersacji agenta Pong1 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 24 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 25 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie inŜynierii odwrotnej do wykazania spójności modeli projektowego i implementacji 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 25 Diagram klas jako efekt inŜynierii odwrotnej dla aplikacji JADE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 26 Diagram klas jako efekt inŜynierii odwrotnej dla modelu MASE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 27 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie inŜynierii odwrotnej do wykazania spójności modelu projektowego i implementacji 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 28 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie inŜynierii odwrotnej do wykazania spójności modelu projektowego i implementacji Eksperymenty 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 28 MASs – układy pomiarowe Platforma agenta JADE Host 1 AMS Main Container DF Agenty MASE Host 1 server server Host 2 Host 2 Client Client Container 1 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 29 Eksperymenty Czas [ms ] 700 Ś re dni czas 600 500 400 JADE 300 MASE 200 100 0 0,01 0,02 0,05 0,1 0,2 0,5 1 2 5 10 20 rozmiar [kB] Średnie czasy przesyłania i odbioru wiadomości w MAS dla systemu JADE oraz MASE 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 30 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie inŜynierii odwrotnej do wykazania spójności modelu projektowego i implementacji Eksperymenty 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 31 Struktura prezentacji Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie inŜynierii odwrotnej do wykazania spójności modelu projektowego i implementacji Eksperymenty Zakończenie 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 31 Podsumowanie Przedstawiono elementy inŜynierii oprogramowania zorientowanego agentowo -Agent-Oriented Software Engineering (AOSE) Podano charakterystyki techniki MASE oraz JADE Przedstawiono projekt przykładowego MAS wykonanego w technice MASE i oprogramowanego w JADE Zastosowano inŜynierię odwrotną do określenia równowaŜności modeli i moŜliwości łączenia produktów obu technik: MASE i JADE Porównano wydajność dwóch równowaŜnych funkcjonalnie MAS wynikającą z zastosowania serializacji (MASE) oraz RMI (JADE) 2005-09-10 MECHANIZMY MOBILNOŚCI JĘZYKA JAVA W SYSTEMACH WIELOAGENTOWYCH 32