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