Instytut Badań Systemowych Polska Akademia Nauk Streszczenie Pracy Doktorskiej Application of semantic analysis methods to increase the efficiency of grid usage Zastosowanie metod analizy semantycznej do zwiększenia efektywności wykorzystania gridu Autor: mgr inż. Katarzyna Wasielewska-Michniewska Promotor: dr hab. Marcin Paprzycki Warszawa 2018
Spis treści Contents i 1 Wprowadzenie 1 1.1 Motywacja........................................... 1 1.2 Zakres i cel pracy....................................... 3 2 Zaproponowane rozwiązanie 4 2.1 Istota zagadnienia....................................... 4 2.2 Reprezentacja eksperckiej wiedzy dziedzinowej..................... 5 2.3 Wsparcie użytkownika z wykorzystaniem semantycznego przetwarzania danych.. 6 3 Uwagi końcowe 11 3.1 Wkład własny......................................... 13 Bibliografia 14 i
Rozdział 1 Wprowadzenie 1.1 Motywacja W ciągu ostatnich lat rozwiązania bazujące na gridzie obliczeniowym (oraz, aktualnie, chmurze obliczeniowej) zyskały spore zainteresowanie w obszarach nauki, biznesu i przemysłu jako narzędzia do problemów dużej skali. Rozwiązania tego typu mierzą się z zagadnieniami związanymi z rozproszeniem danych oraz wykonywaniem dużych ilości często powtarzalnych obliczeń. Dodatkowo, gridy do przechowywania danych (ang. data grids) zapewniają infrastrukturę umożliwiającą dostęp do, modyfikację oraz transfer dużej ilości rozproszonych geograficznie, wielo-dziedzinowych zasobów (see, [1]). W gridach obliczeniowych (ang. computational grids) użytkownicy (lub aplikacje) mogę uzyskać dostęp do zasobów (procesorów, miejsca przechowywania, zasobów sieciowych, aplikacji) w miarę zapotrzebowania, bez potrzeby uwzględniania ich fizycznej lokalizacji lub szczegółowych informacji o technologiach wykorzystanych podczas budowy infrastruktury. W tym kontekście, możliwe jest utworzenie wirtualnych superkomputerów poprzez zagospodarowanie niewykorzystywanych zasobów obliczeniowych do realizacji kosztownych obliczeniowo zadań. Gridy są zazwyczaj zarządzane poprzez dedykowane oprogramowanie typu middleware, które umożliwia udostępnianie oraz wykorzystanie zasobów w oparciu o ich konfigurację oraz wymagania użytkownika. Można zaobserwować, że mimo większych możliwości gridów jeżeli chodzi o wykonywane obliczenia, ich implementacja jest bardziej złożona i efektywne ich wykorzystanie wymaga większej wiedzy technicznej. W przypadku gridów ogólnego przeznaczenia, użytkownik dodatkowo powinien zdecydować jaki sposób wykorzystania go interesuje. Pytania na które należy udzielić odpowiedzi to m.in.: jaka konfiguracja zasobu jest optymalna dla zadania, które powinno zostać wykonane? które oprogramowanie/metoda/algorytm są zalecane do rozwiązania danego problemu? czy zasób z zalecaną konfiguracją jest dostępny w gridzie? czy warunki współpracy są akceptowalne przez dostawcę zasobu oraz klienta? Aby można było efektywne odpowiedzieć na te pytania, należałoby zaproponować schemat reprezentacji wiedzy, który umożliwi zapisanie oraz odpytywanie o odpowiednie informacje. Co więcej, schemat reprezentacji wiedzy powinien być odporny na zmiany kontekstu (np. różne standardy opisu), adaptowalny, oraz elastyczny względem 1
2 możliwości modelowania wiedzy. Biorąc powyższe pod uwagę, istotna jest publikacja [2], w której autorzy sugerują że semantyka oraz ontologie są kluczowe w następnym pokoleniu technologii webowych, ponieważ umożliwiają efektywny i wydajny dostęp to różnorodnych oraz rozproszonych źródeł informacji. Z perspektywy użytkowników o różnym profilu, różne kwestie związane z użytkowaniem gridu są istotne. Dla administratorów i dostawców zasobów ważne są elastyczne oraz ekspresywne metody opisu zasobów. Dla użytkowników (konsumentów zasobów; klientów gridu) bez wiedzy technicznej (np. naukowcy nie specjaliści IT którzy chcą w gridzie rozwiązać problem ze swojej dziedziny) użytkowanie infrastruktury gridowej bywa problematyczne ze względu na różnice w implementacji interfejsów gridowych (metod połączenia, zlecania zadań, kolejkowania, wyboru zasobu), które muszą opanować. W rezultacie, aby efektywnie użytkować zasoby gridu należy obejść problem przepracowanego administratora/osoby zapewniającej wsparcia techniczne, która jest odpowiedzialna ze wspieranie użytkowników, informacje na temat zmian w konfiguracji itp. (w szczególności za udzielanie odpowiedzi na pytania z poprzedniego akapitu). W tym kontekście, następujące problemy z użytkowaniem zasobów gridu/chmury zostały zidentyfikowane: (i) użytkownicy nie są skłonni do nauki nowego oprogramowania, (ii) użytkownicy mają tendencję do używania jednej, wcześniej opanowanej metody/biblioteki/narzędzia do rozwiązania problemu danego typu, (iii) użytkownicy muszą mieć wiedzę techniczną aby wskazać optymalną dla swoich potrzeb konfigurację zasobu. Po zidentyfikowaniu problemów powstaje pytanie czy jest sposób aby się z nimi zmierzyć. W jaki sposób wspomóc użytkownika przy wyborze zasobu do rozwiązania jego problemu lub przechowania danych? Użytkownik może mieć różny poziom wiedzy jeżeli chodzi o konfigurację odpowiadającą jego potrzebom. W takim przypadku jak można ułatwić wybór zasobu? Który dostawca zasobu oferuje najlepsze warunki dla danego zastosowania? Czy jest dostępna metoda/narzędzie rekomendowane dla danego problemu na podstawie wiedzy przechowywanej w systemie? Kolejną kwestią do rozważenie jest możliwość wykorzystania zasobów gridu i ich mocy obliczeniowej jako źródła dochodu dla ich właścicieli (dostawców) [1]. W rezultacie, istotnym aspektem projektowania rozwiązań na bazie gridu jest integracja z biznesem. W przeciwieństwie do przetwarzania dobrowolnego (ang. volunteer computing) np. projekt SETI@home, obliczenia dla biznesu muszą być wykonane w określonej kolejności i czasie, monitorowanie i mieć zapewnioną jakość (np. ufność w poprawność wyniku). W konsekwencji, systemy gridowe powinny zapewniać pewną formę zarządzania SLA (ang. Service Level Agreement; kontrakt pomiędzy dostawcą a użytkownikiem zasobu), które definiuje poziom jakości usług (ang. Quality of Service; QoS) na czas trwania kontaktu. Autorzy [3] zidentyfikowali następujące ograniczenia w zarządzaniu SLA: (i) brak standardowej, współdzielonej terminologii i struktury kontraktu, (ii) brak wielo-rundowych negocjacji i renegocjacji SLA [4]. Potrzeba uwzględnienia SLA w scenariuszach użytkowania gridu dostarcza dodatkowe obciążenie dla użytkowników, którzy muszą przenalizować i wybrać optymalne warunki współpracy. Dla dostawców zasobów pozostaje zagadnienie jak formalnie wyrazić proponowane warunki współpracy. Podsumowując, można stwierdzić że rozwiązania gridowe są najlepszymi kandydatami do dostarczenia platform obliczeniowych dla problemów dużej skali. Można zauważyć, że mimo iż dostępne są middleware do zarządzania zasobami gridu, istotnym stało się dodanie warstwy infrastruktury,
3 która pozwoli na użycie zasobu w sposób przyjazny użytkownikowi. Zagadnienia badawcze w tym obszarze to: (i) zgodnie z sugestiami [5] zastosowanie ontologii do reprezentacji wiedzy i agentów programowych do dostarczenia inteligentnej infrastruktury dla gridu, (ii) wsparcie podczas interakcji z gridem, aby umożliwić użytkownikom z minimalną wiedzą techniczną efektywne zlecanie zadań, (iii) wsparcie użytkownika przy specyfikacji wymagań dotyczących warunków współpracy oraz w trakcie późniejszej analizy ofert. 1.2 Zakres i cel pracy Przeprowadzone badania, które stanowią wkład do rozprawy miały na celu zbadania w jaki sposób technologie semantyczne, uzupełnione paradygmatem programowania agentowego, mogą zostać zastosowane w gridach obliczeniowych do wsparcia użytkowników. W szczególności, celem pracy jest ustalenie limitów użyteczności czystych technologii semantycznych, oraz zbadanie sposobów powiązania technologii semantycznych z innymi popularnymi metodami (np. dostępnymi metodami analizy wielokryterialnej). Prowadzone prace obejmowały zaprojektowanie oraz implementację mechanizmów wsparcia użytkownika, które powinny pomóc w efektywnym wykorzystaniu zasobów gridu zgodnie z zagadnieniami z Sekcji 1.1. Rozważania te doprowadziły do sformułowania następującego zadania badawczego: Przestudiować w jaki sposób i do jakiego stopnia, szeroko pojęte, technologie semantyczne mogą zostać wykorzystane do wsparcia użytkowników gridów obliczeniownych. Sformułowane zadanie badawcze nakłada kluczowe wymagania: zaprojektować uniwersalny, semantyczny schemat reprezentacji wiedzy (obejmujący wiedzę ekspercką) i zaproponować metody wykorzystania tej wiedzy do wsparcia użytkownika. Celem rozprawy jest analiza w jakich sytuacjach i do jakiego stopnia technologie semantyczne mogą zostać wykorzystane do wspacia użytkowników. Kontekst dla pracy jest zapewniony przez projekt Agents in Grid (AiG; [6 8]), którego celem było dostarczenie inteligentnego middleware do efektywnego zarządzania zasobami w gridzie. W AiG uwzględniona różne metody (również wykorzystujące wiedzę ekspercką) do pomocy użytkownikom przy formułowaniu wymagań na konfigurację zasobu, oraz przy wyborze optymalnych warunków współpracy. W celu zademonstrowania użyteczności zaproponowanego schematu reprezentacji wiedzy, opracowano i zaimplementowano metody analizy semantycznej, które go wykorzystują. Następujące szczegółowe cele badawcze zostały określone dla pracy: 1. Zaproponować reprezentację wiedzy dla gridu oraz wybranej dziedziny (numeryczna algebra liniowa) opartą o ontologie, biorącą pod uwagę rozszerzalność oraz adaptacyjność. Zaproponowana metoda powinna umożliwić wykorzystania wiedzy poprzez zastosowanie szeroko pojętych technologii semantycznych. 2. Wybór i zastosowanie technologii semantycznych do wsparcia użytkownika podczas specyfikacji wymagań dotyczących zadania i zasobu. Zaproponowana metoda powinna wykorzystywać wiedzę dziedzinową w stopniu odpowiadającym potrzebom użytkownika. 3. Wybór i zastosowanie technologii semantycznych do wyboru optymalnej oferty z warunkami współpracy (kontrakt pomiędzy klientem a dostawcą zasobów).
Rozdział 2 Zaproponowane rozwiązanie 2.1 Istota zagadnienia Cele badawcze 2 i 3 sformułowane dla rozprawy obejmują zaproponowanie mechanizmów wspomagania użytkownika podczas: (i) specyfikacji wymagań dla poszukiwanego zasobu oraz warunków współpracy, (ii) wyboru najodpowiedniejszego zasobu oraz oferty współpracy od dostawcy zasobu. Przyjęto założenie, że każdy zasób oraz użytkownik gridu jest reprezentowany przez agenta programowego (zadania są wykonywane przez zespoły agentów reprezentujących zasoby), a cała wiedza jest zamodelowana w postaci ontologii. Scenariusz w ramach którego użytkownik chce wykorzystać zasobów gridowy jest następujący: 1. Użytkownik określa wymagania dla zasoby (opcjonalnie z profilem zadania - job profile ) z wykorzystaniem ontologicznego interfejsu użytkownika, który automatycznie transformuje dane wejściowe na ich ontologiczną reprezentację. Jeżeli powinna zostać użyta wiedza ekspercka, użytkownik powinien zdefiniować profil zadania, który specyfikuje (w jak największym możliwym stopniu) problem metodę/algorytm właściwości danych wejściowych [9]. 2. LAgent (agent programowy reprezentujący użytkownika w części back-end systemu wieloagentowego) odpytuje CIC (Client Information Center) o listę zespołów posiadających zasoby pasujące do wymagań. Jeżeli wcześniej zostało to wskazane, LAgent używa jednej z metod analizy semantycznej, żeby wspomóc użytkownika w specyfikacji wymagań (Decision support - step 1). 3. Lista zespołów posiadających zasoby spełniające wymagania (lub pusta lista) zostaje zwrócona do użytkownika, który później, eliminuje z listy zespoły uznane za nie wystarczająco wiarygodne. 4. Użytkownik specyfikuje wymagania odnośnie kontraktu (opisującego warunki współpracy z dostawcą zasobu) np. maksymalną akceptowalną cenę, karę za opóźnienie, warunki na czas wykonania. LAgent komunikuje się z zespołami zasobów i wysyła propozycje kontraktów. 4
5 5. LAgent analizuje i ocenia oferty kontraktów i wybiera jedną, jeżeli warunki w niej zawarte są akceptowalne (Decision support - step 2). Aby wspomóc użytkownika podczas selekcji, zostało zaproponowanych kilka metod. W zależności od doświadczenia użytkownika wsparcie może zostać ograniczone do prostego odpytywania o zasoby w oparciu o SPARQL, dopasowywania z wykorzystaniem wyrażeń klasowych (ang. class expression matching), dopasowywania grafowego (ang. graph-based matching) oraz najbardziej zaawansowanego mechanizmu opartego o analizę wielokryterialną i ekspercką wiedzę dziedzinową. W ramach zaproponowanych podejść nakreślone zostaje gdzie użycie analizy semantycznej może pomóc, a w jakich sytuacjach powinno zostać połączone z innymi metodami. Uzyskane wyniki, mogą zostać uogólnione poza obszar obliczeń gridowych. W pierwszej kolejności można założyć, że użytkownik jest wszechwiedzący. W tym przypadku wymagane wsparcie dla użytkownika ogranicza się do wyszukania zasobu, który spełnia jego wymagania, i pozwala na użycie prostych metod do odpytywania bazujących na zapytaniach SPARQL oraz DL (z wykorzystaniem wyrażeń klasowych) z reasoner em semantycznym. Po tym jak użytkownik określi dokładnie to czego chce, otrzymuje listę zasobów które pasują do jego wymagań. Wynikowa lista jest nieuporządkowana i nie ma sposobu na wskazanie priorytetów dotyczących kryteriów wyboru. Jeżeli w systemie nie ma zasobu który pasuje do wymagań, zapytanie nie zwróci rezultatu. Kiedy do dopasowania wykorzystywana jest metoda grafowa, istnieje możliwość uchwycenia wiedzy eksperckiej, która wyrażona jest w postaci wag nałożonych na relacje pomiędzy pojęciami. Uzyskana lista zasobów jest uporządkowana zgodnie z bliskością semantyczną pomiędzy opisem zasobu a oczekiwaniami użytkownika. To podejście, różni się od poprzedniego tym, że nie powinna nastąpić sytuacja gdy żaden zasób nie zostanie zwrócony, ponieważ można założyć że wszystkie instancje, we wspólnej ontologii, są powiązane ze sobą pojęciowo. Przy dopasowywaniu w oparciu o metodę grafową, uwzględnione jest założenie, że użytkownik ma wiedzę pozwalają mu na wyrażanie swoich preferencji. Ostatecznie, połączenie analizy wielokryterialnej z technologiami semantycznymi pozwala na udzielanie rekomendacji. Uwzględnienie wielu opinii eksperckich, pozwala na zapewnienie zaawansowanego wsparcia użytkownika przy formułowaniu wymagań. W tym przypadku, istotne staje się zagadnienie w jaki sposób uchwycić i aktualizować wiedzę ekspercką. Należy zauważyć, że wspomniane podejścia odpowiadają różnym stopniom wykorzystania technologii semantycznych do wsparcia użytkownika. 2.2 Reprezentacja eksperckiej wiedzy dziedzinowej Ze wspomnianego scenariusza można wywnioskować, że aby efektywnie wspierać użytkownika w określaniu wymagań na zasób (np. zainstalowane oprogramowanie) potrzebny do rozwiązania danego problemu, istotnym jest zaprojektowanie odpowiedniego sposobu do reprezentacji (i przechowywania) eksperckiej wiedzy dziedzinowej. Taka reprezentacja powinna umożliwić intuicyjne definiowanie profilu zadań i wydajne wyszukiwanie z pośród zgromadzonych opinii eksperckich/rekomendacji, dla kombinacji problemu oraz właściwości danych wejściowych. Zgodnie z założeniem o semantycznym przetwarzaniu danych, oraz w celu wsparcia użytkownika, opracowany został zestaw ontologii [10, 11]: (i) AiG Grid Ontology - klasy i właściwości do opisu
6 struktury gridu i konfiguracji zasobów, (ii) AiG Conditions Ontology - klasy i właściwości do opisu warunków współpracy, (iii) AiG Messaging Ontology - zawartość wiadomości wymienianych pomiędzy komponentami w systemie, (iv) AiG Expert Ontology - klasy i właściwości do opisu wiedzy eksperckiej i dziedzinowej. Projekt struktury ontologii eksperckiej i dziedzinowej (AiG Expert Ontology) stanowi jeden z celow badawczych rozprawy, podczas gdy pozostałe ontologie są również wykorzystywane w AiG i stanowią kontekst dla celów badawczych. Do weryfikacji zaproponowanego sposobu reprezentacji wiedzy zamodelowana została dziedzina obliczeniowej algebry liniowej. Podstawowe pojęcia wspólne dla wielu dziedzin uwzględnione zostały w AiG Expert Ontology: (i) Domain - identyfikuję dziedzinę, która jest modelowana; (ii) Problem - reprezentuje problemy z danej dziedziny w hierarchicznej strukturze; (iii) Algorithm - reprezentuje algorytmy/metody w hierarchicznej strukturze, które mogą zostać wykorzystane do rozwiązania problemów z modelowanej dziedziny; (iv) Data Element - typ danych wejściowych dla algorytmów funkcjonujących w danej dziedzinie. Dodatkowe pojęcia pozwalające na opisanie wiedzy eksperckiej z danej dziedziny to: (i) Data Property - hierarchia właściwości przy pomocy których można opisać dane wejściowe; (ii) Domain Expert - pojęcie reprezentujące eksperta (człowiek lub system) który wprowadza rekomendacji w ramach modelowanej dziedziny; (iii) Job Profile - kluczowe pojęcie do realizacji dopasowywania z wykorzystaniem wiedzy dziedzinowej, pozwalające na zamodelowanie profilu zadania do wykonania poprzez powiązanie instancji klas Problem, Algorithm, Data Element, Expert Opinion; (iv) Expert Opinion - pojęcie reprezentujące rekomendację ekspercką poprzez powiązanie instancji klas JobProfile and Grid Entity, pozwalające na zamodelowane relacji pomiędzy profilem zadania i zalecanej dla niego przez eksperta konfiguracji zasobu. W eksperckiej ontologii dziedzinowej można wyróżnić dwie części model generyczny i model dziedzinowy. Jednym z kluczowych aspektów wiedzy dziedzinowej jest hierarchia problemów funkcjonujących w jej ramach. Naturalnie, problemy mogą zostać uporządkowane w postaci hierarchii, w której niższe poziomy są podproblemami lub uszczegółowieniami problemów na wyższych poziomach. Po zidentyfikowani głównych problemów, należy zidentyfikować metody które mogą zostać użyte do ich rozwiązania. Analogicznie, mogą one zostać uporządkowane w postaci hierarchii. Aby być w stanie wskazać która metoda/algorytm jest rekomendowany do rozwiązania którego problemu należy zamodelować również właściwości danych wejściowych. Specyfikacja właściwości danych wejściowych poprzez użytkowników zlecających zadania oraz ekspertów pozwala na lepsze dopasowanie profili zadań do rekomendacji eksperckich zapisanych w postaci ontologii. 2.3 Wsparcie użytkownika z wykorzystaniem semantycznego przetwarzania danych Tak jak zostało wspomniane w Sekcji 2.1 wsparcie użytkownika może zostać podzielone na dwa etapy - pierwszy, gdy użytkownik określa wymagania względem zasobu, oraz drugi, gdy należy wybrać najlepszą ofertę współpracy z dostawcą zasobu. Te dwa etapy są niezależne i mogą wykorzystywać tą samą lub różne metody analizy semantycznej. W rozprawie uwzględniono
7 cztery metody, użycie których jest determinowane potrzebami oraz poziomem wiedzy użytkownika gridu. Wybór zasobu z wykorzystaniem zapytań SPARQL. Pierwsza metoda analizy semantycznej, która może zostać użyta do wsparcia bardziej zaawansowanego użytkownika jest oparta o zapytania SPARQL. SPARQL stanowi zestaw specyfikacji definiujących języki i protokoły do manipulowania grafami RDF. W tym przypadku, zapytanie SPARQL zostanie użyte do dopasowania wymagań użytkownika do specyfikacji dostępnych zasobów. Zapytania SPARQL są elastyczne przy specyfikacji warunków i filtrów, jednakże użytkownik powinien znać wewnętrzną strukturę odpytywanej ontologii. Wybór zasobu z wykorzystaniem wyrażeń klasowych. Kolejne podejście do zapewnienia wsparcia użytkownikowi wykorzystuje zapytania DL poprzez wyrażenia klasowe. Ten mechanizm może zostać wykorzystany przy wyborze zasobu. W OWL 2, wyrażenia klasowe są konstruowane za pomocą klas i wyrażeń z restrykcjami na właściwości, które pozwalają na określanie zbiorów instancji. Klasa OWL może zostać zdefiniowana przy pomocy wyrażenia klasowego wraz z asercją, że wskazana klasa nazwana jest równoważna jakieś nazwanej bądź nienazwanej klasie opisanej wyrażeniem. Dopasowywanie w oparciu o wyrażenia klasowe jest naturalne w przypadku AiG, ponieważ interfejs użytkownika automatycznie generuje fragment ontologii OWL z wyrażeniem klasowym opisującym wymagania użytkownika. Takie wyrażenie jest następnie użyte do wnioskowania o instancjach które do niego pasują. Wybór zasobu i kontraktu z wykorzystaniem podejścia grafowego. Podejście z wykorzystaniem algorytmów grafowych można wykorzystać w krokach Decision support - step 1 oraz Decision support - step 2. Bazuje ono algorytmie opisanym w [12] (po odpowiednich adaptacjach), który wykorzystuje fakt, że w przestrzeni wiedzy (ang. knowledge space) wszystkie zasoby informacyjne są powiązane pośrednio lub bezpośrednio. Co więcej, różne relacje pomiędzy obiektami mogą mieć różną moc. Istnienie i siła relacji powinna być brana pod uwagę podczas oceniania w jaki sposób dwie klasy- /instancje są ze sobą powiązane. W tym celu wprowadzono pojęcie semantycznej bliskości (ang. semantic closeness) oraz semantycznego pokrewieństwa (ang. semantic relevance). Semantyczne pokrewieństwo bazuje na różnorodnych bezpośrednich relacjach, które można zidentyfikować w przestrzeni wiedzy, oraz pośrednich relacjach które są dostarczane przez kontekst. Aby móc wykorzystywać zgromadzoną wiedzę w sposób efektywny, struktura dla przestrzeni wiedzy powinna najpierw zostać zaproponowana na poziomie koncepcyjnym, a następnie poszczególne obiekty informacyjne zostaną w ramach niej zamodelowane. Naturalnie, ontologie zapewniają dogodną formalną strukturę do reprezentowania wiedzy. W szczególności, każda ontologia może być zaprezentowana jako graf skierowany, w którym klasy/instancje są węzłami a krawędzie reprezentują właściwości (które stanowią odpowiednik kryteriów decyzyjnych w procesie wyboru). Grafy mogą zostać wygenerowane na poziomie koncepcyjnym (T-Box) i poziomie instancji (A-Box). Na poziomie koncepcyjnym, węzły to klasy (pojęcia) a krawędzie odpowiadają aksjomatom dotyczącym właściwości (bez uwzględniania instancji). Na poziomie instancji węzły odpowiadają instancjom klas a krawędzie asercjom dotyczącym właściwości dla uwzględnionych instancji. Należy podkreślić, że to podejście do zapewnienia wsparcia użytkownikowi pozwala uchwycić: preferencje użytkownika i wiedzę ekspercką. Wiedza ekspercka może (ale nie musi) być uwzględniona na
8 poziomie koncepcyjnym gdzie każda krawędź może mieć przypisaną odległość, która jest odwrotnie proporcjonalna do podobieństwa pomiędzy dwoma sąsiednimi węzłami. Preferencje użytkownika (wynikające z jego doświadczenia) mogą zostać włączone do analizy poprzez przypisanie wag do krawędzi (skalowanie krawędzi) na poziomie instancji. Wybór zasobu i kontraktu z wykorzystaniem MCA. Ostatnie uwzględnione w rozprawie podejście wykorzystuje analizę wielokryterialną (MCA), która jest stosowana do rozwiązywania wielu praktycznych problemów i ma za sobą długą historię badań. Jednakże, wraz z rosnącym zainteresowaniem technologiami semantycznymi, należy udzielić odpowiedzi na nowe pytanie: czy jest możliwe zastosowanie metody analizy wielokryterialnej w scenariuszu, w którym wiedza użyta w procesie decyzyjnym jest formalnie zapisana w postaci ontologii? W takim przypadku, wybrana metoda powinna wykorzystywać w pełni sposób reprezentacji wiedzy. Co następuje, każda metoda MCA, zastosowanie której zmusza do spłaszczenia hierarchicznej struktury ontologii (zakłada że wszystkie kryteria odpowiadające właściwościom są traktowane jednakowo), nie jest brana pod uwagę (see, also [13]). Następujące kroki opisują sposób formułowania problemu i wsparcie użytkownika: 1. Eksperci przygotowują swoje rekomendacje, które stanowią powiązanie pomiędzy problemem, własnościami danych wejściowych, sugerowaną metodą rozwiązania problemu oraz zalecaną konfigurację zasobu. Dostępne opinie eksperckie (jako odrębne byty ) składają się na repozytorium eksperckiej wiedzy dziedzinowej (ontologia ekspercka). Wiarygodność opinii jest wyrażana przy pomocy wag, które mogą być przypisane ekspertom. Dodatkowo, eksperci powinni mieć możliwość przypisania wag do właściwości, które są wykorzystane w definicji opinii eksperckiej np. dla danego problemu, w zalecanym zasobie, ilość rdzeni jest znacznie istotniejsza niż prędkość zegara. 2. Użytkownik gridu, który chce wykonać określone zadanie obliczeniowe i wykorzystać rekomendacje eksperckie, w pierwszym kroku definiuje profil zadania (problem, i na ile to możliwe własności danych wejściowych, oraz metodę, którą chce wykorzystać do rozwiązania zadania). Jeżeli użytkownik posiada odpowiednią wiedzę to również konfigurację wymaganego zasobu. 3. Bazując na profilu zadania, który zdefiniował użytkownik, jego agent wybiera z repozytorium (zawierającego wiedzę ekspercką) opinie pasujące do profilu. Jeżeli nie ma opinii pasujących do profilu, użytkownik nie otrzyma żadnych rekomendacji, a wymagania inicjalnie określone przez użytkownika powinni zostać wykorzystane w kolejnych krokach. 4. Jeżeli dostępne są opinie eksperckie pasujące do profilu zadania, wykonywana jest analiza wielokryterialna. System analizuje opinie aby wybrać reprezentatywną dla danego problemu. Ocena jest wykonywana bez potrzeby interakcji z ekspertami (automatycznie), jednakże opinie eksperckie są analizowane z perspektywy eksperta. Wybrana opinia jest konfrontowana z oryginalnym profilem zadania. 5. W efekcie, trzy sytuacje są możliwe: (i) wymagania użytkownika pasują do rekomendacji eksperckich; (ii) użytkownik nie doprecyzował wymagań, a system może pomóc mu w ich doprecyzowaniu np. użytkownik określił problem i właściwości danych wejściowych, ale nie
9 wie której metody najlepiej użyć do rozwiązania problemu; (iii) wymagania użytkownika nie są poprawne (z perspektywy dostępnych opinii eksperckich); w takiej sytuacji alternatywne opinie mogą zostać wybrane z repozytorium np. rekomendacja wskazująca na inny algorytm lub konfigurację zasobu. Naturalnie, ta sama metoda MCA może zostać użyta w krokach Decision support - step 1 oraz Decision support - step 2. Preferowana metoda MCA powinna mieć następujące cechy: (i) pozwalać na użycie wiedzy pochodzącej od wielu ekspertów, którzy mogą mieć przypisane różne wagi np. opinia studenta nie jest równoważna opinii profesora; (ii) pozwalać na użycie wielu hierarchicznie ułożonych kryteriów, które mają przypisane wagi np. preferencje użytkownika wskazują, że cena jest istotniejsza od terminu wykonania zadania; (iii) wspierać fakt, że hierarchiczna struktura alternatyw jest różnorodna różne drzewa odpowiadające różnym zestawom właściwości wybranych ze wspólnej ontologii. Jednym z kluczowych wyzwań przy projektowaniu mechanizmów wspomagania użytkownika, które połączą technologie semantyczne z analizą wielokryterialną, jest wybór odpowiedniej techniki MCA. Podczas wstępnych rozważań przedstawionych w [13] metody, które wydawały się odpowiednie do wykorzystania w scenariuszu zlecania zadania do wykonania zostały przeanalizowane zgodnie z metodologią z [14]. Zawierały one: TOPSIS ([15]), PROMETHEE ([16]), GRIP ([17]), oraz Analytical Hierarchy Process (AHP; [18]). Dodatkowo, weighted sum method (WSM), weighted product method (WPM), MAUT (multi-attribute utility theory; np. SMART, SMARTS, SMARTER) zostały uwzględnione. Ewaluacja potwierdziła że TOPSIS, PROMETHEE, GRIP i AHP stanowią dobrych kandydatów do wyboru ostatecznej metody. Przede wszystkim, ich cechy odpowiadają wstępnym wymaganiom nałożonym na metodę (mogą zostać użyte/dostosowane do użycia z ontologiami, oraz wspierają wiele kryteriów oraz decydentów), są dobrze ugruntowane i powszechnie używane, a każda z metod reprezentuje inne podejście do przeprowadzania analizy wielokryterialnej. Jednakże, naturalne wsparcie dla cech ontologii (np. zastosowanie porównań parami zgodnie ze strukturą hierarchiczną pasuje do wiedzy sformalizowanej w postaci ontologii) i semantycznego przetwarzania danych, oraz czytelna interakcja z decydentem (np. podczas specyfikacji wymagań), doprowadziły do wyboru AHP jako metody zaadaptowanej i zaimplementowanej do weryfikacji podejścia zaproponowanego w rozprawie. Należy podkreślić, że każda inna metoda spełniająca powyższe wymagania może zostać zaadaptowana do użycia razem z ontologiczną reprezentacją wiedzy i semantycznym przetwarzaniem. W szczególności, metoda do oceny alternatyw może być wymieniona, podczas gdy reprezentacja wiedzy, wymagań i problemu pozostanie taka sama, natomiast w razie potrzeby struktura problemu decyzyjnego będzie musiała być dostosowana. Metoda AHP określa kolejne kroki, które prowadzą do wyboru optymalnego wariantu (alternatywy) biorąc pod uwagę oceny pochodzące od wielu ekspertów. Procedura AHP może zostać podzielona na trzy fazy. Pierwsze dwie są uwzględnione w trakcie projektowania, podczas gdy zbierane są informacje o decyzji i czynnikach, które na nią wpływają, oraz ekspertach, którzy będą w stanie ocenić alternatywy. Wybór kryteriów oceny. W rozważanym scenariuszu, zestaw kryteriów jest determinowany przez właściwości dostępne w ontologiach (AiG Expert Ontology oraz AiG Grid Ontology przy wyborze zasobu, AiG Conditions Ontology przy wyborze warunków współpracy). Podczas wyboru
10 reprezentatywnej rekomendacji eksperckiej czyli instancji klasy exp:expertopinion (w kroku Decision support - step 1), kryteria odpowiadają właściwościom OWL z dziedziną exp:expertopinion, a podkryteria właściwością klas które są w zasięgu wcześniej wybranych właściwości. Wybór ekspertów. W przypadku wykorzystania wiedzy eksperckiej, zbiór zarejestrowanych ekspertów, którzy mogą zostać wykorzystani podczas ewaluacji jest określany w momencie wyszukiwania instancji klasy exp:jobprofile, które pasują do profilu zadania określonego przez użytkownika. Należy uwzględnić sytuację, w której rekomendacje różnych ekspertów mają różną wagę. Waga każdego eksperta jest wyliczana z macierzy preferencji, analogicznie do wyliczania wag dla kryteriów decyzyjnych (opisane poniżej). Ewaluacja ilościowa. Ewaluacja ilościowa w AHP może zostać rozłożona na kilka kroków. Celem tej fazy jest numeryczna ocena alternatyw oraz ustanowienie rankingu zgodnie ze stopniem w jakim odpowiadają one preferencjom użytkownika. Należy zauważyć, że preferencje i czynniki wpływające na decyzję mogą zostać zamodelowane w postaci hierarchii, takiej że korzeń odpowiada celowi (opinia ekspercka w Decision support - step 1, oferta kontraktu w Decision support - step 2). Poziom pod korzeniem zawiera główne czynniki/kryteria wpływające na decyzję, poniższe poziomy zawierają podczynniki/podkryteria od których są one zależne, aż do najniższego poziomu z najbardziej detalicznymi kryteriami. Konstrukcja drzew decyzyjnych jest wykonywana na podstawie klasy OWL lub wyrażenia klasowego z wykorzystaniem faktu, że ontologię można przedstawić jako graf skierowany. Korzeń takiego drzewa odpowada celowi decyzji i reprezentuje instancję exp:expertopinion lub cond:jobexecutioncondition (w zależności od kontekstu). Czynniki (kryteria) na najwyższym poziomie odpowiadają właściwością OWL z dziedziną będącą jedną z tych dwóch klas. W kolejnym kroku należy skonstrukować macierze porównawcze dla kryteriów na poszczególnych poziomach z których wyznaczane są wagi dla kryteriów. Jeżeli istnieje wielu ekspertów zaangażowanych w konstrukcję bazy eksperckiej wiedzy dziedzinowej to należy skonstrukować macierze porównawcze dla ekspertów i na ich podstawie wyznaczyć wagi analogicznie jak w przypadku kryteriów. Ostatecznie, ostatni krok to numeryczna ewaluacja alternatyw (instancji klas exp:expertopinion lub exp:jobexecutioncondition) z perspektywy decydentów. W przypadku Decision support - step 1, po dokonaniu wyboru, opinia ekspercka jest porównywana z początkowymi wymaganiami wprowadzonymi przez użytkownika. Trzy sytuacje są możliwe: (i) rozszerzenie - sugestia dotycząca np. algorytmu/metody, która może zostać wykorzystana do rozwiązania problemu przy danych wejściowych o wskazanych właściwościach; wskazanie dodatkowych wymagań na konfigurację zasobu; (ii) modyfikacja - jeżeli znaleziono rekomendację ekspercką dla kombinacji problemu algorytmu danych wejściowych, jednakże wymagania określone przez użytkownika są inne od tych w reprezentatywnej rekomendacji to powinna zostać zasugerowana modyfikacja wymagań wprowadzonych przez użytkownika; (iii) wskazanie alternatyw - jeżeli nie znaleziona rekomendacji dla kombinacji problemu algorytmu danych wejściowych, to alternatywne (częściowo pasujące) rekomendacje powinny zostać zwrócone. Pomimo że, omówienie podejście zakłada wykorzystanie AHP jako metody analizy wielokryterialnej, każda inna metoda która spełnia wymagane warunki może zostać wykorzystana. W takim przypadku, procedura do wyznaczania wag i porównywania alternatyw ulegnie zmianie. Stopień w którym metoda spełnia postawione wymagania, wpływa na jakość integracji.
Rozdział 3 Uwagi końcowe Podsumowując, poniżej omówione zostały główne wyniki uzyskane w pracy. Po pierwsze, zaproponowany został oryginalny, generyczny i oparty na ontologii schemat do reprezentacji wszystkich aspektów wiedzy potrzebnej do użytkowania gridów obliczeniowych. Ontologiczny model koncepcyjny (T-Box) definiuje pojęcia ogólne potrzebne do zamodelowania: (i) wiedzy eksperckiej np. rekomendacji, (ii) samej dziedziny wiedzy. Zaproponowana metoda reprezentacji wiedzy dziedzinowej wspiera rozszerzalność oraz adaptacyjność. W ramach przeprowadzonej analizy, zidentyfikowane zostały sytuacje w których użytkownik gridu może skorzystać ze wsparcia od systemu. Poniżej, podsumowane zostały cztery podejścia uwzględnione w pracy, które odnoszą się do różnych przypadków użycia gridu. Pierwsze podejście bazuje na wykorzystaniu zapytań SPARQL do dopasowania wymagań użytkownika do konfiguracji zasobów dostępnych w gridzie. W tym podejściu użytkownik jest traktowany jako dobrze znający problem i specyfikację zasobu, który jest mu potrzebny do jego rozwiązania. Użytkownik szuka zasobów, które spełniają jego wymagania, ale nie ma potrzeby tworzenie rankingu zgodnie ze stopniem ich dopasowania (sam dokonuje ostatecznego wyboru w oparciu o własne doświadczenie). Każdy zasób spełniający kryteria jest dla użytkownika akceptowalny. W tym podejściu, zapytania mogą być kierowane bezpośrednio do ontologii w której została opisana struktura gridu, lub ewentualnie również do eksperckiej ontologii dziedzinowej (wykorzystywanej w podejściu bazującym na MCA). Zapytanie o zasób może być również wykonywane za pośrednictwem systemu AiG. W tym przypadku, od użytkownika wymagana jest znajomość struktury ontologii, aby był w stanie formułować dobre pytania. Co więcej, w tym podejściu nie ma wsparcia w formie rekomendacji. Korzyścią tego podejścia jest wykorzystanie ontologicznej reprezentacji wiedzy i najbardziej standardowego sposobu pracy z ontologiami czyli wykonywania zapytań SPARQL. Drugie podejście bazuje na wyrażeniach klasowych OWL które są wykorzystywane w zapytaniach DL. Podejście to jest dedykowane użytkownikom o takim samym profilu jak podejście pierwsze. Ta metoda również może zostać użyta do dopasowania wymagań użytkownika oraz konfiguracji dostępnych zasobów. W tym przypadku, również, uzyskana lista zasobów nie jest uporządkowana zgodnie ze stopniem dopasowania. Dzięki wykorzystaniu ontologicznego interfejsu użytkownika (poza zakresem rozprawy) można automatycznie wygenerować wyrażenia klasowe reprezentujące wymagania, i sprawić, że interakcja z ontologią jest bardziej przyjazna użytkownikowi. Co 11
12 więcej, wyrażenia klasowe OWL pozwalają w łatwy sposób wyrazić warunki graniczne (maksimum, minimum). Implementacja tego podejścia wymaga wykorzystania reasoner ów (silników wnioskujących), które domyślnie zakładają wykonanie klasyfikacji ontologii i inferencji nowych aksjomatów/asercji, dzięki czemu w pełni wykorzystują możliwości jakie daje semantyczne przetwarzanie danych. W końcu, tak jak w przypadku podejścia ze SPARQL, użytkownik nie uzyskuje rekomendacji. W konsekwencji, użytkownik powinien wiedzieć jakich zasobów jeżeli chodzi o konfigurację potrzebuje do wykonania zadania, i która metoda jest najlepsza do rozwiązania problemu. Trzecie zaproponowane podejście wykorzystuje algorytmy grafowe do dopasowania w oparciu o wyliczenie semantycznej bliskości pomiędzy instancjami zdefiniowanymi w ontologii. To podejście jest dedykowane użytkownikom, którzy znają problem i wymagania, ale mają preferencje jeżeli chodzi o kryteria użyte przy wyborze. Co więcej, użytkownicy mogą chcieć skorzystać z wag przypisanych do kryteriów, które zostały wskazane przez ekspertów. To podejście może zostać wykorzystane do zaimplementowania wyboru zarówno zasobu jak i kontraktu, określającego warunki współpracy. Bliskość semantyczna jest mierzona pomiędzy instancjami w ontologii, co powoduje, że wymagania od użytkownika powinny zostać zamodelowane jako instancja. W konsekwencji, specyfikacja wymagań jest bardziej sztywna, natomiast można wykorzystać wiedzę ekspercką w sposób bardziej wyszukany. Waga dla relacji na poziomie koncepcyjnym może być dodana do ontologii, natomiast waga dla relacji pomiędzy instancjami może być uwzględniona w przypadku konkretnych zdefiniowanych wymagań. Istotność relacji wyrażona na poziomie koncepcyjnym powinna zostać określona przez ekspertów, którzy są w stanie ocenić które cechy opisu zasobu lub kontraktu są istotniejsze niż inne. Te wartości są re-używane pomiędzy wszystkimi wykonaniami algorytmów. Przypisane do relacji wagi umożliwiają skalowanie odległości (reprezentujących ważność z modelu koncepcyjnego) zgodnie z preferencjami użytkownika w każdym wykonaniu algorytmu. W podejściu grafowym, w przeciwieństwie do poprzednich, uzyskana lista zasobów jest uporządkowana zgodnie ze stopniem dopasowania, i istnieje możliwość wyrażenia preferencji względem kryteriów na poziomie globalnym, oraz na poziomie instancji per wykonanie. Mechanizm wsparcia użytkownika, nie daje konkretnych rekomendacji, ale pozwala wpływać na proces selekcji i uwzględniać wiedzę ekspercką podczas dopasowywania. Użytkownik gridu w dalszym ciągu powinien wiedzieć jaki zasób lub kontrakt jest przez niego wymagany, oraz jaką metodę preferuje do rozwiązania problemu, natomiast ma możliwość wskazania, że np. czas wykonania jest dla niego najistotniejszy przy wyborze warunków współpracy. Ostatnie i najbardziej wyszukane podejście bazuje na wykorzystaniu analizy wielokryterialnej. Jest ono dedykowane użytkownikom, którzy nie są pewni jakiej metody/narzędzia chcą użyć do rozwiązania problemu, i nie wiedzą w jaki sposób najlepiej wyspecyfikować wymagania na zasób. Co więcej, mogą oni mieć swoje preferencje odnośnie istotności poszczególnych kryteriów wyboru. Podejście to może zostać wykorzystane zarówno przy wyborze zasobu jak i przy wyborze kontraktu. Jako walidacja zaproponowanego podejścia wykorzystana została metoda AHP. W przypadku wyboru zasobu, do weryfikacji wymagań użytkownika wykorzystywana jest ekspercka ontologia dziedzinowa przechowująca rekomendacje eksperckie. Użytkownik może mieć ograniczoną wiedzę o wymaganym zasobie i metodzie wykorzystywanej do rozwiązywania jego problemu, natomiast powinien sprecyzować problem i właściwości danych wejściowych. Ontologie (oraz wykorzystanie wnioskowania) pozwalają użytkownikowi na określanie wymagań do
13 poziomu do którego użytkownik czuje się kompetentny (nie trzeba operować na zbyt dużym poziomie szczegółowości). Jednym z wymagań dotyczących wyboru metody MCA była możliwość wyrażania preferencji użytkownika względem kryteriów decyzyjnych oraz wykorzystanie wiedzy od wielu ekspertów. AHP dostarcza środków na spełnienie obydwu. Wiedza płynąca od wielu ekspertów jest wyrażona w postaci rekomendacji eksperckich, oraz używana do wyboru jednej reprezentatywnej rekomendacji, która jest zwracana użytkownikowi. Na etapie wyboru kontraktu, wiedza ekspercka nie jest wykorzystywana, jednakże inne charakterystyki MCA np. wyznaczenia wag kryteriów, są ciągle wykorzystywane. Podsumowując, czyste technologie semantyczne same w sobie dostarczają dobrej metody do modelowania i odpytywania danych o złożonej strukturze. Wspierają one dopasowanie w oparciu o elastyczne wielokryterialne zapytania. Jednakże, nie dostarczają prostego sposobu na udzielenie odpowiedzi na pytanie co jest najlepsze?. Technologie semantyczne pozwalają na wydobycie wariantów (alternatyw) spełniających kryteria z których użytkownik dokona ostatecznego wyboru. Połączenie technologii semantycznych z analizą wielokryterialną rozszerza możliwości wsparcia użytkownika o odpowiedź również na pytanie który wybór jest najlepszy?. 3.1 Wkład własny W kontekście przeprowadzonych badań, poniższe punkty stanowią wkład własny, który został omówiony w rozprawie (i powiązanych publikacjach): 1. Zaprojektowanie na poziomie koncepcyjnym oraz implementacja semantycznej reprezentacji wiedzy eksperckiej i dziedzinowej, jak również metod persystencji wiedzy w postaci ontologii. 2. Zaprojektowanie oryginalnej ontologii dziedzinowej dla dziedziny obliczeniowej algebry liniowej. Ta ontologia została wykorzystana do walidacji zaproponowanego schematu reprezentacji wiedzy oraz metod wspomagania użytkownika przy wykorzystaniu zasobów gridu. 3. Obszerne przestudiowanie metod bazujących na technologiach semantycznych, które mogą zostać wykorzystane do wsparcia użytkownika w efektywnym wykorzystaniu gridu. Wybrane metody zostały skonfrontowane ze zidentyfikowanymi przypadkami użycia, aby ustalić przydatność oraz ograniczenia związane z każdą z nich. 4. Analiza możliwych powiązań pomiędzy popularnymi metodami MCA i wiedzą ekspercką w postaci ontologii w kontekście wsparcia użytkownika. Ustalenie zalet i wad dla oryginalnego mechanizmu wsparcia użytkownika zrealizowanego w oparciu o wspomniane metody i ontologiczną reprezentację wiedzy. Eksperymentalna walidacja projektu oraz implementacji z wykorzystaniem metody Analytical Hierarchy Process. 5. Ustalenie wytycznych jeżeli chodzi o użyteczność technologii semantycznych w obszarze wspomagania użytkownika (na które pytania można udzielić odpowiedzi oraz w jakich przypadkach i w jaki sposób należy metody semantyczne połączyć z innymi metodami).
Bibliografia [1] Ian Foster and Carl Kesselman, editors. The Grid 2, Second Edition: Blueprint for a New Computing Infrastructure. The Elsevier Series in Grid Computing. Elsevier, 2004. [2] Salvatore F. Pileggi and Carlos Fernandez-Llatas. Semantic Interoperability Issues, Solutions, Challenges. River Publishers, Wharton, TX, USA, 2012. ISBN 8792329799, 9788792329790. [3] Michael Parkin, Rosa M. Badia, and Josep Martrat. A Comparison of SLA Use in Six of the European Commissions FP6 Projects. Technical report, Institute on Resource Management and Scheduling, CoreGRID - Network of Excellence. URL http://www.coregrid.net/mambo/ images/stories/technicalreports/tr-0129.pdf. [4] Wasielewska Katarzyna. Negotiations in a Resource Allocation Process in a Grid (in Polish), volume 12 of Analiza Systemowa w Finansach i Zarządzaniu, Wybrane problemy, pages 175 185. Instytut Badań Systemowych PAN, 2010. [5] Ian Foster, Nicholas R. Jennings, and Carl Kesselman. Brain Meets Brawn: Why Grid and Agents Need Each Other. In Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004, pages 8 15, Jul 2004. [6] Mateusz Dominiak, Wojciech Kuranowski, Maciej Gawinecki, Maria Ganzha, and Marcin Paprzycki. Utilizing agent teams in Grid resource management preliminary considerations. In Proc. of the IEEE John Vincent Atanasoff Conference, pages 46 51, Los Alamitos, CA, 2006. IEEE CS Press. [7] Wojciech Kuranowski, Maria Ganzha, Maciej Gawinecki, Marcin Paprzycki, Ivan Lirkov, and Svetozar Margenov. Forming and managing agent teams acting as resource brokers in the grid preliminary considerations. International Journal of Computational Intelligence Research, 4 (1):9 16, 2008. [8] Katarzyna Wasielewska, Michał Drozdowicz, Maria Ganzha, Marcin Paprzycki, Naoual Attaui, Dana Petcu, Costin Badica, Richard Olejnik, and Ivan Lirkov. Trends in Parallel, Distributed, Grid and Cloud Computing for engineering. chapter Negotiations in an Agent-based Grid Resource Brokering Systems. Saxe-Coburg Publications, Stirlingshire, UK, 2011. [9] Katarzyna Wasielewska, Maria Ganzha, Marcin Paprzycki, and Ivan Lirkov. Developing ontological model of computational linear algebra preliminary considerations. In AIP Conference Proceedings, volume 1561, pages 133 144. American Institute of Physics. 14
Bibliography 15 [10] Michał Drozdowicz, Katarzyna Wasielewska, Maria Ganzha, Marcin Paprzycki, Naoual Attaui, Ivan Lirkov, Richard Olejnik, Dana Petcu, and Costin Badica. Ontology for Contract Negotiations in Agent-based Grid Resource Management System. Saxe-Coburg Publications, Stirlingshire, UK, 2011. [11] Paweł Szmeja, Katarzyna Wasielewska, Maria Ganzha, Michał Drozdowicz, Marcin Paprzycki, Stefka Fridanova, and Ivan Lirkov. Reengineering and extending the Agents in Grid Ontology. In Large Scale Scientific Computing, LNCS. Springer Germany, 2013. [12] Mariusz M. Mesjasz, Marcin Paprzycki, and Maria Ganzha. Establishing semantic closeness in an agent-based travel support system. Scalable Computing: Practice and Experience, 14(2), 2013. URL http://www.scpe.org/index.php/scpe/article/view/844. [13] K. Wasielewska, M. Ganzha, M. Paprzycki, C. Badica, M. Ivanovic, and I. Lirkov. Multicriterial analysis of ontologically represented information. In AIP Conference Proceedings, volume 1629, pages 281 295. American Institute of Physics, 2014. [14] B.Roy and R.Slowinski. Questions guiding the choice of a multicriteria decision aiding method. EURO Journal on Decision Processes, 1(1-2):69 97, 2013. ISSN 2193-9438. doi: 10.1007/s40070-013-0004-7. [15] Hsu-Shih Shih, Huan-Jyh Shyur, and E. Stanley Lee. An extension of {TOPSIS} for group decision making. Mathematical and Computer Modelling, 45(7 8):801 813, 2007. ISSN 0895-7177. doi: http://dx.doi.org/10.1016/j.mcm.2006.03.023. [16] B.Mareschal, J.P.Brans, and C.Macharis. The GDSS PROMETHEE procedure: a PROMETHEE- GAIA based procedure for group decision support. ULB Institutional Repository 2013/9373, ULB Universite Libre de Bruxelles, 1998. [17] J.R.Figueira, S.Greco, and R.Slowinski. Building a set of additive value functions representing a reference preorder and intensities of preference: GRIP method. European Journal of Operational Research, pages 460 486, 2009. [18] T.L. Saaty. The Analytic Hierarchy Process. RWS Publications, Pittsburg, 1990.