• Nie Znaleziono Wyników

Obszary  zastosowań  systemów  agentowych

W dokumencie Index of /rozprawy2/10252 (Stron 32-36)

Systemy wieloagentowe znajdują zastosowanie m.in. do realizacji zadań w imieniu użyt-­‐ kownika w środowiskach rozproszonych. Agent mobilny bez interakcji z użytkownikiem może działać w jego imieniu przeszukując zasoby w sieci lub podejmować inne działania 11. Strona  FoundaZon  for  Intelligent  Physical  Agents  (FIPA)  opracowującej  standardy  systemów

w serwisach sieciowych, stanowiących koncepcję Semantic Web8. Do przykładowych takich czynności możemy zaliczyć: składanie ofert na wirtualnych giełdach i aukcjach, rezerwacja  i  negocjacja  ofert  w  serwisach  sprzedających  określone  usługi,  itp.

Warto zwrócić jednak uwagę, że stosowanie agentów mobilnych może wiązać się z wieloma trudnościami. Problemy które pojawiają się przy projektowaniu oraz imple-­‐ mentacji systemów opartych o agentów mobilnych, a sprawiające, że systemy te wciąż nie zdobyły dużej popularności, zostały przez Vigna opisane w 2004 roku w formie 10 punktów  i  zostały  przedstawione  w  tabeli  8  [141]:

Tabela 8: Dziesięć  powodów  utrudniających  powszechność  stosowania  agentów  mobilnych

Problem Opis

1.  Niska  wydajność

Agenci  mobilni  wymagają  większej  ilości  zasobów  niż  tradycyjne  rozwiązania   co  potwierdzają  badania  symulacyjne.  Tym  samym  często  ich  zastosowanie   stoi  w  sprzeczności  z  optymalizacją  dostępu  do  zasobów  i  obniżeniu  danych   przesyłanych  przez  sieć.

2.  Problemy   projektowania

Przy  projektowaniu  agentów  nie  jest  jasne,  które  komponenty  będą   współpracować  i  jak  modelować  tę  współpracę.  Projektowanie  innych   rozwiązań  spełniających  podobne  funkcje  jest  znacznie  łatwiejsze. 3.  Trudności  

w  rozwijaniu  systemów

Agenci  powinni  być  zaimplementowani  do  pracy  w  różnorodnym,  często   nieprzewidywalnym  środowisku,  a  także  współpracować  z  innymi  agentami   oraz  komponentami.  Przewidywanie  jak  mają  działać  w  takim  otoczeniu  jest   bardzo  trudne.  Kolejnym  problemem  jest  brak  narzędzi  developerskich  (jeśli   istnieją  to  głównie  prototypy).

4.  Trudności  walidacji Testowanie  kodu,  który  może  się  przemieszczać  i  rozdzielać,  często  nieprzewidywalnie,  jest  niezwykle  skomplikowane. 5.  Problemy  z  kontrolo-­‐

waniem  

i  uwierzytelnianiem

Agent  może  mieć  zmienne  właściwości,  zależnie  od  stanu  w  którym  się   znajduje,  dlatego  ciężko  określić  np.  poziom  uprawnień  które  ma  posiadać. Uwierzytelnienie  jest  przez  to  skomplikowane  i  podatne  na  błędy.  

6.  Podatność  na  „pranie  

mózgu” Agent  przemieszczając  się  może  traWić  do  środowiska,w  którym  zostanie  celowo  zmodyWikowany. 7.  Poufność Brak  mechanizmów  zapewniających  przesyłanie  poufnych  treści.  Samodzielność  agenta  uniemożliwia  zachowanie  kontaktu  ze  stacją  bazową. 8.  Brak  infrastruktury Na  każdym  hoście,  na  którym  może  się  znaleźć  agent,  musi  być  zaimplementowana  infrastruktura  pozwalająca  na  jego  działanie.  

Wymaga  to  rozwiązania  problemów  z  bezpieczeństwem. 9.  Brak  wspólnego  

języka  /  ontologii Nie  ma  standardu  porozumiewania  się  między  agentami,  przez  co  interakcja  między  nimi  (zwłaszcza  pochodzącymi  z  różnych  źródeł)  jest  niemożliwa. 10.  Podobieństwo  do  

robaków  internetowych

Ze  względu  na  mechanizmy  rozpowszechniania  i  działania  wykazujące   podobieństwo  do  działania  robaków  internetowych,  agenci  mogą  być  uznane   za  intruzów  przez  istniejące  zabezpieczenia.  

Część z wątpliwości jest obecnie wyeliminowana z uwagi na wykorzystanie środowiska implementującego standardy FIPA. Ponadto problemy implementacji zostały w  dużym  stopniu  zredukowane  poprzez  wykorzystywanie  platformy  języka  Java.

Wątpliwości dotyczące wydajności, a przedstawione w tabeli 8, są zgodne z badaniami autora niniejszej rozprawy, który wykazał, że korzyści ze stosowania technik agento-­‐ wych pojawiają się dopiero przy przekroczeniu określonej liczby zadań (zapytań) wyko-­‐ nywanych przez agenta mobilnego oraz określonej liczby rozproszonych zasobów, które

są  przez  agenta  przeszukiwane  [92].

Wykonane symulacje wykorzystywały implementację agentów mobilnych, bazujące na platformie Voyager Firmy ObjectSpace12. Pakiet ten stanowi implementację standardu MASIF (lecz nie FIPA) [43], a jego agenci, choć nie posiadają cech inteligentnego agenta, opisywanych w pracach [40, 55], to zapewniają możliwość lokalnego przetwarzania danych po stronie zdalnych hostów. Celem prowadzonych badań była ocena wydajności dostępu do baz danych poprzez agenta migrującego do hosta bazodanowego, a agentem statycznym  komunikującym  się  z  bazą  danych  przez  sieć.

Wyniki prac [92, 98] wskazują, że mobilność agentów pozwala w wydajny sposób przeszukiwać bazy danych, lecz wydajność wzrasta dopiero przy wzroście liczby zdal-­‐ nych hostów odwiedzanych przez agentów [92] lub przy wzroście liczby lokalnych zapy-­‐ tań po stronie zdalnego hosta [98]. Jest to związane z faktem wysokich kosztów (czas) związanych z obsługą agenta (serializacja kodu agenta, transfer, odtworzenie stanu agenta  w  nowym  środowisku).

Podsumowując, należy podkreślić, że chcąc osiągnąć wydajność aplikacji rozpro-­‐ szonych należy dokładnie przeanalizować koszty obsługi agentów w takim systemie [141].

Możliwość zastosowania technik negocjacji [18, 28] jako naturalnej cechy agen-­‐ tów autonomicznych, do obsługi realizacji usług QoS w sieciach komputerowych została również  zaproponowana  przez  autora  niniejszej  rozprawy  [86,  90].  

Wydaje się, że technologia agentów mobilnych stanowi dobre rozwiązanie do tworzenia serwisów brokerskich w sieciach opartych o zasady rynkowe (rozumiane tu jako sieci w których dynamicznie pobierane są opłaty za korzystanie z sieci). Zapropono-­‐ wane serwisy mogą gromadzić i przetwarzać informacje o stanie istniejących połączeń, ich charakterystykach, kosztach korzystania, itp., a w konsekwencji dostarczać użytkow-­‐ nikowi końcowemu konkretną ofertę przesyłu danych, czy dostępu do określonych zaso-­‐ bów  z  uwzględnieniem  zadanych  kosztów,  czy  parametrów  QoS  [93].

Serwis brokerski stanowi serwis pośredniczący, zlokalizowany pomiędzy użytkowni-­‐ kiem  a  serwisem  docelowym  (Rys.  15).  

Rysunek  15.    Lokalizacja  serwisów  brokerskich

Serwis taki zapewnia użytkownikowi kompleksową obsługę dostępu do danych zasobów poprzez zaprezentowanie użytkownikowi konkretnej oferty i po jej opłaceniu zrealizowaniu  usługi.

Funkcjonalność  proponowanego  serwisu  dokonuje  się  dwuetapowo:

12. Historycznie  twórcą  pakietu  Voyager  była  Firma  ObjectSpace.  Firma  obecnie  (stan  na  12.12.2008) nosi  nazwę:  Recursion  Sogware.  Informacje  o  pakiecie  Voyager  dostępne  są  na  stronie:

• Pierwszy  etap  polega  na  gromadzeniu  informacji  i  jej  przetwarzaniu,   • Drugi  zaś  sprowadza  się  do  obsługi  klienta.

Zbieranie informacji o strukturze sieci, oferowanych usługach i możliwościach rezerwacji połączeń przy zagwarantowanych parametrach połączeń ma charakter statyczny. W przypadku agentów mobilnych istnieje możliwość wprowadzenia dynamiki. Dynamika ta polega na wysyłaniu agentów, którzy kontaktując się z agentami statycz-­‐ nymi danego providera mogą negocjować koszty korzystania z danych usług. Co więcej sam provider ma możliwość (przy przyjęciu aukcyjnego modelu) sprzedaży serwisom brokerskim usług za najlepszą wylicytowaną kwotę. Schemat sieci procesu gromadzenia oferty  został  obrazowo  przedstawiony  na  rysunku  16.

Rysunek  16.    Pozyskiwanie  oferty  przez  serwisy  brokerskie.

Strategia obsługi klienta przypomina funkcjonalność biura podróży. Z punktu widzenia użytkownika korzystającego z usług serwisu – „biura podróży” przebieg obsługi jest realizowany w następujących krokach: (1) Wybór konkretnego „biura podróży”; (2) Wybór konkretnej oferty lub prośba o zestawienie indywidualnej oferty w oparciu o własne zadane kryteria; (3) Akceptacja przedstawionej oferty; (4) Otrzymanie specjalnego biletu – vouchera; (5) Realizacja usługi;

Poszczególne kroki wymagają zapewnienia odpowiednich zasad bezpieczeństwa. Co można osiągnąć poprzez sprawdzanie wiarygodności zarówno serwisów jak i klien-­‐ tów, wprowadzenie mechanizmów uwierzytelniania i autoryzacji (użytkownicy, serwisy, gatewaye),  a  także  doboru  optymalnego  mechanizmu  poboru  płatności.

Systemy wieloagentowe mogą także być stosowane do prowadzenia symulacji. Dany agent w takim systemie może być wyposażony w określone cechy, może podejmo-­‐ wać decyzje i ewoluować. Symulacje mogą dotyczyć między innymi procesów rynko-­‐ wych.  Kompleksowe  omówienie  technologii  agentowej  można  znaleźć  m.in.  w  [18,  28].

Zainteresowania badawcze autora niniejszej rozprawy nie są jednak ukierunko-­‐ wane na obszar symulacji, lecz na wykorzystanie systemów wieloagentowych do tworzenia  aplikacji  rozproszonych.

1.3.    Analiza  jakości  istniejących  rozwiązań  i  ocena  ich  

funkcjonalności

Przedstawiony w poprzednich dwóch sekcjach (1.1 i 1.2) stan wiedzy dotyczący systemów e-­‐learningowych, a w szczególności rozproszony charakter repozytoriów współdzielących zasoby edukacyjne, oraz gwałtowny przyrost zestandaryzowanych obiektów wiedzy przechowywanych w systemach LMS (a dokładniej LMS, CMS i LCMS), wymusza konieczność wprowadzenia skutecznego i wydajnego mechanizmu wyszuki-­‐ wania. Rozproszony i zdecentralizowany charakter wielu systemów powoduje, iż skutecznym rozwiązaniem może być wybór platformy agentowej dla realizacji wyszuki-­‐ wania  w  zdalnych  repozytoriach.

W dokumencie Index of /rozprawy2/10252 (Stron 32-36)