Wykład 3_1 Przykład aplikacji: Wyszukiwanie informacji w internecie

Podobne dokumenty
IG1: INSTALACJA KOMUNIKATORA GADU-GADU

Diagramy stanów Na podstawie UML 2.0 Tutorial Zofia Kruczkiewicz

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Projekt z przedmiotu Projektowanie systemów teleinformatycznych

Przesyłania danych przez protokół TCP/IP

Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Diagramy stanów Na podstawie UML 2.0 Tutorial Zofia Kruczkiewicz

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Metody Programowania

1. Cel i zakres dokumentu Słownik pojęć użytych w instrukcji... 3

Instrukcja szyfrowania poczty do ESKOM. na przykładzie wykorzystania narzędzia MS Outlook

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Instrukcja dla osoby potwierdzającej profil zaufany

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

Wprowadzenie: Niniejsza instrukcja opisuje proces wnioskowania o nieobecność z wykorzystaniem PI portalu informacyjnego pracowników UJ.

Instrukcja rejestracji w narzędziu PARP HR eskills Manager

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Modelowanie i analiza systemów informatycznych Spis treści

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Inżynieria oprogramowania

Skrócona instrukcja. DriveConfigurator Konfigurator produktu firmy SEW-EURODRIVE

Planowanie drogi robota, algorytm A*

Spis treści. Dodawanie produktów nie znalezionych w bazie 4. Dodawanie produktów które nie posiadają kodów kreskowych 6

INFORMACJA I informacje@pkobp.pl, I INFOLINIA I opłata jak za połączenie lokalne

Instrukcja laboratoryjna cz.0

Podręcznik użytkownika Publikujący aplikacji Wykaz2

1 Moduł Inteligentnego Głośnika

System obsługi ubezpieczeń FORT

OPIS PRZEDMIOTU ZAMÓWIENIA

KURIER BY CTI. Instrukcja do programu

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

Sztuczna Inteligencja Projekt

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

1 Moduł Inteligentnego Głośnika 3

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Jak zainstalować GTM w shoper tutorial krok po kroku

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

WYGENEROWANIE NOWEGO HASŁA DO SYSTEMU NA ADRES skrócona instrukcja

System EwOs. Ewidencja Osiągnięć. nauczycieli akademickich Uniwersytetu im. Adama Mickiewicza w Poznaniu. Pierwsze kroki

INSTRUKCJA OBŁUGI APLIKACJI ASSECO MAA

1. Aby na stronie ZS umieścić artykuł np. news, wymagania edukacyjne, konspekt trzeba założyć sobie konto, w tym celu naciskamy

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

UMOWY INSTRUKCJA STANOWISKOWA

Wstęp do Sztucznej Inteligencji

Dokumentacja techniczna

Punkt dystrybucji recept

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Lekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna

Instrukcja użytkownika esowk Realizacja wniosku kredytowego przez POS Kredyt gotówkowy

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

INSTRUKCJA. rejestrowania się na szkolenie/cykl szkoleniowy oraz uzupełniania niezbędnej unijnej dokumentacji uczestnictwa w projekcie (PEFS)

Płace Optivum. Jakie czynności musi wykonać pracownik, aby otrzymywać drogą elektroniczną paski z list płac?

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Przykłady i kursy Wersja 7 Wydanie 5. Przykładowy kurs rekrutacji dla produktu IBM Process Designer

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

Opis procesu zamówień MPM podręcznik uŝytkownika

Instrukcja importu dokumentów z programu Fakt do programu Płatnik

KURIER BY CTI PROCES KONFIGURACJI I INSTRUKCJA

Polityka Cookies. 1. Co to jest plik cookie? 2. Dlaczego korzystamy z Plików Cookies? 3. Z jakich rodzajów Plików Cookies korzystamy?

Zadanie 1: rozproszona wiedza SKJ (2016)

INSTRUKCJA EOD ZAMÓWIENIA PUBLICZNE PROCES AKCEPTACJI WNIOSKU O ZMIANĘ FINANSOWANIA

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

Nabór Przedszkola. Tworzenie listy kontynuujących na podstawie przyjętych w ubiegłym roku

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

5. Model komunikujących się procesów, komunikaty

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox dla urządzeń kryptograficznych.

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

Instrukcja obsługi systemu SERWAL

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

Przewodnik Szybki start

Instrukcja do SIOEPKZ

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Opis aktualizacji programu Kancelaria Komornika

ZAGADNIENIE TRANSPORTOWE

World Wide Web? rkijanka

Spis treści. S t r o n a 2

ibcslabel v2 Instrukcja instalacji systemu

GroupWise WebAccess Basic Interface

Materiały szkoleniowe Moduł Ochrona środowiska. Starostwo Powiatowe w Chełmie

Równoważenie obciążenia w sieci robotów internetowych. Adam Grycner, nr indeksu Łukasz Kornek, nr indeksu czerwca 2011

Karta Warszawiaka. Przewodnik po aplikacji mobilnej. KartaWawa

Przewodnik dla użytkownika. Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum

Zestawienie tunelu VPN po protokole IPSec pomiędzy klientem VPN - Draytek Smart VPN Client za NAT-em, a routerem Draytek

TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB 05 ZOFIA KRUCZKIEWICZ PROJEKTOWANIE SYSTEMÓW WIELOAGENTOWYCH MULTIAGENT SYSTEM PROJECT

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

- - Ocena wykonaniu zad3. Brak zad3

Sprzedawaj jeszcze więcej dzięki usłudze Ads!

INSTRUKCJA WGRYWANIA OPROGRAMOWANIA DO URZĄDZENIA PARROT CK3100 LCD

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

Wprowadzenie do kompilatorów

Transkrypt:

Wykład 3_1 Przykład aplikacji: Wyszukiwanie informacji w internecie I. Analiza problemu Rys. 8.1. Diagram typu Goal Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 1

1. Opis diagramu typu Goal Główne zadanie systemu polega na efektywnym wyszukaniu informacji w plikach o określonych formatach np. txt, doc, html itd. Aplikacja zawiera dwa poziomy podzadań 1. System wyszukiwania 1.1. Kontakt z użytkownikiem 1.1.1. Wprowadzanie kryteriów wyszukiwania przez użytkownika 1.1.2. Wyświetlenie wyników wyszukiwania użytkownikowi 1.2. Przeszukiwanie źródeł informacji 1.2.1. Poszukiwanie informacji 1.2.2. Przeszukiwanie informacji 1.3. System wyboru wyszukiwarki 1.3.1. Zgłoszenie o zapotrzebowania na wyszukanie informacji 1.3.2. Licytacja ofert wyszukiwania 1.3.3. Wybór najlepszej wyszukiwarki spełniającej kryteria 2. Diagram Use-Case 2.1.Użytkownik wprowadza polecenie. 2.2. Rola Manager rozpoczyna akcję poszukiwania informacji tzn. zgłasza potrzebę wyszukiwania informacji i ogłasza licytację propozycji wyszukiwania 2.3. Każda dostępna rola Bidder podaje roli Manager swoje propozycje poszukiwania. 2.4. Manager wybiera najlepszą rolę Bidder. 2.5. Zwycięzca przekazuje polecenie poszukiwania pełniącemu rolę Searcher 2.6. Searcher wyszukuje informację i przekazuje ją roli Bidder, która przekazuje tę informację roli Manager. Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 2

Rys. 8.2. Diagram typu Use-Case Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 3

3. Opis diagramu interakcji 3.1. Rola mgr:manager wysyła zgłoszenie zapotrzebowania na wyszukiwanie informacji (Annouce search request) do ról bidder(1):bidder i bidder(2):bidder 3.2. Role bidder(1):bidder i bidder(2):bidder podają oferty (Bid) wyszukiwania roli mgr:manager 3.3. Rola mgr:manager wybiera najlepszą ofertę wg określonego algorytmu (np. Sztuczna Inteligencja) i wysyła komunikat Winner wybranej roli bidder:bidder oraz komunikaty Loser odrzuconym rolom bidder:bidder 3.4. Wybrana rola bidder:bidder wysyła rolom search:search polecenie wyszukiwania search:search 3.5. Role search:search po wykonaniu wyszukiwania podają rezultat wyszukiwania wybranej roli bidder:bidder (komunikat Results) 3.6. Rola bidder:bidder podaje rezultat wyszukiwania roli mgr:manager (komunikat Results) Rys.8.3. Diagram sekwencji Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 4

4. Diagram ról Diagram ról powstaje na podstawie informacji pozyskanych z diagramów typu Goal oraz z diagramu Use-Case i diagramów sekwencji 4.1. Wyodrębnione trzy role na diagramie Use-Case realizują następujące cele: Rola mgr:manager realizuje cele: 1.1.Kontakt z użytkownikiem 1.1.1. Wprowadzanie kryteriów wyszukiwania przez użytkownika 1.1.2. Wyświetlenie wyników wyszukiwania użytkownikowi Rola bidder:bidder realizuje cele: 1.3. System wyboru wyszukiwarki 1.3.1.Zgłoszenie o zapotrzebowania na wyszukanie informacji 1.3.2.Licytacja ofert wyszukiwania 1.3.3.Wybór najlepszej wyszukiwarki spełniającej kryteria Rola search:search realizuje cele: 1.2. Przeszukiwanie źródeł informacji 1.2.1. Poszukiwanie informacji 1.2.2. Przeszukiwanie informacji 4.2. Rola mgr:manager wykonuje zadanie FulfillSearchRequests wyboru wyszukiwarki i odbioru wyszukanej informacji 4.3. Rola bidder:bidder wykonuje zadanie Bid uczestniczenia w licytacji wyszukiwarek 4.4. Rola search:search wykonuje zadanie Search wyszukiwania informacji 4.5. Zadanie FulfillSearchRequests roli mgr:manager komunikuje się z zadaniem Bid roli bidder:bidder za pośrednictwem protokołu zewnętrznego RequestBid 4.6. Zadanie Bid roli bidder:bidder komunikuje się z zadaniem Search roli search:search za pośrednictwem zewnętrznego protokołu SearchReguest Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 5

Rys. 8.4. Diagram ról Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 6

5. Diagramy zadań Rys. 8.5. Diagram stanu zadania FulfillSearchRequests roli mgr:manager Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 7

Algorytm zadania FulfilSearchRequests roli mgr:manager 1) Ze stanu początkowego przechodzi do stanu idle oczekiwania na zadanie 2) Po otrzymaniu poprawnego zadania przechodzi do stanu begin, w którym inicjuje listę ról bidder i ustawia czas wykonania zadania 3) Wychodzi ze stanu begin, wysyła komunikat zapotrzebowania na wyszukanie informacji do zadania ról bidders (^send(announce(task,<bidders>)) 4) Przechodzi do stanu waitforbids, z którego wychodzi po otrzymaniu wiadomości receive(abid(task,cost),ag) od zadania ról bidders 5) Przechodzi do stanu update, gdzie wstawia dane otrzymanej oferty i wychodzi ze stanu po wysłaniu komunikatu ^send(acknowledge,ag) do zadania ról bidders 6) Przechodzi ponownie do stanu waitforbid i ponownie powtarza kroki 4 i 5 7) Po upływie wyznaczonego czasu przechodzi do stanu evaluate, gdzie wyznacza najlepszą rolę bidder i usuwa ją z listy ról bidder 8) Przechodzi do stanu waitforwiner wysyłając komunikat do zadania ról bidder ^send(announce(task, winner.cost),winner.bidder) 9) Po otrzymaniu komunikatu receive(acknowledge,winner.bidder) od zadania ról bidders przechodzi do stanu InformLosers 10) Przechodzi do stanu wairforresults po wysłaniu komunikatów ^send(sorry(task),<list>) do zadania odrzuconych ról bidders 11) Przechodzi do stanu początkowego idle po otrzymaniu komunikatu receive(info(results),bidder)/display(results) lub komunikatu receive(sorry(reason),bidder)/display(reason) od zadania wybranej roli bidder Algorytm zadania Bid roli bidder:bidder 1) Po wyjściu ze stanu początkowego przechodzi do stanu oczekiwania idle 2) Po otrzymaniu wiadomości receive(announce(task,<bidders>)) od zadania FulfillRequest roli mgr:manager przechodzi do stanu preparebid przygotowania oferty wyszukiwania informacji (koszt). W przypadku braku oferty przechodzi ponownie do stanu idle, w przeciwnym wypadku wysyła komunikat ^send(abid(task,cost),ag) do zadania roli mgr:manager 3) Przechodzi do stanu waitforacknowledge, z którego wychodzi po otrzymaniu receive(acknowledge,ag) od zadania roli mgr:manager. 4) Przechodzi do stanu waitforbidresuits, z którego wychodzi po otrzymaniu wiadomości receive(sorry(task)) od zadania roli mgr:manager o odrzuceniu ofertyprzechodzi wtedy do stanu idle; 5) Przechodzi do stanu waitforsearchresults po otrzymaniu komunikatu receive(announce(task,.cost),mgr) od zadania roli mgr:manager i wysłaniu do niej komunikatu ^send(acknowledge,mgr) oraz komunikatu ^send(do(task),search) do zadania Search roli search:search zlecającego jej wyszukiwanie informacji 6) Przechodzi do stanu idle po otrzymaniu od zadania roli search:search jednego z dwóch komunikatów: receive(info(results),search) lub receive(sorry(reason),search) i wysłaniu do zadania roli mgr:manager jednego z dwóch komunikatów ^send(info(results),mgr) lub ^send(sorry(reason),mgr) Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 8

Rys.8.6. Diagram stanu zadania Bid roli bidder:bidder Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 9

Algorytm zadania Search roli search:search 1) Wychodzi ze stanu początkowego po otrzymaniu komunikatu receive(do(task),bidder) od zadania roli bidder:bidder i przechodzi do stanu search, w którym gromadzi wyszukaną informację 2) Wychodzi ze stanu wyszukiwania po wykonaniu zadania wyszukiwania i wysyła jeden z dwóch komunikatów ^send(info(results),bidder) lub ^send(sory(reason),bidder) do zadania roli bidder:bidder 3) Kończy zadanie Search przechodząc do stanu zakończenia zadania Rys. 8.7. Diagram stanu zadania Search roli search:search Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 10

II. Projektowanie 1) Diagram agentów Rys. 8.8. Diagram agentów i konwersacji Diagram powstał na podstawie diagramów ról i zadań wygenerowanych podczas analizy 1.1 Rola mgr:manager wraz z zadaniem FulfillSearchRequest została przydzielona agentowi Manager 1.2 Role bidder:bidder oraz search:search wraz z zadaniami Bid oraz Search zostały przydzielone agentowi mobilesearcher 1.3 Konwersacje 10_1 do 15_1 realizują protokół komunikacji między agentami, wynikający z protokołów RequestBid oraz SearchRequest, pozwalających na komunikację między zadaniami FulfillSearchRequests roli mgr:manager, Bid roli bidder:bidder oraz Search roli search:search. Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 11

2. Diagram komponentów agenta searchmanager Komponent agenta searchmanager realizuje zadanie FulfillSearchRequest roli mgr:manager Rys. 8.9. Komponent FulfillSearchRequests Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 12

Diagram stanu komponentu FulfillSearchRequests- na diagramie podano konwersacje realizujące nadawanie lub odbiór informacji od komponentów agenta mobilesearch Rys.8.10. Diagram stanu komponentu FulfillSearchRequest agenta searchmanager (patrz zadanie z rys. 8.5) Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 13

Conversation10_1 - ^send(announce(task),<bidders>) Conversation13_1 - receive(abid(task,cost),ag), ^send(acknowledge, ag) Conversation14_1 - ^send(announce(task, winner.cost), winner.bidder), receive(acknowledge,winner.bidder) Conversation15_1 - ^send(sorry(task),<list>) Conversation11_1 - receive(sorry(reason),bidder) Conversation12_1 - receive(info(results),bidder) 3. Diagram komponentów agenta mobilesearch Rys.8.11. Komponenety agenta mobilesearch - wywodzą się z zadania Bid roli bidder:bidder i zadania Search roli search:search, przedzielonych temu agentowi. Rys.8.12. Diagram stanu komponentu Search Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 14

Rys.8.13. Diagram stanu komponentu Bid Conversation10_1 - receive(announce(task),mgr) Conversation13_1 - ^send(abid(task,cost),mgr), receive (acknowledge,mgr) Conversation14_1 - receive(announce(task, cost), mgr), ^send(acknowledge,mgr) Conversation15_1 - receive(sorry(task),mgr) Conversation11_1 - ^send(sorry(reason),mgr) Conversation12_1 ^send(info(results),mgr) Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 15

Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 16

Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 17

Zofia Kruczkiewicz, Wykład 3_1, Systemy wieloagentowe 18