Systemy wieloagentowe (MAS) nowa generacja systemów informatycznych http://www.multiagent.com Autor: Zofia Kruczkiewicz 2005-05-25 Systemy wieloagentowe 1
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka MASE Charakterystyka techniki JADE Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładowego MAS Zastosowanie techniki JADE do implementacji przykładowego MAS Zastosowanie inŝynierii odwrotnej do wykazania spójności modeli projektowego i implementacji Zakończenie 2005-05-25 Systemy wieloagentowe 2
Struktura prezentacji Systemy informatyczne 2005-05-25 Systemy wieloagentowe 3
System informatyczny przetwarza informację Sprzęt komputery, urządzenia do przechowywania informacji do komunikacji między sprzętowymi elementami systemu do komunikacji między ludźmi a komputerami do odbierania informacji ze świata zewnętrznego - nie od ludzi (na przykład czujniki elektroniczne, kamery, skanery) do wpływania systemów informatycznych na świat zewnętrzny - elmenty wykonawcze (na przykład silniki sterowane komputerowo, roboty, sterowniki urządzeń mechanicznych) Oprogramowanie Zasoby osobowe ludzie Elementy organizacyjne - procedury organizacyjne, instrukcje robocze Elementy informacyjne; bazy wiedzy ontologie dziedziny/dziedzin, w której uŝywany jest system informatyczny - na przykład podręcznik księgowania w wypadku systemu finansowo-księgowego 2005-05-25 Systemy wieloagentowe 4
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS 2005-05-25 Systemy wieloagentowe 5
System wieloagentowy - MAS 2005-05-25 Systemy wieloagentowe 6
Sposób myślenia o MAS i jego zbiorowych właściwościach System (science) jądro (fizyka) Atom (fizyka) molekuła (chemia) narząd (mikrobiologia) komórka (biologia) wielokomórkowy organizm (biologia) grupa społeczna (biologia) ekosystem (ekologia) Typowy mechanizm kwarki protony, neutrony, electrony wiązania, enzymy, membrany, transport mitoza, genetyczne operatory morfogeneza, reprodukcja społeczne relacje symbioza, 2005-05-25 Systemy wieloagentowe 7
Jakie są agenty? Autonomous - autonomiczne Interactive - interaktywne Adaptive przystosowujące się Sociable zdolne do zachowań społecznych Mobile - mobilne Proxy mogą wystąpić jako pełnomocnicy w róŝnych zadaniac h Proactive zorientowane na cel Rational zdolne do racjonalnego działania Unpredictable - nieprzewidywalne Temporally continuous zdolne do ciągłej realizacji procesu Transparent and accountable - zrozumiałe i odpowiedzialne Coordinative skoordynowane planem, mechanizmami zarządzania Cooperative - współpracujące Competitive rywalizujące bez wyrządzania szkody innym agentom Rugged zdolne do zarządzania danymi obarczonymi błędami i danymi niepewnymi Trustworthy godne zaufania 2005-05-25 Systemy wieloagentowe 8
Szczegóły Autonomia dynamiczna (reaktywna, proaktywna) wynika z wewnętrznej struktury agenta nieprzewidywalna, przewidywalna wynika z zewnętrznych warunków Adaptacja Reakcja Wnioskowanie Uczenie Ewolucja Interakcja Komunikacja Koordynacja Kooperacja Współzawodnictwo 2005-05-25 Systemy wieloagentowe 9
Typy agentów Software agents Autonomous agents Interactive agents Adaptive agents Mobile agents Coordinative agents Intelligent agents Wrapper agents Inne agenty: typu broker, manager 2005-05-25 Systemy wieloagentowe 10
Systemy agentowe czy MAS? Pojedynczy agent jest tłustym agentem, co pogarsza: niezawodność, pielęgnowalność, szybkość, obciąŝa sieć. Rozdzielając te same zadania między agentów MAS otrzymuje się system: niezawodny, elastyczny, modularny, łatwy do modyfikacji i rozwoju Wiedza jednego agenta nie zapewnia dostępu do wiedzy specjalistycznej, jaką dostarczają agenty zintegrowane w MAS Technologie MAS lepiej wspierają pracę w środowisku rozproszonym 2005-05-25 Systemy wieloagentowe 11
RóŜnice definicji środowiska systemu agentowego i MAS Zamknięte, statyczne, deterministyczne, dyskretne, dostępne (wg Russell S., Norvig P.) 2005-05-25 Systemy wieloagentowe 12
Dostępne, otwarte, niedeterministyczne, dynamiczne, ciągłe (wg J.Ferber) 2005-05-25 Systemy wieloagentowe 13
Historia się powtarza... Technologie wieloagentowe nie są nowymi technologiami, lecz raczej integracją istniejących technologii Aplikacje MAS nie są nowymi aplikacjami, lecz dodaje się nowe moŝliwości do istniejących aplikacji Aplikacje wieloagentowe jeszcze nie integruje się z systemem operacyjnym MAS bez integracji z systemem operacyjnym nie są zdolne zachować swoje właściwości MAS wzmacniają interakcje człowiek komputer 2005-05-25 Systemy wieloagentowe 14
Stan obecny technologii wieloagentowych Prowadzi się intensywne badania nad MAS Działają wyizolowane pionierskie aplikacje MAS DuŜa liczba wymaganych technologii nie istnieje Technologie MAS (w zakresie wytwarzania i działania MAS) nie są zintegrowane Brak wiedzy, jak wspierać agentów MAS przez system operacyjny Technologie wieloagentowe nie są powszechnie znane Istnieje wąskie grono twórców i uŝytkowników MAS 2005-05-25 Systemy wieloagentowe 15
Dziedziny zastosowań MAS Sieci i zarządzanie systemami Wspieranie decyzji i logistyki Badanie zaleŝności rynkowych Asystent uŝytkownika Organizacje 2005-05-25 Systemy wieloagentowe 16
Technologie agentowe SQL Rules Web Repository-based development Internet and Web 4GLs Relational databases Object-oriented languages (Java) Conventional programming Object-oriented databases Inference engines Graphic languages Genetic algorithms Data warehouses CORBA Business re-engineering Parallel computing Virtual reality Neural networks Client-server Distributed computing Logic-based languages Fuzzy logic Complex systems Visual programming Structured techniques Knowledge bases 2005-05-25 Systemy wieloagentowe 17
Standardy wieloagentowe OMG Agents Working Group OMG's Object Management Architecture (OMA).(www.omg.org) FIPA (Federated Intelligent Physical Agents) standaryzacja interakcji, infrastruktura (www.fipa.org) US DARPA (Defense Advanced Research Projects Agency): Control of Agent-based Systems, Advanced Logistics Project, DARPA Agent Markup Language KQML (Knowledge Query and Manipulation Language): język i protokół do wymiany informacji i wiedzy (www.cs.umbc.edu/kqml/) AgentLink is Europe's ESPRITfunded Network of Excellence for agent-based computing:przemysł, wyszukiwanie informacji, uczenie i trenowanie, infrastruktura i zarządzanie (www.agentlink.org ) CLIMATE (Cluster for Intelligent Mobile Agents for Telecommunication Environments): sterowanie usługami w sieciach mobilnych, zarządzanie w telekomunikacji, handel elektroniczny i multimedia (www.fokus.gmd.de/research/cc/ec co/climate/climate.htm) 2005-05-25 Systemy wieloagentowe 18
Typy aplikacji MAS Zarządzanie przedsiębiorstwami, zarządzanie dokumentami Systemy biznesowe Systemy sterujące Agenci uŝytkownika Przemieszczające się aplikacje w sieci Zarządzanie informacją:wyszukiwanie,filtrowanie, mediacje, monitorowanie, interfejsy, asystenci uŝytkownika 2005-05-25 Systemy wieloagentowe 19
Przykłady narzędzi do tworzenia MAS AgentBuilder AgenTalk AgentTool Agent Building Environment Agent Development Environment Agentx Aglets Concordia DirectIA SDK Gossip Grasshopper Infosleuth igen Intelligent Agent Factory Intelligent Agent Library JACK Intelligent Agents JADE Jumping Beans Engineering Kafka LiveAgent Microsoft Agent Swarm Versatile Intelligent Agents (VIA) Voyager 2005-05-25 Systemy wieloagentowe 20
Techniki tworzenia MAS 2005-05-25 Systemy wieloagentowe 21
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka techniki MASE 2005-05-25 Systemy wieloagentowe 22
Początkowy kontekst systemu Hierarchia celów Określenia celów Przypadki uŝycia (Use Cases) Diagramy sekwencji Określenia przypadków uŝycia Analiza Zadania współbieŝne Role Udoskonalanie ról Konwersacje Diagramy wdroŝenia Klasy agentów Architektura agentów Tworzenie klas agentów Konstruowanie konwersacji Grupowanie klas agentów Projektowanie systemu Projekt 2005-05-25 Systemy wieloagentowe 23
2005-05-25 Systemy wieloagentowe 24
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE 2005-05-25 Systemy wieloagentowe 25
Infrastruktura fizyczna MAS System JADE oparty na specyfikacji FIPA Agent Platforma Agenta (AP) System Zarządzania Agentami (AMS) Katalog Usług (DF) RMI System transportu wiadomości (MTS) IIOP, HTPP System transportu wiadomości (MTS) Platforma Agenta (AP) 2005-05-25 Systemy wieloagentowe 26
Rozproszona AP w systemie JADE 2005-05-25 Systemy wieloagentowe 27
MAS mobilny (3 komputery) Agent Platform Host 1 Main Container AMS DF Manager Host 2 Host 3 Searcher 1 Container 1 domove() domove() Container 3 Container 2 Searcher 2 Container 4 MySQL Server MySQL Server 2005-05-25 Systemy wieloagentowe 28
2005-05-25 Systemy wieloagentowe 29
Środowisko graficzne JADE 2005-05-25 Systemy wieloagentowe 30
2005-05-25 Systemy wieloagentowe 31
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładowego MAS 2005-05-25 Systemy wieloagentowe 32
MASE- aplikacja Client-Seller Analiza Diagram celów Diagram ról aplikacji Client-Seller 2005-05-25 Systemy wieloagentowe 33
a) b ) a) Diagram use case b) diagram sekwencji jako jego scenariusz 2005-05-25 Systemy wieloagentowe 34
Diagramy zadań roli Client 2005-05-25 Systemy wieloagentowe 35
Diagramy zadań roli Seller 2005-05-25 Systemy wieloagentowe 36
Projekt Diagram agentów z przydziałem ról systemu jako element projektu 2005-05-25 Systemy wieloagentowe 37
2005-05-25 Systemy wieloagentowe 38
2005-05-25 Systemy wieloagentowe 39
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie techniki JADE do implementacji przykładowego MAS 2005-05-25 Systemy wieloagentowe 40
C lient1: C lientagent Seller1 :SellerAgent Q uerry_ref Inform Diagram protokołu interakcji (PD) client_seller-net typu user-defined w JADE 2005-05-25 Systemy wieloagentowe 41
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka MASE Charakterystyka techniki JADE Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie techniki JADE do implementacji przykładu MAS Zastosowanie inŝynierii odwrotnej do wykazania spójności modeli projektowego i implementacji 2005-05-25 Systemy wieloagentowe 42
Diagram klas jako efekt inŝynierii odwrotnej dla modelu MASE 2005-05-25 Systemy wieloagentowe 43
Diagram klas jako efekt inŝynierii odwrotnej dla aplikacji JADE 2005-05-25 Systemy wieloagentowe 44
Struktura prezentacji Systemy informatyczne Wprowadzenie do MAS Charakterystyka techniki MASE Charakterystyka techniki JADE Zastosowanie techniki MASE do wykonania modeli analizy i projektowania przykładu MAS Zastosowanie techniki JADE do implementacji przykładu MAS Zastosowanie inŝynierii odwrotnej do wykazania spójności modelu projektowego i implementacji Zakończenie 2005-05-25 Systemy wieloagentowe 45
Podsumowanie Podano zarys MAS 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 2005-05-25 Systemy wieloagentowe 46
Przyszłość MAS wg J. Odell Agents are host based and standalone. They search the Web/Internet using fetch processing. 1994 2005 Agents are host based and capable of negotiating with computers and other agents, involving many business (and personal) functions. 1997 2005 Agents are mobile and highly personalized, but standalone. 1998 2010 Agents are mobile and capable of negotiating with computers and other agents. 1999 2010 Agents will also employ subagents. 2000 2020 Agents can activate and inhabit real-world robotics and pursue goals beyond software. 2001 2050 Agents are self-replicating and can design agents to specific needs. They are independent and selfmotivating. 2005 2050 2005-05-25 Systemy wieloagentowe 47