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/>.