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