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



Podobne dokumenty
UML w Visual Studio. Michał Ciećwierz

Wykład 1 Inżynieria Oprogramowania

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

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

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania III WYKŁAD 4

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Spis treúci. 1. Wprowadzenie... 13

Michał Adamczyk. Język UML

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

METODYKI BUDOWY HYBRYDOWYCH SYSTEMÓW WIELOAGENTOWYCH

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Diagramy klas. dr Jarosław Skaruz

Application of the multi-agent systems in the context of the multi-commodity market model M 3

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Narzędzia CASE dla.net. Łukasz Popiel

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

Zasady organizacji projektów informatycznych

Podstawy inżynierii oprogramowania

Projektowanie systemów informatycznych. wykład 6

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Język Java część 2 (przykładowa aplikacja)

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Etapy życia oprogramowania

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Modelowanie i analiza systemów informatycznych

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Opis metodyki i procesu produkcji oprogramowania

RUP. Rational Unified Process

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Język Java część 2 (przykładowa aplikacja)

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

Język UML w modelowaniu systemów informatycznych

Systemy Informatyki Przemysłowej

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

Modelowanie i analiza systemów informatycznych

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

UPEDU: Analiza i projektowanie (ang. analysis and design discipline)

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

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

UML cz. II. UML cz. II 1/38

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

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Projektowanie oprogramowania

Pytania z przedmiotów kierunkowych

Dialogowe akty mowy w modelach sztucznej inteligencji

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Egzamin / zaliczenie na ocenę*

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

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

Cykle życia systemu informatycznego

Programowanie współbieżne i rozproszone

WPROWADZENIE DO UML-a

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

UML cz. III. UML cz. III 1/36

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Projektowanie logiki aplikacji

PROJEKT Z BAZ DANYCH

KARTA MODUŁU KSZTAŁCENIA

TECHNOLOGIE OBIEKTOWE. Wykład 3

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Wytwarzanie oprogramowania

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Unified Modeling Language

Zeszyty Naukowe UNIWERSYTETU PRZYRODNICZO-HUMANISTYCZNEGO w SIEDLCACH Seria: Administracja i Zarządzanie Nr

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Programowanie obiektowe

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

MODEL SYSTEMU WIELOAGENTOWEGO KORZYSTAJĄCEGO Z DANYCH SIECI SEMANTYCZNEJ W PROJEKCIE OPEN NATURA 2000

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Specyfikowanie wymagań przypadki użycia

Projektowanie oprogramowania

Analiza i projektowanie aplikacji Java

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Projekt systemu informatycznego

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

MODELOWANIE STRUKTURY

Inżynieria oprogramowania (Software Engineering)

Web frameworks do budowy aplikacji zgodnych z J2EE

Diagramy przypadków użycia

APLIKACJA KLIENT-SERWER DO SPORZĄDZANIA I PRZEPROWADZANIA TESTÓW ONLINE - METODYKA ROZWOJU I OPISU APLIKACJI Z WYKORZYSTANIEM UML

Transkrypt:

ZOFIA KRUCZKIEWICZ PROJEKTOWANIE SYSTEMÓW WIELOAGENTOWYCH MULTIAGENT SYSTEM PROJECT STRESZCZENIE. Podstawą metod tworzenia systemów wieloagentowych (MAS) jest identyfikacja agentów wypełniających cele systemu oraz projektowanie protokołów komunikacji reprezentujących scenariusze wymiany komunikatów między agentami występującymi w określonych rolach. W praktyce technologie wykorzystywane do tworzenia MAS nie stosują generycznego modelu analizy i projektowania oraz nie wspierają całego procesu tworzenia systemu. Alternatywą jest integracja wyników różnych technologii w zakresie modelowania i projektowania oraz implementacji systemów wieloagentowych. W pracy przedstawiono integrację technologii MASE oraz JADE. ABSTRACT. The base of the method of formation the multiagent system (MAS) is identification of agents fulfilling their goals and designing of the communication protocols which represent the scenario of exchanging the messages between agents, performing their roles. In practice, technologies used for creation MASs do not support the full process and do not employ the generic model of analyses and design. Alternative is the integration of products of analyses, design and implementation of MAS by using the different technologies. In the paper the integration of the MASE design and JADE implementation is presented. 1. Wprowadzenie Systemy wieloagentowe reprezentują inteligentne oprogramowanie o charakterze rozproszonym, które charakteryzuje się takimi paradygmatami jak: reaktywność, autonomiczne, orientacja na cele, przejściowość, komunikatywność, zdolność do uczenia się, mobilność, elastyczność, posiadanie charakteru. Systemy wieloagentowe składają się z wielu kooperujących agentów. Komunikowanie się agentów jest oparte na aktach komunikacyjnych, wywodzących się z aktów mowy. Wiadomość jest aktem komunikacyjnym. Komunikacja jest prowadzona według protokołu komunikacyjnego czyli protokołu kooperacji. Technologie agentowe powinny umożliwiać gromadzenie i specyfikację wymagań, modelowanie i analizę, projektowanie, implementację, weryfikację, testowanie i walidację oprogramowania o wielkiej złożoności strukturalnej i funkcjonalnej. Podstawą metod tworzenia systemów wieloagentowych jest identyfikacja agentów wypełniających cele systemu oraz protokoły komunikacji reprezentujące scenariusze wymiany komunikatów między wystąpieniami agentów w określonych rolach, realizujących swoje cele. Protokoły kooperacji wynikają z celu, jaki powinien realizować każdy z agentów. Liczba wymienianych Wydział Elektroniki Politechniki Wrocławskiej 120

komunikatów wynika z umiejętności zrozumienia ich zawartości przez poszczególnych agentów. Należy przeprowadzać optymalizację protokołu w celu osiągnięcia jak najlepszej wydajności systemu (Babczyński 2004 et al.). W zakresie tworzenia technologii MAS dąży się do opracowania technologii, która definiuje generyczny model analizy i projektowania, niezależne od architektury systemu. W praktyce technologie wykorzystywane do tworzenia MAS nie stosują generycznego modelu analizy i projektowania oraz nie wspierają całego procesu tworzenia systemu. Alternatywą jest łączenie wyników modelowania i projektowania z implementacją MAS (Perini 2004 et al.). Wg (Alonso 2004 et al.) technologiami wieloagentowymi wykorzystującymi paradygmaty agentowe są: Prometheus, HLIM, Cassiopeia, Tropos, Gaia, SODA, Styx oraz MASE. Gaia, SODA, Styx HLIM, Cassiopeia i MASE opierają identyfikację agentów na rolach socjalnych agentów, natomiast Tropos, Prometheus na rolach aktorów. Wszystkie wymienione technologie oparte są na identyfikacji zstępującej agentów na podstawie: ról, aktorów, komponentów (reprezentujących wiedzę, właściwości), interakcji między agentami. Tropos, Gaia, Prometheus, Styx, HLIM, MASE tworzą projekt wewnętrzny agenta, projekt interakcji, projekt struktury organizacji lub społeczności, jednak tylko SODA wspiera społeczną strukturę MAS. Tropos, Prometheus, Styx i SODA identyfikują obiekty środowiska i SODA wspiera projektowanie interakcji między tymi obiektami. Technologie traktują agentów jako złożone obiekty, co jest niezgodne z abstrakcyjną definicją agenta, z autonomicznymi właściwościami agenta, interakcjami oraz strukturą organizacyjną. Wg (Alonso 2004 et al.) tworzenie MAS oparte na technologiach obiektowych umożliwiają następujące środowiska: ODAC, AOAD, DESIRE, MASB, AAII, AOMEM, MASSIVE. ODAC i AOAD już podczas analizy identyfikują agentów, a pozostałe podczas fazy projektowania. DESIRE implementuje komponentowo sterowany proces zstępujący identyfikowania agentów, pozostałe implementują go jako proces wstępujący. Technologie ODAC, MASB, DESIRE, AAII, AOMEM, AOAD, MASB wspierają budowę wewnętrzną i zewnętrzną agenta, natomiast MASSIVE i AOAD projektowanie struktury organizacji lub społeczności. Technologie ODAC, MASB i MASSIVE identyfikują obiekty środowiska, natomiast MASSIVE umożliwia projektowanie interakcji między obiektami środowiska. Technologie oparte na inżynierii wiedzy kładą główny nacisk na identyfikację, akwizycję i modelowanie wiedzy agenta. Są to technologie: CommonKADS, MASCommon- KADS i CoMoMAS. MAS-CommonKADS identyfikuje agentów podczas analizy, realizując proces wstępującej identyfikacji aktora. Technologie CommonKADS i CoMoMAS wspierają budowę wewnętrzną i zewnętrzną agenta, bez uwzględnienia struktury organizacji lub społeczności. Technologie te nie identyfikują właściwości środowiska. Implementacje MAS są oparte głównie na programach Javy. Znanym środowiskiem jest JADE (JADE), oparty na specyfikacji FIPA (FIPA) dostarczający pakiety oprogramowania oraz fizyczną infrastrukturę dla aplikacji wieloagentowych. W pracy przedstawiono integrację wyników specyfikacji wymagań, analizy oraz projektowania uzyskana w technologii MASE prowadząca do identyfikacji agentów i protokołów interakcji między agentami oraz sposób ich implementacji w ramach JADE. 121

2. Opis wybranych technologii do tworzenia MAS Brakuje jednolitego środowiska, które wspomaga identyfikację ról aplikacji na podstawie spełnianej przez nią misji i w rezultacie identyfikację agentów wykonujących zadania związane z danymi rolami - jednocześnie umożliwia implementację projektu MAS. MASE jest jedną wybranych metodologii tworzenia MAS, która dostarcza metody identyfikacji agentów oraz ich implementacji (Deloach 2001 et al.) w ograniczonym zakresie, ponieważ nie dostarcza infrastruktury fizycznej do implementacji dużych systemów (powyżej 100 agentów) - jednak daje ona solidne podstawy do identyfikacji agentów i zadań spełnianych przez te systemy. Obserwuje się metodologie tworzenia MAS jako połączenie różnych metod identyfikacji agentów i często implementowanie ich jako agentów w środowisku JADE. W pracy przedstawiono tworzenie MAS: wykonanie analizy oraz projektu systemu w technologii MASE i implementację projektu w środowisku JADE. Podejście to zostało zweryfikowane pod względem spójności modeli projektowego i implementacji za pomocą inżynierii odwrotnej. Polegała ona na wygenerowaniu kodu źródłowego na podstawie modelu projektowego agentów w języku Java i następnie wygenerowaniu diagramu klas w dowolnym środowisku UML. Jednocześnie wykonano aplikację spełniającą te same wymagania w środowisku JADE i wygenerowano dla niej również diagram klas systemu. Oba diagramy klas reprezentowały identyczne związki między analogicznymi obiektami klas agentów i obiektami klas zadań w obu aplikacjach. 2.1. Zastosowanie technologii MASE do modelowania i projektowania systemów wieloagentowych 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 Klasy agentów Tworzenie klas agentów Konwersacje Architektura agentów Konstruowanie konwersacji Grupowanie klas agentów Projekt Diagramy wdrożenia Projektowanie systemu Rys. 1. Analiza i projektowanie systemu wieloagentowego (Deloach 2001 et al.) 122

Na rysunku 1 przedstawiono analizę i projektowanie MAS w technologii MASE. Technologię tę wykorzystano do identyfikacji agentów za pomocą specyfikacji celów i związanych z nimi ról spełnianych przez system i zadań wykonywanych w ramach każdej z ról. W metodzie tej, w środowisku AgentTool, na etapie analizy tworzy się model celów wyrażający misje spełniane przez system, następnie diagram use cases modelujący interakcje między rolami, w jakich wystąpi system, następnie diagram ról systemu wraz z wykonywanymi zadaniami oraz protokołami interakcji między zadaniami oraz plan działania każdego z zadań wyrażony w postaci diagramów stanów. Model projektowy tworzy się przez arbitralny wybór agentów związanych z poszczególnymi rolami - zadania ról stają się zadaniami agenta. Następnie można automatycznie wygenerować model projektowy na podstawie modelu analizy, w którym obok diagramu agentów tworzy się diagram architektury agenta składający się z komponentów, powstałych z odwzorowania zadań należących do każdej z ról agenta oraz diagramy stanów konwersacji reprezentujące akty komunikacyjne. Każdy komponent reprezentujący zadanie agenta jest przedstawiony jako klasa, a jego dynamikę modeluje diagram stanów utworzony na podstawie odpowiadającego diagramu stanów zadania z poziomu analizy. 2.2. Zastosowanie modelu agentów MASE do realizacji systemu wieloagentowego w środowisku JADE Narzędzie JADE stanowi przykład implementacji specyfikacji FIPA, dotyczących systemów wieloagentowych. Dostarcza ono oprogramowanie i infrastrukturę fizyczną dla MAS. Tworzenie aplikacji opiera się na tworzeniu agentów porozumiewających się za pomocą komunikatów wysyłanych za pomocą protokołów RMI w ramach jednej platformy (rys. 2) oraz protokołów IIOP lub HTTP między platformami. Rys. 2. - Platforma Agenta w systemie JADE z rozproszonymi kontenerami (JADE) Działający agent w systemie JADE jest niezależnym wątkiem maszyny wirtualnej Javy czyli niezależnym wątkiem systemu operacyjnego, pod którego kontrolą pracuje JA- DE (rys. 3). Każdy agent może jednocześnie wykonywać kilka niezależnych od siebie zadań, reprezentowanych przez obiekty z rodziny klas dziedziczących po klasie Behaviour, które nie są wątkami. Jest to znacznie szybsze rozwiązanie gdyż przekazanie sterowania z wątku do wątku jest około 100 razy wolniejsze od wywołania metod zadań (zachowań), 123

czyli metod, które decydują o tym, jak agent ma zareagować na określone zdarzenie (event). Zdarzeniem określa się odpowiednią zmianę stanu tj. przyjęcie wiadomości lub przerwanie czasowe. Cykl życia agenta składa się z faz aktywności, np. agent komunikuje się z innym agentem, oraz faz pasywnych, np. agent oczekuje na odebranie wiadomości. Czynności w zachowaniach (zadaniach) są wykonywane jedna po drugiej, więc nie mogą być zawieszane w trakcie wykonania, gdyż spowodowałyby zablokowanie innych zachowań agenta. Każda aktywna faza życia agenta wymaga implementacji dokładnie jednego zadania i zachowania odpowiedniej kolejności przy wykonywaniu zadań. Agent może realizować jedno z zadań pokazanych na rysunku 3 (b). W trakcie cyklu życia agenta zadanie (zachowanie) jest wykonywane metodą b.action(), a po każdym zakończeniu zadania, testowane jest definitywne zakończenie zadania lub jego zawieszenie b.done(). Istnieje analogia pomiędzy zadaniami agenta ze środowiska JADE i MASE. Ponieważ zadania-komponenty w MASE są wątkami, natomiast w JADE są zwykłymi obiektami, przechowywanymi w kolejce i system zarządzający tą kolejką decyduje na podstawie ich typów o kolejności ich wykonania, ten problem należy rozwiązać w MASE za pomocą odpowiednich protokołów zadań wyrażonych za pomocą diagramów stanów. Rys. 3. Wątek Agenta (JADE) Podstawowym językiem modelowania systemów wieloagentowych jest język UML wspierający budowę modeli: 124

przypadków użycia, modelujących zewnętrzne wymagania stawiane aplikacji statycznych, począwszy od modelu klas agentów w fazie analizy i projektowania, a skończywszy na modelu pakietów (poziom logiczny implementacji) i modelu komponentów (poziom fizyczny implementacji) dynamicznych: diagramy sekwencji i współpracy, diagramy stanów i aktywności. Wprowadzono nowe diagramy, zwane diagramami protokołów (PD - Protocol Diagrams), oparte na diagramach sekwencji UML. Nowe elementy diagramów PD wyrażono w języku meta-uml, nadając mu nazwę AUML (Agent UML) (Odell 2001 et al.). Diagram protokołu PD reprezentuje interakcje, które są sterowane zbiorem wiadomości wymienianych między agentami pełniącymi różne role, w celu osiągnięcia zamierzonego efektu. Na rysunku 3 przedstawiono diagram PD przykładowej aplikacji. Prostokąty reprezentują role spełniane przez podany typ agenta i oznaczone są następująco: wystąpienie_agenta_w_roli: typ_agenta. Linia życia (prostokąt na pionowej przerywanej linii) startuje wtedy, gdy jest tworzony agent, występujący w danej roli i kończy się, gdy jest on usuwany. Linie życia odbiorców tych komunikatów są przedstawiane w postaci wątków umieszczonych jeden za drugim wzdłuż pionowej przerywanej linii. Etykiety na strzałkach reprezentują nazwę wystąpienia wiadomości jednego z typów komunikatów (przedrostek nazwy), podanych w Systemowej Bibliotece Typów Wiadomości (FIPA Communicative Act Library)- inform, failure, propose, request itd.. Opis pełnej postaci diagramów PD jest podany w dokumentacji (FIPA). 3. Przykład integracji technologii MASE I JADE Napisano program oparty na przykładach programów z pakietu JADE_Primer (JADE), prezentujący użycie zachowań (zadań) w systemie JADE i nazwano go Client-Seller. Na rysunku 4 podano diagram protokołu dla tego przykładu. Client1: ClientAgent Querry_ref Seller1 :SellerAgent Inform Rys. 4. Diagram protokołu interakcji (PD) client_seller-net typu user-defined w JADE W protokole przedstawionym na rysunku 4 zakłada się, że w systemie wieloagentowym agent Client1 typu ClientAgent wysyła zapytanie o cenę wybranego towaru w postaci wiadomości typu Querry_ref do agenta Seller1 typu SellerAgent. Agent Seller1 wysyła w odpowiedzi do agenta Client1 wiadomość typu Inform zawierającą ofertę ceny. Agent Client1 odbiera wiadomość i kończy się wymianę wiadomości z agentem Seller1. Dalej przedstawiono proces tworzenia modelu MASE tej aplikacji na podstawie wymagań sformułowanych dla przykładu aplikacji opisanej protokołem client_seller-net. Na rysunku 5 przedstawiono fazę analizy definiującą diagram use case oraz jego scenariusz w postaci diagramu sekwencji, gdzie podano wymianę komunikatów między rolami systemu tj. Client i Seller. Na rysunku 6, z lewej strony, podano diagram celów aplikacji, nato- 125

miast prawej strony podano diagram ról Client i Seller (prostokąty), zawierających specyfikację ról związanych z celami, zadania związane z rolami (elipsy) oraz protokoły zewnętrzne do wymiany komunikatów między zadaniami różnych ról (strzałki ciągłe) i protokoły wewnętrzne do interakcji między zadaniami tej samej roli. Na rysunkach 7 i 8 podano diagramy stanów poszczególnych zadań, definiując szczegółowo wymianę wiadomości między nimi na podstawie specyfikacji wymagań aplikacji Client-Seller. a) b) Rys. 5. Diagram use case a) oraz diagram sekwencji jako jego scenariusz b) Rys. 6. Diagram celów (na lewo) oraz diagram ról aplikacji Client-Seller (na prawo) Rys. 7. Diagramy zadań roli Client zdefiniowane na podstawie aplikacji Client-Seller Rys. 8. Diagramy zadań roli Seller zdefiniowane na podstawie aplikacji Client-Seller 126

Na rysunku 9 podano arbitralnie wykonany diagram agentów z przydziałem ról spełnianych w aplikacji typu Client-Seller, należący do etapu projektowania. Rys. 9. Diagram agentów z przydziałem ról systemu jako element projektu Na rysunku 10 podano wygenerowane w środowisku AgentTool diagramy klas komponentów agentów odpowiadające zadaniom ról Client i Seller oraz ich diagramy stanów. Rys. 10. Diagramy architektury i komponentów agentów ClientAgent i SellerAgent 127

Rys. 11. Diagram klas jako efekt inżynierii odwrotnej dla modelu MASE Rys. 12. Diagram klas jako efekt inżynierii odwrotnej dla aplikacji JADE W celu określenia przydatności metody identyfikacji agentów w technologii MASE i wykorzystanie wykonanego projektu do implementacji w systemie JADE zbadano wygenerowane diagramy klas aplikacji Client-Seller dla obu systemów (rys. 11, 12). W przypadku MASE, na podstawie diagramu: agentów, architektury komponentów oraz ich diagramów 128

stanów, wygenerowano w środowisku AgentTool kod źródłowy w Javie i wykonano inżynierię odwrotną za pomocą narzędzia WithClass99, uzyskując diagram klas reprezentujący agentów ClientAgent, SellerAgent oraz ich komponenty (rys. 11). W przypadku JADE (rys. 12) przestawiono diagram klas, uzyskany również za pomocą inżynierii odwrotnej przy użyciu narzędzia WithClass99. Oba diagramy są równoważne semantycznie w sensie równoważnych relacji między agentami i ich zadaniami mimo pewnych różnic w nazewnictwie atrybutów i metod. 4. Podsumowanie Przedstawiono zastosowanie modelu projektowego MASE do wykonania oprogramowania aplikacji w systemie JADE. Ułatwia to tworzenie MAS o dużych rozmiarach. Wykorzystano właściwości modelowania MASE, umożliwiające identyfikację agentów i ich zadań na podstawie celów aplikacji oraz ról, w jakich powinna ona wystąpić. Wykazano możliwość implementacji tego projektu za pomocą oprogramowania JADE, którego podstawą jest programowanie wątku agenta i różnych typów jego zadań, dziedziczących po klasie Behaviour, realizowanych w ramach tego wątku. Wykazano, że dowolnie wybrana aplikacja JADE generuje diagram klas agentów i komponentów równoważny z diagramem, jaki można uzyskać w wyniku modelowania takiej samej aplikacji w technologii MASE i zastosowania inżynierii odwrotnej. Wynika to z uzupełniania się obu technologii: identyfikacji architektury agentów w MASE oraz oprogramowania i infrastruktury fizycznej JADE. 5. Literatura Dokumentacja systemu FIPA, http://www.fipa.org/specs/ Dokumentacja systemu JADE, http://sharon.cselt.it/projects/jade/doc/ Babczyński T., Kruczkiewicz Z., Magott J. 2004: Performance Evaluation of Multiagent Personalized Information System, 7th Int. Conf. on Artificial Intelligence and Soft Computing 2004, LNAI, Springer-Verlag (2004) 810-815 Deloach S.A., Wood M.F., Sparkman C.H. 2001: Multiagents systems engineering, International Journal of Software Engineering and Knowledge Engineering, vol 11, No.3 (2001), 231-258, World Scientific Publishing Company Odell J.J.,Van Dyke H., Parunak H.V.D., Bauer B. 2001: Representing Agent Interaction Protocols in UML, Agent-Oriented Software Engineering, Springer-Verlag, Berlin, pp.121-140, Alonso F., Frutos S., Martínez L., Montes C. 2004: Towards a Natural Agent ParadigmDevelopment Methodology, MATES 2004, LNAI 3187, pp. 155 168, Perini A., Susi A. 2004: Developing Tools for Agent-Oriented Visual Modeling, MATES 2004, LNAI 3187, pp. 169 182 129