Πτυχιακές και Διπλωματικές Εργασίες για τους προπτυχιακούς και μεταπτυχιακούς φοιτητές του Τμήματος Πληροφορικής και Τηλεπικοινωνιών Αναπληρωτής Καθηγητής Μανόλης Κουμπαράκης http://www.di.uoa.gr/~koubarak Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΚΠΑ Σημειώσεις για τους φοιτητές: Τα θέματα είναι κοινά για διπλωματικές και πτυχιακές, αλλά οι απαιτήσεις διαφέρουν ανάλογα με το θέμα και το επίπεδο σπουδών του φοιτητή/φοιτήτριας (προπτυχιακό/μεταπτυχιακό). Μερικά θέματα είναι περισσότερο κατάλληλα για πτυχιακή, ενώ άλλα είναι περισσότερο κατάλληλα για διπλωματική. Γενικά, στην περίπτωση των πτυχιακών (προπτυχιακοί φοιτητές), η έμφαση θα είναι κυρίως στην κατανόηση και υλοποίηση αλγορίθμων που έχουν αναπτυχθεί από την ομάδα μου ή άλλους ερευνητές, και είναι δημοσιευμένοι στη βιβλιογραφία. Στην περίπτωση των διπλωματικών (μεταπτυχιακοί φοιτητές), θα δίνεται έμφαση και στην επιστημονική συνεισφορά και πρωτοτυπία της εργασίας. Όλες οι πτυχιακές μπορούν να ανατεθούν και σε ομάδα φοιτητών με κατάλληλη τροποποίηση των απαιτήσεων. Οι διπλωματικές είναι μόνο για ένα φοιτητή ή φοιτήτρια. Όπου αναφέρονται σχετικές περιοχές/μαθήματα, η πληροφορία είναι ενδεικτική. Στην πράξη κάποια μαθήματα θα αποδειχθούν πολύ χρήσιμα για την εργασία σας και κάποια άλλα λιγότερο. Όμως, αν στα μαθήματα που αναφέρω έχετε πάρει χαμηλούς βαθμούς (ή δεν σας ενδιαφέρουν), μάλλον η αντίστοιχη εργασία δεν είναι για σας! Όλες οι εργασίες επικεντρώνονται σε θέματα που είναι στην αιχμή της έρευνας και της τεχνολογίας στις αντίστοιχες θεματικές περιοχές. Συνεπώς, οι πτυχιακές είναι κατάλληλες σαν πρώτο βήμα για την μελλοντική εκπόνηση διπλωματικής, και οι διπλωματικές σαν πρώτο βήμα για την μελλοντική εκπόνηση διδακτορικού σε σχετικό αντικείμενο. Αν σας ενδιαφέρει κάποιο θέμα, δείτε τη σχετική βιβλιογραφία και στείλτε μου e-mail για να συναντηθούμε και να το συζητήσουμε. Προτεινόμενα Θέματα: 1. Αποτίμηση ερωτήσεων σε βάσεις δεδομένων για το σημασιολογικό μοντέλο RDF και τις γλώσσες RQL και RUL. Το RDF (http://www.w3.org/tr/rdf-primer/) είναι ένα μοντέλο περιγραφής πόρων για το Σημασιολογικό Ιστό (Semantic Web). Η RQL (http://139.91.183.30:9090/rdf/rql/) και η RUL (http://www.di.uoa.gr/~koubarak/publicatins/rul.pdf) είναι γλώσσες ερωτήσεων και ενημερώσεων για το RDF. Η εργασία θα επικεντρωθεί στην υλοποίηση ενός μεταφραστή (compiler) που θα μεταφράζει ερωτήσεις/ενημερώσεις εκφρασμένες με τις γλώσσες RQL/RUL σε κατάλληλες ενδιάμεσες μορφές ώστε να εκτελεστούν σε γνωστά συστήματα για RDF όπως το Sesame (http://www.openrdf.org/), το RDFSuite (http://139.91.183.30:9090/rdf/) ή το σύστημα Atlas που υλοποιείται από την ομάδα μου (http://atlas.di.uoa.gr).
Σχετικά περιοχές/μαθήματα: Βάσεις Δεδομένων και Μεταγλωττιστές 2. Αποτίμηση κατανεμημένων ερωτήσεων στο σύστημα Atlas. Η εργασία θα επικεντρωθεί στην υλοποίηση αλγορίθμων για την αποτίμηση ερωτήσεων εκφρασμένων σε RQL στο σύστημα Atlas που υλοποιείται από την ομάδα μας. Πληροφορίες για το σύστημα Atlas μπορείτε να βρείτε στον ιστότοπο http://atlas.di.uoa.gr. Επειδή το σύστημα Atlas έχει αναπτυχθεί πάνω από τον DHT (κατανεμημένο πίνακα κατακερματισμού - distributed hash table) Bamboo (http://bamboo-dht.org/), οι φοιτητές θα χρειαστεί πρώτα να μάθουν καλά το σύστημα Bamboo. Σχετικά μαθήματα: Βάσεις Δεδομένων, Τεχνολογίες Γνώσεων, Δίκτυα Υπολογιστών, 3. Υλοποίηση του συστήματος Atlas χρησιμοποιώντας το DHT Pastry. Η εργασία θα επικεντρωθεί στην υλοποίηση αλγορίθμων για επεξεργασία επερωτήσεων στο σύστημα Atlas χρησιμοποιώντας το DHT Pastry. Το σύστημα Atlas έχει υλοποιηθεί από την ομάδα μας χρησιμοποιώντας το DHT Bamboo και σκοπεύουμε να αναπτύξουμε υλοποιήσεις και για άλλα DHTs. Πληροφορίες για το σύστημα Atlas μπορείτε να βρείτε στον ιστότοπο http://atlas.di.uoa.gr. Σχετικά μαθήματα: Βάσεις Δεδομένων, Δίκτυα Υπολογιστών, Τεχνολογίες Γνώσεων, 4. Υλοποίηση του συστήματος Atlas χρησιμοποιώντας το DHT Pastry - Aλγόριθμοι για συνεχείς επερωτήσεις. Η εργασία θα επικεντρωθεί στην υλοποίηση αλγορίθμων επεξεργασίας συνεχών επερωτήσεων (continuous queries) του συστήματος Atlas χρησιμοποιώντας το DHT Pastry. Το σύστημα Atlas έχει υλοποιηθεί από την ομάδα μας χρησιμοποιώντας το DHT Bamboo και σκοπεύουμε να αναπτύξουμε υλοποιήσεις και για άλλα DHTs. Πληροφορίες για το σύστημα Atlas μπορείτε να βρείτε στον ιστότοπο http://atlas.di.uoa.gr. Σχετικά μαθήματα: Βάσεις Δεδομένων, Δίκτυα Υπολογιστών, Τεχνολογίες Γνώσεων, 5. Γλώσσες επερωτήσεων για το σύστημα Atlas Το μοντέλο δεδομένων του σύστηματος Atlas είναι το RDF και η γλώσσα επερωτήσεων που χρησιμοποιεί είναι η RQL. Η εργασία αυτή θα επικεντρωθεί στην ανάπτυξη και υλοποίηση αλγορίθμων αποτίμησης επερωτήσεων για γλώσσες όπως η SPARQL
(http://www.w3.org/tr/rdf-sparql-query/) και η SeRQL (http://www.openrdf.org/doc/rqltutorial.html). Σχετικά μαθήματα: Βάσεις Δεδομένων, Μεταγλωττιστές, Τεχνολογίες Γνώσεων, 6. Κατανεμημένες αρχιτεκτονικές ομοτίμων για ψηφιακές βιβλιοθήκες (P2P architectures for distributed digital libraries). Στις εργασίες http://www.di.uoa.gr/~koubarak/publications/ecdl05-tik.pdf και http://www.di.uoa.gr/~koubarak/publications/sigir05-tik.pdf παρουσιάζεται μια αρχιτεκτονική ομοτίμων (P2P architecture) για ψηφιακές βιβλιοθήκες. Η εργασία θα επικεντρωθεί στην υλοποίηση σε Java της παραπάνω αρχιτεκτονικής πάνω από ένα DHT. Μπορεί να χρησιμοποιηθεί το DHT Pastry (http://research.microsoft.com/~antr/pastry/default.htm) ή το Bamboo (http://bamboodht.org/) αντί του Chord που αναφέρεται στις εργασίες. Σχετικά μαθήματα: Βάσεις Δεδομένων, Ανάκτηση Πληροφορίας, Δίκτυα Υπολογιστών, 7. Υλοποίηση κεντρικοποιημένου συστήματος Δημοσιεύσεων/Συνδρομών (Publish/subscribe) για την XML. Η εργασία θα επικεντρωθεί στην υλοποίηση σε Java ενός συστήματος Δημοσιεύσεων/Συνδρομών στο οποίο οι δημοσιεύσεις είναι XML αρχεία και οι συνδρομές εκφράζονται σε XQuery ή XPath (http://www.w3.org/tr/xquery/). Οι αλγόριθμοι που θα υλοποιηθούν θα βασίζονται σε σχετικά συστήματα που έχουν προταθεί στη βιβλιογραφία (π.χ., το σύστημα YFilter http://yfilter.cs.umass.edu ή το XTrie http://www.cs.berkeley.edu/~minos/abstracts/icde02-abs.html). Για την υλοποίηση των αλγορίθμων μπορεί να χρησιμοποιηθεί το DHT Pastry (http://research.microsoft.com/~antr/pastry/default.htm) ή το Bamboo (http://bamboodht.org/). Σχετικά μαθήματα: Βάσεις Δεδομένων, Δίκτυα Υπολογιστών, 8. Υλοποίηση κατανεμημένου συστήματος Δημοσιεύσεων/Συνδρομών (Publish/subscribe) για την XML. Η εργασία θα επικεντρωθεί στην υλοποίηση σε Java ενός κατανεμημένου συστήματος Δημοσιεύσεων/Συνδρομών (Publish/subscribe) για την XML πάνω από ένα DHT. Οι αλγόριθμοι που θα υλοποιηθούν έχουν σχεδιαστεί και βασίζονται στο κεντρικοποιημένο σύστημα YFilter (http://yfilter.cs.umass.edu). Για την υλοποίηση των αλγορίθμων μπορεί να χρησιμοποιηθεί το DHT Pastry (http://research.microsoft.com/~antr/pastry/default.htm) ή το Bamboo (http://bamboo-dht.org/). Σχετικά μαθήματα: Βάσεις Δεδομένων, Δίκτυα Υπολογιστών,
9. Επεξεργασία συνεχών σχεσιακών ερωτήσεων (continuous relational queries) πάνω από DHTs Μελετούμε θέματα υλοποίησης κατανεμημένων βάσεων δεδομένων με χρήση DHTs. Η βασική ερώτηση που θα απαντηθεί είναι η εξής: Πως αποθηκεύουμε σχεσιακά δεδομένα σε ένα DHT και πως επεξεργαζόμαστε ερωτήσεις SQL που απευθύνονται σ αυτά τα δεδομένα; Η εργασία αυτή θα επικεντρωθεί στην υλοποίηση επιλεγμένων τεχνικών επεξεργασίας SQL ερωτήσεων πάνω από ένα DHT (π.χ., το Pastry), όπως αυτές δίνονται στα παρακάτω άρθρα: Stratos Idreos, Christos Tryfonopoulos, Manolis Koubarakis. Distributed Evaluation of Continuous Equi-join Queries over Large Structured Overlay Networks. In Proceedings of the 22nd International Conference on Data Engineering (ICDE), Atlanta, USA, April 2006. http://cgi.di.uoa.gr/~koubarak/publications/icde.pdf Ryan Huebsch, Joseph M. Hellerstein, Nick Lanham, Boon Thau Loo, Scott Shenker, Ion Stoica: Querying the Internet with PIER. VLDB 2003: 321-332 http://db.cs.berkeley.edu/papers/vldb03-pier.pdf Σχετικά μαθήματα: Βάσεις Δεδομένων, Δίκτυα Υπολογιστών, 10. Δηλωτικές Γλώσσες Προγραμματισμού και Επερωτήσεων με Εφαρμογές στα Δίκτυα Υπολογιστών Δηλωτικές γλώσσες προγραμματισμού όπως η Prolog και γλώσσες επερωτήσεων σε σχεσιακά συστήματα δεδομένων όπως η Datalog, έχουν βρει πρόσφατα εφαρμογές στην γρήγορη ανάπτυξη (rapid prototyping) πρωτοκόλλων για δίκτυα υπολογιστών και δίκτυα επικάλυψης (overlay networks). Δύο πρόσφατα ερευνητικά έργα στη περιοχή είναι το P2 (http://p2.cs.berkeley.edu/) και το DSN (http://db.cs.berkeley.edu/dsn2/). Η παρούσα διπλωματική θα επικεντρωθεί στην ανάπτυξη και τη σύγκριση πρωτοκόλλων για δίκτυα επικάλυψης χρησιμοποιώντας δηλωτικές γλώσσες προγραμματισμού. Σχετικά μαθήματα: Τεχνητή Νοημοσύνη, Λογικός Προγραμματισμός, Τεχνολογίες Γνώσεων, Βάσεις Δεδομένων, Δίκτυα Υπολογιστών,, Prolog 11. SenseWeb/SensorMap To SenseWeb/SensorMap (http://research.microsoft.com/nec/senseweb/) είναι ένα ερευνητικό portal της Microsoft Research το οποίο επιτρέπει στους χρήστες του να κάνουν επερωτήσεις σε δεδομένα πραγματικού χρόνου που προέρχονται από αισθητήρες χρησιμοποιώντας διεπαφές χάρτη όπως Windows Live Local (http://maps.live.com/) ή Google Maps (http://maps.google.com/). Οι χρήστες μπορούν εύκολα να δημοσιεύουν δεδομένα πραγματικού χρόνου στο portal χρησιμοποιώντας Web service interfaces.
Υπάρχουν διάφορα ενδιαφέροντα προβλήματα που σχετίζονται με το παραπάνω portal και μπορούν να αποτελέσουν το θέμα αυτής της πτυχιακής. Παραδείγματα: Ενσωμάτωση πηγών δεδομένων με ενδιαφέρον για την Ελλάδα (για παράδειγμα, δεδομένα από την ιστοσελίδα του ΥΠΕΧΩΔΕ http://www.minenv.gr/1/12/122/12204/g1220400.html). Τεχνολογικές/ερευνητικές επεκτάσεις του SenseWeb/SensorMap π.χ., οντολογίες για την περιγραφή αισθητήρων, γλώσσες επερωτήσεων για συστήματα αισθητήρων, διεπαφές για πληροφορία από αισθητήρες, mash-ups κλπ. Σχετικά μαθήματα: Τεχνολογίες Διαδικτύου, Βάσεις Δεδομένων, Γεωγραφικά Συστήματα Πληροφοριών 12. Ανάκτηση και ενοποίηση πληροφορίας από επιστημονικές ψηφιακές βιβλιοθήκες διαθέσιμες στον Παγκόσμιο Ιστό. Σήμερα στον Παγκόσμιο Ιστό υπάρχουν διάφορες πηγές και ψηφιακές βιβλιοθήκες που διαθέτουν επιστημονικά άρθρα και σχετικές πληροφορίες (π.χ., Google Scholar http://scholar.google.com/, CiteSeer http://citeseer.ist.psu.edu/, etc.) Η εργασία θα επικεντρωθεί σε συγκεκριμένα προβλήματα ανάκτησης και ενοποίησης πληροφορίας από πηγές όπως αυτές που αναφέρθηκαν παραπάνω (Παράδειγμα: ανάπτυξη ενός συστήματος το οποίο θα δίνει τις αναφορές στα άρθρα ενός συγγραφέα, ενοποιώντας πληροφορίες από όσο το δυνατόν περισσότερες διαθέσιμες πηγές). Σχετικά μαθήματα: Τεχνολογίες Διαδικτύου, Βάσεις Δεδομένων 13. Ανάκτηση πληροφοριών για υπηρεσίες του Παγκόσμιου Ιστού (Web services) Σήμερα στον Παγκόσμιο Ιστό είναι διαθέσιμες πολλές χρήσιμες υπηρεσίες που προσφέρονται ηλεκτρονικά (π.χ., αγορά βιβλίων, αγορά εισιτηρίων, ενοικίαση αυτοκινήτων κλπ.). Ένα πρόβλημα που προκύπτει από την ύπαρξη πολλών τέτοιων υπηρεσιών είναι η ανακάλυψη τους. Πως βρίσκουμε ότι υπάρχει μια υπηρεσία που μας ενδιαφέρει; Πως μπορούμε να πληροφορηθούμε σχετικά με μια υπηρεσία που μόλις έγινε διαθέσιμη; Η εργασία αυτή μελετάει το πρόβλημα της σχεδίασης και υλοποίησης ενός καταλόγου που περιέχει σημασιολογικές περιγραφές υπηρεσιών εκφρασμένων στη γλώσσα OWL-S. Ένα σχετικό σύστημα matchmaker περιγράφεται στο παρακάτω άρθρο: K. Sycara, M. Paolucci, M. Van Velsen, and J.A. Giampapa. The RETSINA MAS Infrastructure. Τech. report CMU-RI-TR-01-05, Robotics Institute, Carnegie Mellon University, March, 2001. http://www.ri.cmu.edu/pubs/pub_3509.html Η εργασία μπορεί να επικεντρωθεί στην υλοποίηση του κεντρικοποιημένου συστήματος που περιγράφεται στο παραπάνω άρθρο ή να προτείνει μια κατανεμημένη υλοποίηση του βασισμένη σε ιδέες από DHTs. Σχετικά μαθήματα: Τεχνολογίες Διαδικτύου, Βάσεις Δεδομένων, Δίκτυα Υπολογιστών, Τεχνολογίες Γνώσεων,
14. Ανάκτηση πληροφοριών για πόρους και υπηρεσίες σε σύγχρονα συστήματα υπολογιστικού πλέγματος (grid computing systems). Στα σύγχρονα συστήματα υπολογιστικού πλέγματος (π.χ. το Globus Toolkit 4 http://www.globus.org/) υπάρχουν συγκεκριμένα υποσυστήματα που προσφέρουν πληροφορίες σχετικά με τους διαθέσιμους πόρους και υπηρεσίες του συστήματος (π.χ., the monitoring and discovery service MDS of Globus Toolkit 4 http://www.globus.org/toolkit/mds/ ). Η εργασία αυτή επικεντρώνεται στην σχεδίαση και υλοποίηση μιας κατανεμημένης έκδοσης του MDS (ή παραπλήσιου συστήματος) χρησιμοποιώντας P2P τεχνολογίες (π.χ., DHTs). Ένα σχετικό άρθρο στη βιβλιογραφία είναι το ακόλουθο: Shishir Bharathi and Ann Chervenak. Design of a Scalable Peer-to-Peer Information System Using the GT4 Index Service. Proceedings of CCGrid Conference 2007, Rio de Janeiro, Brazil, May 2007. http://www.isi.edu/~annc/papers/ccgrid2007.pdf Σχετικά μαθήματα: Βάσεις Δεδομένων, Δίκτυα Υπολογιστών, Τεχνολογίες Γνώσεων, Κατανεμημένα Συστήματα, Συστήματα Υπολογιστικού Πλέγματος. 15. Αποτίμηση της απόδοσης συστημάτων βάσεων δεδομένων για το μοντέλο RDF Το μοντέλο RDF (http://www.w3.org/tr/rdf-primer/) είναι ένα μοντέλο περιγραφής πόρων για το Σημασιολογικό Ιστό (Semantic Web). Υπάρχουν σήμερα μια σειρά από συστήματα (π.χ., ICS-FORTH RDFSuite http://139.91.183.30:9090/rdf/, Jena http://jena.sourceforge.net/, Sesame http://www.openrdf.org/, Boca http://ibmslrp.sourceforge.net/2006/11/20/boca-the-rdf-repository-component-of-the-ibm-semanticlayered-research-platform/, Oracle 10g http://www.oracle.com/technology/tech/semantic_technologies/index.html ) που υποστηρίζουν τις κλασσικές λειτουργίες ενός συστήματος διαχείρισης βάσεων δεδομένων για το μοντέλο RDF. Η εργασία αυτή επικεντρώνεται στο σχεδιασμό ενός benchmark για την αποτίμηση της απόδοσης των παραπάνω συστημάτων. Δύο σχετικές δουλειές από τη βιβλιογραφία είναι οι παρακάτω: Benchmarking Database Representations of RDF/S Stores, Y. Theoharis, V. Christophides and G. Karvounarakis, Fourth International Semantic Web Conference (ISWC'05), Galway, Ireland, November, 2005. http://139.91.183.30:9090/rdf/publications/index.html Τhe Lehigh University Benchmark (LUBM). http://swat.cse.lehigh.edu/projects/lubm/ Σχετικά μαθήματα: Βάσεις Δεδομένων, Τεχνητή Νοημοσύνη, Τεχνολογίες Γνώσεων