METODYKI BUDOWY HYBRYDOWYCH SYSTEMÓW WIELOAGENTOWYCH Mariusz śytniewski Wprowadzenie Systemy wieloagentowe, a w szczególności hybrydowe systemy wieloagentowe ze względu na swoją zróŝnicowaną i złoŝoną architekturę wymagają kompleksowego podejścia do procesu projektowania systemu. W literaturze przedmiotu odnaleźć moŝna wiele metodyk budowy systemów wieloagentowych, pozwalających w róŝnym stopniu określać architekturę samego agenta oprogramowania oraz systemu wieloagentowego, których rozwój ukazuje rysunek 1. Pierwotnym nurtem rozwoju metodyk systemów wieloagentowych jest projektowanie zorientowane obiektowo (ang. Object Orientation) [HeGo02]. Oprócz tego autorzy [SBPL04] wskazują na metodyki powstałe na podstawie inŝynierii wiedzy (ang. Knowledge Engineering - KE) oraz inŝynierii wymagań (ang. Requirements Engineering RE).
Rys. 1. Diagram rozwoju metodyk systemów wieloagentowych Źródło: Opracowane na podstawie [SBPL04] Metodyki te w róŝnym stopniu definiują załoŝenia dotyczące modelowania struktury systemu, architektury poszczególnych agentów oraz interakcji między nimi. Podstawowym problemem, na który jednak napotykają badacze tej dziedziny jest duŝa liczba dostępnych metodyk oraz problem z doborem odpowiedniej metodyki do rozwiązania danego problemu [XiDaLi06]. Celem niniejszego opracowania jest prezentacja wybranych metodyk wspomagających proces tworzenia systemów wieloagentowych, ze szczególnym uwzględnieniem języka AML (ang. Agent Modeling Language) w projektowaniu hybrydowych systemów wieloagentowych.
Nazwametodyki / WyróŜnione fazy cyklu Ŝycia Specyfikacja wymagań Analiza wymagań Porównanie metodyk budowy systemów wieloagentowych W pracy [CCZ05] badacze dokonują analizy dostępnych metodyk budowy systemów wieloagentowych pod kątem ich dopasowania do znanych modeli cyklu Ŝycia systemów informatycznych oraz podejmują próbę odpowiedzenia na pytania: czy wybór danego modelu procesu tworzenia oprogramowania wpłynie na tworzenie oprogramowania zorientowanego agentowo, które metodyki budowy systemów agentowych mogą być zastosowane dla wspomagania określonego cyklu Ŝycia systemu informatycznego. Zestawienie zbiorcze tej analizy prezentuje tabela 1. Projektowanie Kodowanie i implementacja Weryfikacja i testowanie WdroŜenie Kaskadowe Gaja X X Roadmap X(częściowo) X X Prometheus X(częściowo) X X X X MaSE X(częściowo) X X X X(częściowo) AOR X(częściowo) X X X Ewolucyjne i inkrementacyjne OPM/ MAS X X X X MASSIVE X X X X Igenias X X X Tropos X X X X PASSI i Agile PASSI X X X X X Formalnych transformacji DESIRE X X X X X(częściowo) Spiralny MASS-CommonKADs X X X X X(częściowo) Tab. 1. Zestawienie faz cyklu Ŝycia systemu w ujęciu metodyk budowy systemów wieloagentowych Źródło: Opracowane na podstawie [CCZ05]
Prezentowane badania wykazują duŝą róŝnorodność metodyk budowy systemów wieloagentowych. Wybór określonej architektury spowodować moŝe brak wsparcia dla niektórych faz cyklu Ŝycia systemu, a tym samym trudność w pełnej specyfikacji modelu. Jednym z rozwiązań zapewniającym moŝliwość zastosowania najlepszych cech określonych metodyk jest ich łączenie. Przykładem takiego podejścia jest metodyka oparta o Gaja i MaSE prezentowana w pracy [XiDaLi06]. Twórcy wskazują, iŝ metodyka Gaja, dobrze odwzorowuje zaleŝności między agentami w danej organizacji lub społeczności agentów oraz pozwala na definiowanie ich ról w systemie. Jednak problemy z jej wykorzystaniem mogą pojawić się na etapie specyfikacji agentów oprogramowania oraz implementacji systemu. Jako rozwiązanie tego problemu proponują zastosowanie metodyki MaSE (rysunek 2). Rys. 2. Proponowany sposób połączenia metodyk MaSE oraz GAJA Źródło: Opracowane na podstawie [XiDaLi06]
Bardziej zaawansowanym podejściem, jest określenie zaleŝności miedzy metamodelami róŝnych metodyk [BCGTS04]. W podejściu tym twórcy przeanalizowali metamodel metodyk PASSI, GAJA, ADELFE, a następnie podjęli próbę określenia zalet kaŝdej z nich. Na tej podstawie zbudowali nowy metamodel metodyki, który mimo wysokiej funkcjonalności charakteryzuje się duŝą złoŝonością, mogącą utrudnić jej wykorzystanie w praktyce. Kolejnym problemem związanym z zastosowaniem danej metodyki dla wspomagania procesu budowy systemu wieloagentowego, a w szczególności hybrydowego systemu wieloagentowego, jest róŝnorodność architektur agentów oprogramowania oraz ukierunkowanie określonych metodyk na wspomaganie procesu budowy systemu, właśnie w oparciu na określoną budowę agenta. Przykładem jest metodyka Prometheus ukierunkowana na agentów o architekturze BDI (ang. believe, desire, intention). Rozwiązaniem tak postawionego problemu moŝe być zastosowanie języka AML, w procesie specyfikacji architektury systemu. Projektowanie hybrydowych systemów wieloagentowych z wykorzystaniem języka AML Realizacja hybrydowego systemu wieloagentowgo, w którym oprócz agentów reaktywnych lub proaktywnych definiowanych według słabego podejścia (ang. weak notion) [LAI04] istnieliby agenci racjonalni/rozwaŝni tworzeni według załoŝeń mocnego lub intencjonalnego podejścia (ang. strong lub intentional notion ), nastręcza wielu problemów dotyczących wyboru określonej metodyki do których zaliczyć moŝna:
wspomaganie jedynie wybranych etapów cyklu Ŝycia systemu przez wybraną metodykę, ukierunkowanie na określoną architekturę agenta, ukierunkowanie na określoną platformę wieloagentową, brak zdefiniowania metamodelu metodyki, skutkujący, niejednoznacznością interpretacji prezentowanych przez nią konceptów, brak odniesienia do niektórych aspektów budowy systemu (standardy komunikacji, ontologie), róŝnorodność notacji diagramów tworzonych przy zastosowaniu okresowej metodyki, brak narzędzi typu CASE do budowy i walidacji projektu systemu. Jednym z rozwiązań prezentowanych problemów jest zastosowanie języka AML (ang. Agent Modeling Language), dla specyfikacji architektury hybrydowego systemu wieloagentowego. Jak podają autorzy język ten zapewnia [CRC04],[CeRe07]: moŝliwość tworzenia modeli zorientowanych agentowo, gdzie autonomiczne jednostki działając w warunkach konkurencji oddziaływają na siebie asynchronicznie, definiowanie encji oddziałujących na otoczenie i potrafiących je obserwować, tworzenie modeli o skomplikowanych interakcjach między elementami modelu, definiowanie elementów mentalnych agentów. Prezentowany język zbudowany został w oparciu o wybrane (najlepsze według autorów) cechy prezentowych na rysunku 1 metodyk
[CRC04],[CeRe07] przez co zapewnia on moŝliwość modelowania takich elementów systemu jak: ontologie wykorzystywane w systemie, encje (agentów, otoczenia, zasobów), społeczności (społeczności agentów, zaleŝności, które w nich występują, role jakie mogą pełnić agenci), definiowanie interakcji w postaci komunikatów między agentami oraz usług, jakie zapewniają elementy systemu, definiowanie wewnętrznej architektury agentów oprogramowania według słabego oraz mocnego podejścia. Przykład budowy agenta reaktywnego w notacji AML prezentuje rysunek 3, ukazujący diagram budowy robota poruszającego się po pokoju, wyposaŝonego w detektor kolizji. Rys. 3. Przykład architektury robota w notacji AML Źródło: Opracowane na podstawie [CeRe07] Przykładem uŝycia diagramu w notacji UML, w procesie specyfikacji struktury systemu wieloagentowego jest rysunek 4.
Rys. 4. Fragment diagramu przypadków uŝycia systemu wieloagentowego dla celów wspomagania obsługi mieszkańca Źródło: Opracowanie własne Rysunek 4 reprezentujący fragment diagramu przypadków uŝycia, ukazuje ponadto moŝliwość zastosowania stereotypu agenta w procesie definiowania zakresu zadań poszczególnych jednostek wchodzących w skład systemu wieloagentowego. Podsumowanie Prezentowane w niniejszej pracy zagadnienia dotyczące metodyk budowy systemów wieloagentowych, a w szczególności hybrydowych systemów wieloagentowych, wskazują na duŝą heterogeniczność prezentowanych w literaturze rozwiązań. RóŜnorodność metodyk powoduje, iŝ nieprawidłowy wybór metodyki budowy systemu wieloagentowego, doprowadzić moŝe do niemoŝności specyfikacji kluczowych elementów systemu lub niejednoznaczności późniejszej interpretacji modelu. Roz-
wiązaniem prezentowych problemów jest zastosowanie załoŝonych metodyk powstających z połączenia róŝnych rozwiązań lub zastosowanie określonego języka specyfikacji modelu systemu wieloagentowego. Literatura [SBPL04] Sudeikat J., Braubach L., Pokahr A., Lamersdorf W.: Evaluation of Agent Oriented Software Methodologies Examination of the Gap Between Modeling and Platform Agent-Oriented Software Engineering V, Fifth International Workshop AOSE 2004: 126-141 [XiDaLi06] Xiao X., Dan D., Lizhi X.: A Framework for blending agent oriented methodology. [w:] Li Y., Looi M., Zhong N., (red.) Frontiers in Artificial Intelligence and Applications: Advances in Intelligent IT, Active Media Technology 2006: 196-204 [HeGo02] Henderson-Sellers B., Gorton I.: Agent-based Software Development Methodologies. International Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2002. Seattle USA 2002 [CCZ05] Cernuzzi L., Cossentino M., Zambonelli F.: Process models for agent-based development, International Journal on Engineering Applications of Artificial Intelligence (EAAI). 2005: 205-222 [BCGTZ04] Bernon C, Cossentino M, Gleizes M-P, Turci P, Zambonelli F. A study of some multi-agent metamodels
[LAI04] [CRC04] [CeRe07] Agent-Oriented Software Engineering Workshop (AOSE'04), New York (USA) 2004: 62-77 Luck M., Ashri R., d'inverno M.: Agent-Based Software Deve-lopment (Agent-Oriented Systems), Artech House Publishers 2004. Cervenka R., Trencansky I., Calisti M., Greenwood D.: AML: Agent Modeling Language. Toward Industry-Grade Agent-Based Mode-ling, Agent-Oriented Software Engineering V: 5th International Workshop, AOSE 2004 Cervenka R., Trencansky I.: The Agent Modeling Language - AML. A Comprehensive Approach to Modeling Multi-Agent Systems, Birkhäuser Book 2007. Informacje o autorze: mgr Mariusz śytniewski Katedra Informatyki Akademia Ekonomiczna ul. Bogucicka 3 40-226 Katowice Polska Numer telefonu (fax) +48/32/2577277 e-mail: zyto@ae.katowice.pl