SmartScheduleMe? (M.Sc. Thesis)
Supervisor
- Henryk Krawczyk
Consultant
- Sebastian Ryszard Kruk, Knowledge Hives sp. z o.o.
- Mariusz Cygan, Knowledge Hives sp. z o.o.
Student
- Michal Szopinski
Description/Goal
W 2001 roku w Scientific American ukazał się artykuł autorstwa sir Tim Berners-Lee, Jamesa Hendlera and Ora Lassili "Semantic Web"; wyznaczył on kierunek prac nad Internetem, które właśnie wchodzą w kulminacyjną fazę. Jako przykład usługi, którą mógłaby dostarczyć Semantyczna Sieć był inteligentny system zarządzania kalendarzem i spotkaniami. Usługi (agenci) obsługujące kalendarze w imieniu ich właścicieli potrafiły automatycznie zmieniać terminy spotkań na podstawie ich priorytetów i innych stowarzyszonych semantycznych informacji. Chociaż prowadzone prace badawcze, rozwojowe i wdrożeniowe technologii Sieci Semantycznej zaowocowały wieloma interesującymi rozwiązaniami, do tej pory nie dostarczono prototypu semantycznego kalendarza opisanego ww. artykule z 2001 roku.
Ponieważ opracowanie całego systemu semantycznego kalendarza, z wnioskowaniem semantycznym znacząco wykraczałoby poza ramy jednej pracy magisterskiej, proponujemy stworzenie podstawowego systemu kalendarzowego spełniającego następujące kryteria:
- model danych umożliwiający opis zdarzeń, miejsc, oraz procesu negocjacji nad terminem i miejscem spotkania
- skalowalna architektura oparta o technologie JEE
- wyszukiwanie pełnotekstowe (Lucene)
- architektura pluginów umożliwiająca dostarczanie rozwiązań importu/eksportu/synchronizacji z inny systemami kalendarzowymi
- dostarczenie pluginów do synchronizacji z Google Calendar i w protokole iCal/DevCal
- zgodność ze standardami Linked Open Data i RDF/A
- prosty, przykładowy (dummy) komponent pol-automatyzacji negocjacji terminow i miejsc spotkań
Dodatkowo model danych powinien zostać wstępnie zmapowany na ontologie z wykorzystaniem istniejących i najpopularniejszych ontologii dostępnych w trakcie pisania tej pracy. Opracowane rozwiązanie musi umożliwiać jego łatwe rozszerzenia o nowe pluginy importu/eksportu/synchronizacji kalendarza, dostarczanie bardziej zaawansowanych agentów wspierających negocjacje nad czasem i miejscem spotkań, oraz integrację z innymi systemami i usługami Sieci Semantycznej, w tym m.in., semantyczny index (np. Sindice), baza wiedzy (digi.me, DBPedia) czy geolokalizacja (geonames).
Oczekiwane rozwiązanie powinno w sposób znaczący poprawiać proces negocjowania terminu i miejsca spotkania w stosunku do http://whenisgood.net/, umożliwiać łatwe rozszerzanie w dalszych etapach prac nad systemem, oraz być wykonane zgodnie z ustalonymi standardami kodowania i raportowania,
Tasks
- przegląd literatury i dostępnych rozwiązań podobnych do SmartSchedule?.me (patrz niżej)
- opracowanie modelu danych (w postaci ERD i interfejsu Java) - model danych powinien brać pod uwagę dostępne ontologie kalendarzowe aby umożliwić integrację semantyczną w dalszych pracach nad systemem (poza obszarem dyplomu)
- stworzenie warstwy bazodanowej (z wykorzystaniem JPA/Hibernate i Lucene) oraz implementacji interfejsów zdefiniowanych w modelu
- opracowanie High Level API (implementującego logikę biznesową) oraz dostarczenie REST API (CRUD dla obiektów modelu oraz usługi dodatkowe) bazujące na High Level API
- opracowanie przestrzeni pluginow import/export/synchronizacja z innych źródel kalendarzowych
- dostarczenie przykładowych pluginow: Google Calendar, iCal/DevCal, Outlook
- opracowanie interfejsu serwisu/agentów automatyzujących proces negocjacji czasu i miejsc spotkań
- dostarczenie przykładowego, prostego agenta (pół-)automatyzującego proces negocjacji czasu i miejsc spotkań z wykorzystaniem systemu pocztowego
- opracowanie aplikacji webowej w technologii JSP/Servlet, wykorzystującej podsystem FOAFRealm do zarządzania urzytkownikami
- opracowanie warstwy UI z protokołu Ajax (technologia prototype.js)
- implementacja standardów Linked Open Data oraz RDF/A w warstwie UI
Literature
Semantic Web
Social Networks
Calendaring
License
Źródła projektu stworzonego w ramach tej pracy magisterskiej będą udostępnione na licencji Open Source - AGPL Następujący fragment informuje o licencji w każdym z plików źródłowych:
SmartSchedule.me - Semantic Calender
Copyright (C) 2009, Knowledge Hives sp. z o.o.
Contribution from: Gdansk University of Technology, Poland
Invented by: Sebastian R. Kruk
Implemented by: Michał Szopiński, Mariusz Cygan
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
