Inteligentny hybrydowy system planowania i kompozycji usług sieciowych
Projekt nr 2011/01/B/ST6/01477 realizowany przez Wydział Nauk Ścisłych Uniwersytetu Przyrodniczo-Humanistycznego w Siedlacach w latach 2011-2015, finansowany przez Narodowe Centrum Nauki.Opis projektu
Rozwój sieci Internet zmienił sposoby osiągania złożonych celów, realizowanych poprzez współdziałanie wielu usługobiorców i usługodawców. Mało sformalizowane kontakty przez pocztę elektroniczną zostały zastąpione najpierw przez interakcję użytkowników z serwisami WWW, a następnie przez wymianę danych między aplikacjami kooperujących podmiotów. Następnym naturalnym etapem jest automatyzacja budowy planów złożonych przedsięwzięć (np. budowa domu, podróż dookoła świata) oraz znajdowanie optymalnych ofert dla usług z tych planów, pochodzących z Internetu.
System PlanICS, rozwijany w projekcie badawczym, realizuje ten cel, poprzez rozwiązanie kilka kluczowych problemów. Pierwszy problem to brak jednolitej semantyki usług udostępnianych w sieci, co uniemożliwia ich automatyczne współdziałanie. Proponowane rozwiązanie w odróżnieniu od istniejących pozwala na budowanie ontologii dziedzinowych i rejestru usług, które nie muszą opisywać całego świata dostępnych usług, pozwalając integratorowi na rozwiązywanie tylko interesującej go klasy zadań, na przykład związanych z danym sektorem przemysłu czy usług. Pokazujemy, że bazę wiedzy (ontologię) o usługach sieciowych, dostarczającą informacje niezbędne do automatyzacji procesu planowania każdy integrator takich usług może zbudować sam, bez konieczności modyfikacji istniejących interfejsów sieciowych po stronie kooperantów.
Problem wnioskowania w powyższym systemie wiedzy związany jest z wykładniczą eksplozją liczby możliwych rozwiązań, a także dynamiką informacji. Oferty usługodawców są nie tylko zmienne w czasie, ale również zależne od (potencjalnie nieznanych) kontekstów, których odkrycie jest możliwe poprzez zapytania ofertowe. Zatem, PlanICS realizuje koncepcję planowania wielofazowego, a moduły planujące wykorzystują najnowsze metody ze sztucznej inteligencji, jak algorytmy genetyczne i symboliczne kodowanie poprzez translację do problemu spełnialności formuł logicznych. Wielofazowość połączona z efektywnością tych metod gwarantuje skuteczność procesu planowania, zarówno na poziomie planowanie abstrakcyjnego w typach (“jak to zrobić”) jak i konkretnego w usługach (“z kim można zrobić to optymalnie”). Każdy etap planowania wymagał rozwiązania specyficznych problemów. Na przykład przy planowaniu abstrakcyjnym ważna była konstrukcja algorytmów umożliwiających znajdowanie istotnie różnych rozwiązań, do czego przyczyniło się opracowanie metody kompaktowej reprezentacji planów abstrakcyjnych, bazującej na koncepcji wielo-zbiorów i porządków częściowych.
Głównym wynikiem projektu jest opracowanie i zastosowanie, dla dwóch faz planowania, algorytmów hybrydowych będących pomysłowym rozwiązaniem łączącym szybkość algorytmów genetycznych z precyzją rozwiązań bazujących na testowaniu problemu spełnialności formuł. Ponadto, została opracowana nowatorska metoda parametrycznego planowania, w której system podpowiada modyfikacje zapytania w celu uzyskania planu. Wyniki zostały opisane w licznych publikacjach oraz wykorzystane w modułach systemu PlanICS.
Najważniejsze osiągnięcia projektu
- Opracowanie nowej, kompaktowej reprezentacji planów abstrakcyjnych, które są klasami abstrakcji porządków częściowych lub wielozbiorów usług.
- Zaproponowanie czterech nowych metod planowania abstrakcyjnego, bazujących na SMT (Satisfiability Modulo Theories), algorytmach genetycznych (GA), ich hybrydowym połączeniiu (SMT+GA) i grafowych bazach danych.
- Opracowanie nowatorskiej metody poprawiającej efektywność planowania abstrakcyjnego poprzez znajdowanie „nieplanów” w uproszczonej dziedzinie planowania.
- Opracowanie czterech nowych metod planowania konkretnego, bazujących na SMT, OpenOPT (http://openopt.org) , algorytmach genetycznych i hybrydzie (SMT+GA oraz SMT+SA, SA - Symulowane Wyżarzanie).
- Opracowanie metod planowania czasowego, temporalnego i parametrycznego w fazie abstrakcyjnej.
- Implementacja narzędzia PlanICS ułatwiającego korzystanie z opracowanych metod, składającego się m.in. z: planerów abstrakcyjnych i konkretnych, edytora ontologii, generatora przykładów, edytora zapytań, modułów generujących kontrakty WSDL i specyfikacje BPEL.