Παρακάτω μπορείτε να βρείτε τα νέα θέματα διπλωματικών της Ομάδας Ευφυών Συστημάτων και Τεχνολογίας Λογισμικού. Οι φοιτητές που ενδιαφέρονται για διπλωματική εργασία παρακαλούνται να συμπληρώσουν τη φόρμα έκφρασης ενδιαφέροντος έως και τις ΧΧΧΧ. Μπορείτε να βρείτε ένα αρχείο με παρουσίαση των διπλωματικών στον σύνδεσμο: to be announced. Τέλος, βρείτε σχετικές ερωτήσεις σχετικά με τη διαδικασία επιλογής και τις απαιτήσεις στον παρακάτω σύνδεσμο: Link.
Περιεχόμενα:
- TH-1/ Βελτίωση του ρυθμού μετατροπών ηλεκτρονικών καταστημάτων με τεχνικές δυναμικής τιμολόγησης
- TH-2/ Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για την δημιουργία ψηφιακών βοηθών (chatbots)
- TH-3/ Ανάλυση συναισθήματος σε κείμενο και χρήση του σε ψηφιακούς βοηθούς
- TH-4/ Δημιουργία συμπεριφορών αυτόνομου αυτοκινήτου με χρήση προσομοιωτή και απλών καμερών ως προς την δημιουργία απομακρυσμένων services
- TH-5/ Δημιουργία γραφικού εργαλείου που επιτρέπει την κατασκευή machine vision pipelines με χρήση IoT communication protocols
- TH-6/ Ρύθμιση φαναριών κυκλοφορίας προς βελτίωση ροής κίνησης αυτοκινήτων σε επίπεδο πόλης
- TH-7/ Δημιουργία απεικόνισης επαυξημένης πραγματικότητας (AR - Augmented reality) για προσομοίωση ενός IoT συστήματος
- TH-8/ Ανάλυση Εργασιών Λογισμικού από Δεδομένα Συστημάτων Ελέγχου Εκδόσεων
- TH-9/ Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Αυτοματοποιημένη Διόρθωση Σφαλμάτων
- TH-10/ Σχεδίαση και ανάπτυξη κρυπτονομίσματος
- TH-11/ Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίησης των φάσεων ανάλυσης απαιτήσεων και λογισμικού.
- TH-12/ Αυτοματοποίηση της μετατροπής των επιχειρησιακών διαδικασιών εταιρειών σε Web εφαρμογές.
- TH-13/ Αυτοματοποίηση της παραγωγής διαδραστικών εγχειριδίων περιγραφής των επιχειρησιακών διαδικασιών εταιρειών, δεδομένων των μοντέλων αυτών
- TH-14/ Αυτοματοποίηση της παραγωγής εξατομικευμένων ερωτηματολογίων επιχειρησιακών διαδικασιών εταιρειών για την πιστοποίηση γνώσης τους εκ μέρους του προσωπικού τους
- TH-15/ Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων με βάση παραδείγματα (Seeded Remodularization of Source Code Dependency Graphs)
- TH-16/ Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα)
- TH-17/ Αξιολόγηση Μοντέλων Αναγνωσιμότητας Έργων Λογισμικού και Εξαγωγή Χρήσιμων Χαρακτηριστικών
- TH-18/ Διερεύνηση Μεθόδων Καταγραφής και Μετάδοσης Νέφους Σημείων
- TH-19/ Παρακολούθηση και εντοπισμός πτώσης χρήστη, χρησιμοποιώντας τεχνολογίες Internet-of-Things και μηχανικής μάθησης σε συσκευές χαμηλής κατανάλωσης ισχύος.
Βελτίωση του ρυθμού μετατροπών ηλεκτρονικών καταστημάτων με τεχνικές δυναμικής τιμολόγησης
H δυναμική τιμολόγηση (dynamic pricing) είναι η διαδικασία με την οποία οι επιχειρήσεις αλλάζουν τις τιμές πωλήσεις με χρήση αλγορίθμων που λαμβάνουν υπόψη τον ανταγωνισμό, την προσφορά και ζήτηση, και άλλους εξωτερικούς παράγοντες της αγοράς. Αποτελεί μία κοινή πρακτική την οποία συναντάμε σε πολλούς τομείς της καθημερινότητας, όπως όταν κάνουμε κράτηση για αεροπορικά εισιτήρια και ξενοδοχεία, ή στον τομέα της ηλεκτρικής ενέργειας. Παρόλα αυτά η εφαρμογή παρόμοιων τεχνικών παρουσιάζει περιορισμένη εφαρμογή στα ηλεκτρονικά καταστήματα λιανικής πώλησης. H δυναμική τιμολόγηση είναι μία διαδικασία με ιδιαίτερες προκλήσεις, απαιτεί μία πολυπαραγοντική ανάλυση η οποία συνδυάζει δεδομένα ζήτησης, ανταγωνισμού, κόστους και διαθέσιμου στοκ. Αποτελεί μια προσέγγιση καθορισμού των τιμών που βασίζεται στην ανάλυση των δεδομένων και την ευελιξία. Οι τεχνικές δυναμικής τιμολόγησης επιτρέπουν την διαμόρφωση και τον έλεγχο των τιμών σε συνθήκες σχεδόν πραγματικού χρόνου, ανάλογα με τα προϊόν, τις προηγούμενες αλληλεπιδράσεις των πελατών με την ιστοσελίδα και το προφίλ τους, δημιουργώντας εξατομικευμένες προσφορές. Στόχος της διπλωματικής εργασίας είναι η ανάπτυξη μεθόδων δυναμικής τιμολόγησης που θα λαμβάνουν υπόψη την ζήτηση, τον ανταγωνισμό, το διαθέσιμο στοκ, καθώς και το προφίλ του χρήστη. Το σύστημα που θα δημιουργηθεί θα κάνει χρήση μεθόδων και αλγορίθμων βελτιστοποίησης και εξατομίκευσης, συνδυάζοντας τα παραπάνω δεδομένα και θα αποφασίζει δυναμικά την τιμή για κάθε προϊόν ανά πελάτη με στόχο την βελτιστοποίηση του ποσοστού μετατροπών (conversion rate). Η αξιολόγηση των μεθόδων που θα αναπτυχθούν θα πραγματοποιηθεί με ανώνυμα δεδομένα που θα προέλθουν από το ηλεκτρονικό φαρμακείο www.pharm24.gr
- Προαπαιτούμενα: Καλή γνώση προγραμματισμού, Δομές και Βάσεις Δεδομένων, Φαντασία και όρεξη για δουλειά
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Μέθοδοι εξατομίκευσης περιεχομένου, Αλγόριθμοι και τεχνικές ανάλυσης δεδομένων, Τεχνικές βελτιστοποίησης
- Tags: dynamic pricing, optimization, e-commerce, data analysis, information retrieval
- Εκτιμώμενος Χρόνος Περάτωσης: 6 – 9 Μήνες
- Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Βαβλιάκης
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για την δημιουργία ψηφιακών βοηθών (chatbots)
Με την πρόοδο της τεχνολογίας των τελευταίων ετών τα conversational chatbots έχουν ενταχθεί στην καθημερινότητα μας. Η δημιουργία, όμως, τέτοιων βοηθών συνήθως είναι προγραμματιστικά απαιτητική και πολύπλοκη. Για τον λόγο αυτό έχουν αναπτυχθεί διάφορα frameworks που προσπαθούν να απλοποιήσουν όσο είναι δυνατό αυτή την διαδικασία.
Ένα τέτοιο open source framework είναι το Rasa, το οποίο δημιουργεί πολύ αποδοτικούς agents με μόλις λίγα δεδομένα. Ωστόσο, η ανάπτυξη μοντέλων ακόμα και με αυτό το λογισμικό απαιτεί ένα υψηλό επίπεδο προγραμματιστικών γνώσεων πράγμα που περιορίζει την ανάπτυξη τέτοιων συστημάτων αποκλειστικά σε προγραμματιστές. Στόχος αυτής της διπλωματικής εργασίας είναι η ανάπτυξη ενός εύχρηστου εργαλείου δημιουργίας σεναρίων-δεδομένων για το Rasa με στόχο την γρήγορη δημιουργία ψηφιακών βοηθών. Ζητούμενο είναι να υλοποιηθεί τόσο η αυτοματοποιημένη διαδικασία όσο και ένα φιλικό user interface. Πιο αναλυτικά, τα βήματα της διπλωματικής εργασίας περιλαμβάνουν:
-
Την μελέτη του Rasa chatbot framework
-
Την δημιουργία μιας διαδικασίας αυτοματοποίησης της παραγωγής σεναρίων για το Rasa
-
Την ανάπτυξη ενός εύχρηστου user interface
-
Την μελέτη και σύγκριση διάφορων ψηφιακών βοηθών κάνοντας χρήση του υλοποιημένου συστήματος
-
Γνώσεις που θα αποκτηθούν: Python, Natural Language Understanding, Rasa chatbot framework, full-stack development
-
Εκτιμώμενος χρόνος περάτωσης: 6-9 μήνες
-
Συνεργαζόμενοι ερευνητές: Υπ.Δρ. Νικόλας Μάλαμας
Ανάλυση συναισθήματος σε κείμενο και χρήση του σε ψηφιακούς βοηθούς
Τα conversational chatbots όπως η Siri, η Cortana ή η Alexa, χρησιμοποιούνται καθημερινά από εκατομμύρια χρήστες. Η απόκριση τους, όμως, παρόλο που προσαρμόζεται στον εκάστοτε χρήστη, δεν είναι η ιδανική. Σε αυτό που συνήθως αποτυγχάνουν είναι η κατανόηση της συναισθηματικής κατάστασης, αν για παράδειγμα ο χρήστης είναι χαρούμενος, λυπημένος, αδιάφορος, και αδυνατούν να αλλάξουν την απόκριση τους. Στόχος αυτής της διπλωματικής είναι η δημιουργία ενός conversational agent που θα μπορεί να αντιληφθεί την συναισθηματική κατάσταση του χρήστη και να προσαρμόσει την συμπεριφορά του. Θα μελετηθούν ελληνικά κείμενα μικρού μήκος (π.χ. tweets, posts) χρησιμοποιώντας αλγόριθμους κατανόησης φυσικής γλώσσας και θα συγκριθούν με δημοφιλή συστήματα. Πιο αναλυτικά, τα βήματα της διπλωματικής εργασίας περιλαμβάνουν: Την μελέτη του Rasa chatbot framework και την δημιουργία ενός custom sentiment analyzer component
-
Την συλλογή συλλογή ενός dataset ελληνικών κειμένων που περιέχουν sentiment
-
Την μελέτη αλγορίθμων deep learning για την ανάλυση του κειμένου με βάση το συναίσθημα (sentiment analysis)
-
Την ένταξη των μοντέλων στο Rasa και την δημιουργία έξυπνων conversational ψηφιακών βοηθών
-
Γνώσεις που θα αποκτηθούν: Python, Natural Language Understanding, Deep Learning, Sentiment analysis, συλλογή δεδομένων, Rasa Chatbot framework
-
Εκτιμώμενος χρόνος περάτωσης: 6-9 μήνες
-
Συνεργαζόμενοι ερευνητές: Υπ.Δρ. Νικόλας Μάλαμας
Δημιουργία συμπεριφορών αυτόνομου αυτοκινήτου με χρήση προσομοιωτή και απλών καμερών ως προς την δημιουργία απομακρυσμένων services
Ένας από τους βασικότερους αισθητήρες που διαθέτει ένα αυτόνομο αμάξι είναι το Lidar, το οποίο επιστρέφει ένα μεγάλο πλήθος αποστάσεων περιμετρικά του αμαξιού, επιτρέποντάς του να αντιλαμβάνεται τα εμπόδια του περιβάλλοντος. Εκτός αυτού, συνήθως ένα αυτόνομο αυτοκίνητο περιλαμβάνει και κάμερες (βάθους ή απλές), οι οποίες βοηθούν στον εντοπισμό των αντικειμένων περιμετρικά του οχήματος. Σκοπός της παρούσας διπλωματικής είναι να γίνει χρήση μόνο μιας κάμερας (ή καμερών), με τις οποίες θα πραγματοποιείται όλο το perception του αυτοκινήτου και μέσω αυτού θα λαμβάνονται βασικές αποφάσεις κίνησης. Δευτερεύον σκοπός της διπλωματικής εργασίας είναι κάθε αλγόριθμος μηχανικής όρασης που θα παραχθεί να υλοποιηθεί ως microservice, έτσι ώστε να είναι accessible μέσω τεχνολογιών REST ή IoT based (AMQP/MQTT).
- Προαπαιτούμενες/επιθυμητές γνώσεις: Python, OpenCV ή CNN/DNN training
- Γνώσεις που θα αποκτηθούν: Συμπεριφορές αυτόνομου αυτοκινήτου, μηχανική μάθηση, εκτέλεση microservices
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Τσαρδούλιας Εμμανουήλ
Δημιουργία γραφικού εργαλείου που επιτρέπει την κατασκευή machine vision pipelines με χρήση IoT communication protocols
Μία από τις ρεαλιστικές απαιτήσεις ενός συστήματος που επιλύει προβλήματα machine vision είναι ο πειραματισμός με διάφορες παραμέτρους ώστε το τελικό αποτέλεσμα να είναι ικανοποιητικό. Σκοπός της παρούσας διπλωματικής εργασίας είναι η δημιουργία ενός web εργαλείου, το οποίο επιτρέπει την ένωση blocks κάθε ένα από τα οποία αναπαριστά διαφορετικό αλγόριθμο machine vision. Κάθε block θα είναι παραμετροποιήσιμο και θα συνδέεται με τον αντίστοιχο deployed αλγόριθμο μέσω IoT protocols (AMQP/MQTT). Ταυτόχρονα, κάθε block θα μπορεί να εμφανίζει το αποτέλεσμα της εφαρμογής του αντίστοιχου αλγορίθμου στην έξοδό του. Ως προς την δημιουργία του web εργαλείου, οι επιλογές είναι είτε η δημιουργία του σε React, είτε η δημιουργία των blocks με χρήση NodeRed.
- Προαπαιτούμενες/επιθυμητές γνώσεις: OpenCV, Python, AMQP/MQTT
- Γνώσεις που θα αποκτηθούν: Machine vision, flow/block based programming, IoT protocols (AMQP/MQTT)
- Εκτιμώμενος χρόνος περάτωσης: 9 Μήνες
- Συνεργαζόμενοι ερευνητές: Τσαρδούλιας Εμμανουήλ
Ρύθμιση φαναριών κυκλοφορίας προς βελτίωση ροής κίνησης αυτοκινήτων σε επίπεδο πόλης
Η ρύθμιση λειτουργίας των φαναριών σε επίπεδο πόλης, έτσι ώστε να υπάρχει ομαλή ροή κυκλοφορίας, είναι ένα αρκετά δύσκολο πρόβλημα. Η δυσκολία του έγκειται στο ότι το πρόβλημα είναι δυναμικό, αφού διαφορετικά συμβάντα μπορούν να επηρεάσουν την ομαλή κυκλοφορία σε κάποιο σημείο του αστικού ιστού (π.χ. Έργα, κλειστοί δρόμοι κτλ.). Επιπλέον έχει νόημα ο χρονισμός των φαναριών να μην είναι στατικός, αλλά να μεταβάλλεται ανάλογα με την ώρα της ημέρας, με την τρέχουσα κίνηση στους δρόμους ή ακόμη και στις on-demand πιέσεις των κουμπιών στα φανάρια από τους πεζούς. Στην παρούσα διπλωματική, θα γίνει χρήση του προσομοιωτή Sumo (Simulation of Urban MObility) και τεχνικών μηχανικής μάθησης ώστε να διερευνηθούν τρόποι βελτίωσης της συνολικής ροής των οχημάτων, τόσο σε τοπικό επίπεδο, αλλά και σε επίπεδο πόλης.
- Προαπαιτούμενες/επιθυμητές γνώσεις: Python
- Γνώσεις που θα αποκτηθούν: Sumo simulator, μοντέλα ρύθμισης κίνησης, machine learning
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Τσαρδούλιας Εμμανουήλ, Καρανικιώτης Θωμάς
Δημιουργία απεικόνισης επαυξημένης πραγματικότητας (AR - Augmented reality) για προσομοίωση ενός IoT συστήματος
Η επαυξημένη πραγματικότητα είναι μία από τις πιο trending τεχνολογίες της εποχής μας. Σκοπός της παρούσας διπλωματικής είναι η κατασκευή των απαραίτητων πακέτων λογισμικού, τα οποία α) θα δέχονται το configuration ενός προσομοιωμένου περιβάλλοντος και θα δημιουργούν τον AR κόσμο, β) θα λαμβάνουν μηνύματα από τον προσομοιωτή και να ανανεώνουν το AR view. Να αναφερθεί ότι ο προσομοιωτής υπάρχει ήδη, ως μέρος του έργου εκπαιδευτικής ρομποτικής TekTrain ή του διαγωνισμού preSFHMMY 2021 με όνομα SocIoTy. Το τελικό setup θα περιλαμβάνει μία υπολογιστική μονάδα, μία κάμερα και μία οθόνη, τα οποία θα συνεργάζονται για να προβάλλουν το AR view.
- Προαπαιτούμενες/επιθυμητές γνώσεις: Unreal engine, IoT protocols
- Γνώσεις που θα αποκτηθούν: Augmented reality, systems integration, Internet of Things
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Τσαρδούλιας Εμμανουήλ, Καρανικιώτης Θωμάς
Ανάλυση Εργασιών Λογισμικού από Δεδομένα Συστημάτων Ελέγχου Εκδόσεων
Τα τελευταία χρόνια, ο τρόπος ανάπτυξης λογισμικού μετασχηματίζεται από τις παραδοσιακές τεχνικές ανάπτυξης λογισμικού (π.χ. μοντέλο καταρράκτη – waterfall) προς νέες μεθοδολογίες και προσεγγίσεις, όπως η agile προσέγγιση. Η agile προσέγγιση διέπεται από ένα σύνολο αρχών για την ανάπτυξη λογισμικού του οποίου οι απαιτήσεις αλλάζουν συχνά και βασίζεται στη στενή συνεργασία μεταξύ των ατόμων που απαρτίζουν την ομάδα ανάπτυξης λογισμικού.
Οι μηχανικοί της ομάδας ανάπτυξης αναλαμβάνουν πολλές φορές διαφορετικούς ρόλους και καθήκοντα για την αποτελεσματική ανάπτυξη λογισμικού. Σε αυτό το πλαίσιο, κάθε νέο χαρακτηριστικό του προϊόντος και/ή κάθε νέο bug report πρέπει να αναλυθεί ώστε να κατηγοριοποιηθεί βάσει τύπου και προτεραιότητας και να ανατεθεί στον κατάλληλο μηχανικό λογισμικού ο οποίος θα είναι σε θέση να το φέρει εις πέρας (π.χ. να διορθώσει ένα bug). Επιπλέον, για κάθε νέο χαρακτηριστικό είναι χρήσιμο να εκτιμηθούν τα τμήματα κώδικα ή οι περιοχές λογισμικού που αφορά.
Σκοπός της διπλωματικής είναι η σχεδίαση ενός συστήματος που θα αυτοματοποιεί τη διαδικασία ανάλυσης και ανάθεσης εργασιών και συνολικά τη σωστή διαχείριση εργασιών με βάση δεδομένα από συστήματα ελέγχου εκδόσεων (version control). Τα συστήματα ελέγχου εκδόσεων, όπως π.χ. το GitHub, περιέχουν πλήθος χρήσιμων πληροφοριών που αφορούν τα commits και τα issues (bugs κ.α.) ενός έργου λογισμικού. Έτσι με βάση τις εργασίες σε κάθε αποθετήριο λογισμικού, καθώς και τη δραστηριότητα του κάθε χρήστη, είναι εφικτό να αναγνωρίσει κανείς τις σωστές πρακτικές για την καλύτερη διαχείριση της ανάπτυξης λογισμικού.
- Σχετικές δημοσιεύσεις: Towards Analyzing Contributions from Software Repositories to Optimize Issue Assignment, https://issel.ee.auth.gr/wp-content/uploads/2020/07/QRS2020IssueAssignment.pdf
- Εμπλεκόμενες τεχνολογίες: Εξόρυξη Δεδομένων, Τεχνολογία Λογισμικού, Αναγνώριση Προτύπων
- Γνώσεις που θα αποκτηθούν: Σχεδίαση και ανάπτυξη λογισμικού, Δημιουργία εφαρμογής σε Python ή Java, Εμπειρία στην Ανάκτηση Πληροφοριών και στην Αναγνώριση Προτύπων
- Εκτιμώμενος χρόνος περάτωσης: 6-9 μήνες
- Συνεργαζόμενοι ερευνητές: Θεμιστοκλής Διαμαντόπουλος
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Αυτοματοποιημένη Διόρθωση Σφαλμάτων
Η ταχεία εξάπλωση του διαδικτύου και η εντατικοποίηση της διαδικασίας ανάπτυξης λογισμικού έχουν αλλάξει ριζικά τον τρόπο συγγραφής κώδικα τα τελευταία χρόνια. Τα έργα λογισμικού σήμερα ελέγχονται τόσο κατά τη φάση της ανάπτυξης όσο και κατά τη φάση της συντήρησης χρησιμοποιώντας πλήθος εργαλείων που αναφέρουν πιθανά σφάλματα και προβλήματα στον κώδικα (code bugs/violations).
Εργαλεία ανάλυσης κώδικα όπως το PMD (http://pmd.sourceforge.net/), το FindBugs (http://findbugs.sourceforge.net/), το CheckStyle (http://checkstyle.sourceforge.net/), κ.α. είναι σε θέση να παρέχουν λεπτομερείς αναφορές, ενώ πολλές φορές παρέχουν ακόμα και χρήσιμα παραδείγματα για τον κώδικα του προγραμματιστή. Ωστόσο, η επίλυση των ίδιων προβλημάτων παραμένει μια χρονοβόρα και πολλές φορές δύσκολη διαδικασία. Ως εκ τούτου, αναζητούνται μέθοδοι για την ανάλυση κώδικα (π.χ. σε αφηρημένα συντακτικά δένδρα) και την εφαρμογή προτύπων για το μετασχηματισμό τους, με τελικό σκοπό την πραγματοποίηση αλλαγών στον κώδικα και/ή το αυτοματοποιημένο refactoring.
Στόχος της διπλωματικής είναι να δημιουργηθεί ένα σύστημα που εφαρμόζει μετασχηματισμούς κώδικα με σκοπό την αυτόματη διόρθωση των διάφορων προβλημάτων και σφαλμάτων στον κώδικα του προγραμματιστή.
Σχετικά συστήματα:
-
Getafix by Facebook, https://engineering.fb.com/2018/11/06/developer-tools/getafix-how-facebook-tools-learn-to-fix-bugs-automatically/
-
SpongeBugs, https://dvmarcilio.github.io/papers/jss20-spongebugs.pdf
-
WalkMod, https://walkmod.com/
-
AutoRefactor, http://autorefactor.org/
-
Εμπλεκόμενες τεχνολογίες: Εξόρυξη Δεδομένων, Τεχνολογία Λογισμικού, Αλγόριθμοι
-
Γνώσεις που θα αποκτηθούν: Ερευνητική εμπειρία στην Τεχνολογία Λογισμικού, Δημιουργία εφαρμογής σε Python ή Java, Βασικές διαδικασίες Ανάκτησης Πληροφοριών και Αλγορίθμων
-
Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
-
Συνεργαζόμενοι ερευνητές: Θεμιστοκλής Διαμαντόπουλος
Σχεδίαση και ανάπτυξη κρυπτονομίσματος
Στη συγκεκριμένη διπλωματική εργασία, σκοπός είναι να αναλυθεί η χρησιμότητα ύπαρξης και κατόπιν να υλοποιηθεί o σχεδιασμός και η ανάπτυξη ενός αλγοριθμικού σταθερού κρυπτονομίσματος (stablecoin) βασισμένου στο μοντέλο seignorage, με σκοπό τη διατήρηση του σε συγκεκριμένη τιμή χωρίς την ανάγκη ενεχύρου φυσικού νομίσματος.
To smart contract του θα είναι γραμμένο σε solidity και το νόμισμα δύναται να υλοποιηθεί πάνω στο ethereum blockchain, ως ERC-20 token.
- Εμπλεκόμενες τεχνολογίες:
- Συστήματα blockchain
- Οικονομική ανάλυση των stablecoins
- Αλγοριθμικά μοντέλα seignorage
- Γλώσσες προγραμματισμού blockchain: solidity
- Γλώσσες διαδικτυακού προγραμματισμού
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Ανδρέας Συμεωνίδης
Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίησης των φάσεων ανάλυσης απαιτήσεων και λογισμικού.
Ένα από τα βασικότερα προβλήματα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισμικού είναι ο εσφαλμένος ορισμός απαιτήσεων χρηστών και ο ορισμός μη ολοκληρωμένης λειτουργικότητας. Ελλιπής ορισμός απαιτήσεων συνεπάγεται εσφαλμένο προγραμματισμό εργασιών και κατά συνέπεια αποτυχία στην υλοποίηση του του έργου.
Στόχος της παρούσας διπλωματικής είναι να αναλύσει τις απαιτήσεις, τα σενάρια χρήσης και τις προδιαγραφές από μια σειρά έργων λογισμικού και να εφαρμόσει τεχνικές ευφυούς διαχείρισης της πληροφορίας και μηχανικής μάθησης με στόχο την εξαγωγή προτάσεων βελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων και λογισμικού. Ως πεδίο εφαρμογής θα μελετηθούν υπηρεσιοστρεφείς διαδικτυακές εφαρμογές και ως πηγή συλλογής πληροφορίας έργων λογισμικού το εργαλείο Usereq (usereq.netlify.app/).
- Προαπαιτούμενες / επιθυμητές γνώσεις: Αναγνώριση Προτύπων, Τεχνολογία Λογισμικού
- Γνώσεις που θα αποκτηθούν: Μηχανική μάθηση, Συστήματα προτάσεων
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Ανδρέας Συμεωνίδης
Αυτοματοποίηση της μετατροπής των επιχειρησιακών διαδικασιών εταιρειών σε Web εφαρμογές.
Η πρόσφατη εμπειρία από την εν εξελίξει πανδημία προκάλεσε την ανάγκη του άμεσου ψηφιακού μετασχηματισμού των υπαρχουσών εταιρειών προκειμένου αυτές να μπορούν να επιβιώσουν σε ένα νέο, δυναμικά εξελισσόμενο περιβάλλον, όπου οι εταιρείες καλούνται να προσαρμόζονται γρήγορα σε αλλαγές στον τρόπο λειτουργίας τους. Ο τρόπος λειτουργίας τους αντανακλάται σε μεγάλο βαθμό στις επιχειρησιακές διαδικασίες τους (π.χ. πως γίνεται μία αγορά προϊόντος σε ένα βιβλιοπωλείο), οι οποίες ωστόσο σε μεγάλο τμήμα του επιχειρηματικού κόσμου βρίσκονται σε χειρόγραφη μορφή ή είναι γνωστές μόνο στον ιδιοκτήτη της εταιρείας χωρίς να αποτυπώνονται κάπου.
Στόχος της παρούσας διπλωματικής είναι η ανάπτυξη ενός Μηχανισμού Αυτοματοποίησης της διαδικασίας μετατροπής των επιχειρησιακών διαδικασιών τριών διαφορετικών κατηγοριών: 1) παραγγελιοληψιών, 2) υγεία και ασφάλεια, και 3) εξυπηρέτηση πελατών. Ο Μηχανισμός θα παρέχει ένα Web User Interface μέσω του οποίου θα είναι εφικτή η μοντελοποίηση κάθε επιχειρησιακής διαδικασίας. Μέσω αυτού ο Μηχανισμός θα καθοδηγεί τον χρήστη ώστε να αποφεύγει κοινά λάθη κατά τη σχεδίαση διαδικασιών και εν τέλει με την ολοκλήρωση της μοντελοποίησής τους θα παράγει αυτόματα εξειδικευμένα Web Applications για κάθε μία από αυτές.
- Εμπλεκόμενες τεχνολογίες: (Αυτοματοποιημένη) Μηχανική Λογισμικού, Full-Stack Development (π.χ. react.js / java)
- Γνώσεις που θα αποκτηθούν: Ανάπτυξη Μηχανισμών Αυτοματοποίησης (Meta-modeling, Automated Code Generation, Reasoning)
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Χριστόφορος Ζολώτας
Αυτοματοποίηση της παραγωγής διαδραστικών εγχειριδίων περιγραφής των επιχειρησιακών διαδικασιών εταιρειών, δεδομένων των μοντέλων αυτών
Η πρόσφατη εμπειρία από την εν εξελίξει πανδημία προκάλεσε την ανάγκη του άμεσου ψηφιακού μετασχηματισμού των υπαρχουσών εταιρειών προκειμένου αυτές να μπορούν να επιβιώσουν σε ένα νέο, δυναμικά εξελισσόμενο περιβάλλον, όπου οι εταιρείες καλούνται να προσαρμόζονται γρήγορα σε αλλαγές στον τρόπο λειτουργίας τους. Ο τρόπος λειτουργίας τους αντανακλάται σε μεγάλο βαθμό στις επιχειρησιακές διαδικασίες τους (π.χ. πως γίνεται μία αγορά προϊόντος σε ένα βιβλιοπωλείο), οι οποίες ωστόσο σε μεγάλο τμήμα του επιχειρηματικού κόσμου βρίσκονται σε χειρόγραφη μορφή ή είναι γνωστές μόνο στον ιδιοκτήτη της εταιρείας χωρίς να αποτυπώνονται κάπου.
Στόχος της παρούσας διπλωματικής είναι η ανάπτυξη ενός Μηχανισμού Αυτοματοποίησης της διαδικασίας παραγωγής και επικαιροποίησης των εγχειριδίων περιγραφής των επιχειρησιακών διαδικασιών εταιρειών, τριών διαφορετικών κατηγοριών: 1) παραγγελιοληψιών, 2) υγεία και ασφάλεια, και 3) εξυπηρέτηση πελατών. Ο Μηχανισμός θα παρέχει ένα Web User Interface μέσω του οποίου θα είναι εφικτή η μοντελοποίηση κάθε επιχειρησιακής διαδικασίας. Μέσω αυτού ο Μηχανισμός θα καθοδηγεί τον χρήστη ώστε να αποφεύγει κοινά λάθη κατά τη σχεδίαση διαδικασιών και εν τέλει με την ολοκλήρωση της μοντελοποίησής τους θα παράγει αυτόματα διαδραστικό, πολυμεσικό εγχειρίδιο χρήσης που θα καταγράφει το σύνολο των διαδικασιών της εταιρείας ώστε να είναι άμεσα προσβάσιμο από όλο το προσωπικό της εκάστοτε εταιρείας.
- Εμπλεκόμενες τεχνολογίες: (Αυτοματοποιημένη) Μηχανική Λογισμικού, Full-Stack Development (π.χ. react.js / java)
- Γνώσεις που θα αποκτηθούν: Ανάπτυξη Μηχανισμών Αυτοματοποίησης (Meta-modeling, Automated Code Generation, Reasoning)
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Χριστόφορος Ζολώτας
Αυτοματοποίηση της παραγωγής εξατομικευμένων ερωτηματολογίων επιχειρησιακών διαδικασιών εταιρειών για την πιστοποίηση γνώσης τους εκ μέρους του προσωπικού τους
Η πρόσφατη εμπειρία από την εν εξελίξει πανδημία προκάλεσε την ανάγκη του άμεσου ψηφιακού μετασχηματισμού των υπαρχουσών εταιρειών προκειμένου αυτές να μπορούν να επιβιώσουν σε ένα νέο, δυναμικά εξελισσόμενο περιβάλλον, όπου οι εταιρείες καλούνται να προσαρμόζονται γρήγορα σε αλλαγές στον τρόπο λειτουργίας τους. Ο τρόπος λειτουργίας τους αντανακλάται σε μεγάλο βαθμό στις επιχειρησιακές διαδικασίες τους (π.χ. πως γίνεται μία αγορά προϊόντος σε ένα βιβλιοπωλείο), οι οποίες ωστόσο σε μεγάλο τμήμα του επιχειρηματικού κόσμου βρίσκονται σε χειρόγραφη μορφή ή είναι γνωστές μόνο στον ιδιοκτήτη της εταιρείας χωρίς να αποτυπώνονται κάπου.
Στόχος της παρούσας διπλωματικής είναι η ανάπτυξη ενός Μηχανισμού Αυτοματοποίησης της διαδικασίας παραγωγής ερωτηματολογίων πιστοποίησης γνώσης εκ μέρους του προσωπικού των επιχειρησιακών διαδικασιών εταιρειών τριών διαφορετικών κατηγοριών: 1) παραγγελιοληψιών, 2) υγεία και ασφάλεια, και 3) εξυπηρέτηση πελατών. Ο Μηχανισμός θα παρέχει ένα Web User Interface μέσω του οποίου θα είναι εφικτή η μοντελοποίηση κάθε επιχειρησιακής διαδικασίας. Μέσω αυτού ο Μηχανισμός θα καθοδηγεί τον χρήστη ώστε να αποφεύγει κοινά λάθη κατά τη σχεδίαση διαδικασιών και εν τέλει με την ολοκλήρωση της μοντελοποίησής τους θα παράγει αυτόματα ένα σύνολο ερωτηματολογίων προς εκπαίδευση του προσωπικού, το οποίο θα είναι δυναμικά αναπροσαρμοζόμενο αναλόγως με τις γνώσεις και τις αδυναμίες του εκάστοτε εργαζομένου.
- Εμπλεκόμενες τεχνολογίες: (Αυτοματοποιημένη) Μηχανική Λογισμικού, Full-Stack Development (π.χ. react.js / java)
- Γνώσεις που θα αποκτηθούν: Ανάπτυξη Μηχανισμών Αυτοματοποίησης (Meta-modeling, Automated Code Generation, Reasoning), Προτασιακός Λογισμός
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Χριστόφορος Ζολώτας
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων με βάση παραδείγματα (Seeded Remodularization of Source Code Dependency Graphs)
Με την ολοένα και αυξανόμενη ενσωμάτωση του λογισμικού σε κοινωνικές δομές όπως η εκπαίδευση και η υγεία, η γρήγορη συντήρηση (π.χ. αποσφαλμάτωση) μεγάλων έργων λογισμικού γίνεται όλο και πιο σημαντική. Για αυτό το σκοπό, καθίσταται αναγκαία η κοινοτική οργάνωση του πηγαίου κώδικα σε ομάδες οντοτήτων (π.χ. πακέτων σε βιβλιοθήκες, κλάσεων σε πακέτα, μεθόδων σε κλάσεις), έτσι ώστε να διευκολύνεται η κατανόηση των υλοποιημένων λειτουργιών και των εξαρτήσεων μεταξύ οντοτήτων.
Υπάρχουν κοινά αποδεκτές αρχές της τεχνολογίας λογισμικου για την καλή ποιοτικά οργάνωση του πηγαίου κώδικα, όπως η υψηλή συνεκτικότητα οντοτήτων εντός των ομάδων τους και χαλαρή συνδεσιμότητα με άλλες ομάδες. Είναι όμως δύσκολο να εξασφαλιστεί η εφαρμογή τους καθώς τα έργα λογισμικού εξελίσσονται, για παράδειγμα με τη συγγραφή νέων οντοτήτων για την υλοποίηση νέων λειτουργιών. Επιπροσθέτως, η συνεχής παρακολούθηση έργων λογισμικού, με σκοπό την επανοργάνωση τις κοινοτικής δομής τους όταν αυτή παύει να έχει τα επιθυμητά χαρακτηριστικά, μπορεί να αποβεί ιδιαίτερα κοστοβόρα διαδικασία. Για τη μείωση του αντίστοιχου κόστους έχει προταθεί η χρήση αυτοματοποιημένων τεχνικών για την ανάλυση και απανοργάνωση έργων λογισμικού.
Σε αυτή τη διπλωματική, θα ασχοληθούμε με το πρόβλημα της αυτοματοποιημένης επανοργάνωσης οντοτήτων πηγαίου κώδικα με βάση το γράφο εξαρτήσεών τους (όταν μια οντότητα χρησιμοποιεί -π.χ. καλεί ή εισάγει- μια άλλη τότε λέμε ότιεξαρτάται από αυτήν). Για αυτό το σκοπό, θα χρησιμοποιήσουμε μετρικές που ποσοτικοποιούν την ποιότητα της κοινοτικής οργάνωσης πηγαίου κώδικα [1] και θα προσπαθήσουμε να τις βελτιστοποιήσουμε με μεθόδους εξόρυξης κοινοτικής πληροφορίας από γράφους. Μια σημαντική υπόθεση που θα διερευνήσουμε είναι κατά πόσο η τρέχουσα ιεραρχική οργάνωση έχει ψήγματα της βέλτιστης οργάνωσης και άρα μπορεί να χρησιμοποιηθεί ως μια προσεγγιστική πρώτη εκτίμηση της τελικής οργάνωσης την οποία μπορούμε βελτιώσουμε. Θα συγκρίνουμε τεχνικές γενετικής βελτιστοποίησης (genetic optimization) και τυχαίων περιπάτων σε γράφους με επανεκκίνηση (random walk with restart) και -αναλόγως με το πώς κινηθούμε- ίσως εφαρμόσουμε τεχνικές γραφικών νευρωνικών δικτύων (graph neural networks).
Στόχος αυτής της διπλωματικής είναι η παραγωγή εργαλείου σε Python ή Java το οποίο θα δέχεται γράφους εξαρτήσεων οντοτήτων και την τρέχουσα κατάσταση της ιεραρχικής δομής πηγαίου κώδικα και θα προτείνει τρόπους οργάνωσης με βάση διάφορους αλγορίθμους προς σύγκριση. Στη συνέχεια θα τρέξουμε το εργαλείο αυτό πάνω σε αποθετήρια γράφων εξαρτήσεων οντοτήτων ώστε να συγκρίνουμε τις υλοποιημένες μεθόδους. Ιδανικά, τα αποτελέσματα που θα παράξουμε θα οδηγήσουν σε συγγραφή δημοσίευσης.
[1] Mu, Lifeng, Vijayan Sugumaran, and Fangyuan Wang. "A hybrid genetic algorithm for software architecture re-modularization." Information Systems Frontiers 22.5 (2020): 1133-1161.
- Προαπαιτούμενα: Καλή γνώση προγραμματισμού, Φαντασία και όρεξη για δουλειά
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Αλγόριθμοι και τεχνικές ανάλυσης γράφων, Μετρικές ποιότητα πηγαίου κώδικα, Εύρεση κοινοτήτων (community detection), Αυτοματοποιημένη οργάνωση λογισμικού, Ανάπτυξη κώδικα σε Python ή Java
- Tags: Dependency graphs, Graph mining, Community detection, Optimization algorithms Εκτιμώμενος Χρόνος Περάτωσης: 6 Μήνες
- Συνεργαζόμενος Ερευνητής: Εμμανουήλ (Μανιός) Κρασανάκης [email protected]
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Η αποσφαλμάτωση και η συντήρηση ενός έργου λογισμικού αποτελούν συνήθως το πιο χρονοβόρο και πολυδάπανο κομμάτι του έργου. Η κακή συνήθως μορφοποίηση του κώδικα δυσχεραίνει τη μετέπειτα αναγνωσιμότητά του, την εύρεση και διόρθωση των λογικών λαθών σε αυτόν, αλλά και την επαναχρησιμοποίησή του σε άλλα κομμάτια λογισμικού. Ταυτόχρονα, η κατανόηση του κώδικα από άλλους προγραμματιστές πολλές φορές γίνεται σχεδόν αδύνατη.
Στόχος της διπλωματικής είναι η δημιουργία ενός συστήματος μηχανικής μάθησης για την ανάλυση λογισμικού, το οποίο θα δέχεται σαν είσοδο τον πηγαίο κώδικα ενός έργου. Το σύστημα θα είναι σε θέση να αξιολογεί τη μορφοποίηση του κώδικα, βασισμένο στη γενικότερη μορφοποίηση που έχει επιλέξει να ακολουθεί ο προγραμματιστής, να εντοπίζει σημεία που πιθανότατα αποκλίνουν από αυτήν και να προτείνει την καλύτερη δυνατή τροποποίηση του υπάρχοντος κώδικα, με σκοπό την διατήρηση ενός κοινού προτύπου μορφοποίησης, αλλά και την εξάλειψη κοινώς εμφανιζόμενων σφαλμάτων.
- Προαπαιτούμενα: Καλή γνώση προγραμματισμού, Αναγνώριση προτύπων, Φαντασία και όρεξη για δουλειά
- Γνώσεις που θα αποκτηθούν: Προγραμματισμός σε python, Χρήση πακέτων/συναρτήσεων μηχανικής μάθησης (π.χ. scikit-learn, keras)
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Καρανικιώτης Θωμάς
Αξιολόγηση Μοντέλων Αναγνωσιμότητας Έργων Λογισμικού και Εξαγωγή Χρήσιμων Χαρακτηριστικών
Τα τελευταία χρόνια, οι απαιτήσεις των χρηστών από τα έργα λογισμικού συνεχώς μεταβάλλονται και αναπτύσσονται, ενώ η αύξησή τους οδηγεί σε πολύ περιορισμένες προθεσμίες εκπλήρωσης στόχων, το οποίο έχει συχνά σαν αποτέλεσμα κακογραμμένο κώδικα, επιρρεπή σε σφάλματα. Για τον λόγο αυτό, έχει δοθεί ιδιαίτερη έμφαση τα τελευταία χρόνια στην αξιολόγηση της ποιότητας ενός έργου λογισμικού, με τη χρήση μετρικών στατικής ανάλυσης κώδικα. Μία από τις πτυχές της ποιότητας ενός κώδικα αποτελεί η αναγνωσιμότητα (readability), η οποία διαδραματίζει σημαντικό ρόλο, τόσο κατά τη φάση ανάπτυξης ενός έργου λογισμικού, όσο και κατά τη φάση συντήρησης.
Ταυτόχρονα, έχουν αναπτυχθεί διάφορα συστήματα, τα οποία έχουν σαν στόχο την αξιολόγηση της αναγνωσιμότητας ενός έργου λογισμικού. Για τον σκοπό αυτόν, έχουν προταθεί και χρησιμοποιηθεί διάφορα χαρακτηριστικά (features), που θα μπορούσαν να συμβάλλουν στην μοντελοποίηση και την εξαγωγή μετρικών που ποσοτικοποιούν την “αφηρημένη” έννοια της αναγνωσιμότητας.
Στόχος της διπλωματικής είναι η έρευνα και η αξιολόγηση των συστημάτων που έχουν προταθεί στη σχετική βιβλιογραφία, ως προς την δυνατότητά τους να εντοπίσουν και να ποσοτικοποιήσουν τη βελτίωση της αναγνωσιμότητας ενός έργου λογισμικού, μετά την εφαρμογή στοχευμένων διορθώσεων από τον προγραμματιστή του έργου. Ταυτόχρονα, θα εξεταστούν τα επιμέρους χαρακτηριστικά που έχουν χρησιμοποιηθεί και θα αξιολογηθούν ως προς την δυνατότητα εξαγωγής “χρήσιμης γνώσης”.
- Προαπαιτούμενα: Καλή γνώση προγραμματισμού, Αναγνώριση προτύπων, Φαντασία και όρεξη για δουλειά
- Γνώσεις που θα αποκτηθούν: Προγραμματισμός σε python, Χρήση πακέτων/συναρτήσεων μηχανικής μάθησης (π.χ. scikit-learn, keras)
- Εκτιμώμενος χρόνος περάτωσης: 9 μήνες
- Συνεργαζόμενοι ερευνητές: Καρανικιώτης Θωμάς
Διερεύνηση Μεθόδων Καταγραφής και Μετάδοσης Νέφους Σημείων
Τους τελευταίους μήνες, έχει δοθεί ιδιαίτερη έμφαση σε εφαρμογές και μέσα τηλεδιασκέψεων για την λήψη και την προβολή απομακρυσμένων ειδώλων. Ωστόσο, οι εφαρμογές αυτές περιορίζονται στην καταγραφή μιας δισδιάστατης εικόνας από μία κάμερα, ενώ, πλέον, οι δυνατότητες τρισδιάστατης απεικόνισης είναι ιδιαίτερα διαδεδομένες.
Στόχος της διπλωματικής είναι η διερεύνηση των μεθόδων και των απαιτήσεων για την τρισδιάστατη καταγραφή και την μετάδοση μιας σκηνής, μέσω της δημιουργίας ενός νέφους σημείων (point cloud). Για τον σκοπό αυτό, θα χρησιμοποιηθούν κάμερες/αισθητήρες καταγραφής ενός νέφους σημείων, τα οποία, στη συνέχεια, θα πρέπει να υποστούν κατάλληλη επεξεργασία για τη μετάδοσή τους μέσω του δικτύου, αλλά και την ανακατασκευή κατά την λήψη τους από διάφορα μέσα.
- Προαπαιτούμενα: Καλή γνώση προγραμματισμού, Φαντασία και όρεξη για δουλειά
- Γνώσεις που θα αποκτηθούν: Πρωτόκολλα και εφαρμογές ζωντανής μετάδοσης (live streaming), Συλλογή και επεξεργασία δεδομένων από κάμερα/αισθητήρα kinect
- Εκτιμώμενος χρόνος περάτωσης: 9-12 μήνες
- Συνεργαζόμενοι ερευνητές: Καρανικιώτης Θωμάς, Τσαρδούλιας Εμμανουήλ
Παρακολούθηση και εντοπισμός πτώσης χρήστη, χρησιμοποιώντας τεχνολογίες Internet-of-Things και μηχανικής μάθησης σε συσκευές χαμηλής κατανάλωσης ισχύος.
Στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας θα σχεδιαστεί και θα υλοποιηθεί σύστημα εντοπισμού πτώσης ηλικιωμένων σε οικιακά περιβάλλοντα, χρησιμοποιώντας συνδυασμό από IoT συσκευές, όπως wristbands, φορητά μικρόφωνα, έξυπνους οικιακοί βοηθούς κ.α. Το πρόβλημα διαιρείται σε δύο υποπροβλήματα: α) Λήψη δεδομένων από IoT συσκευές, β) Επεξεργασία δεδομένων και αναγνώριση πτώσης.
- Προαπαιτούμενα: Όρεξη και φαντασία!
- Γνώσεις που θα αποκτηθούν: Διαδίκτυο των πραγμάτων, προγραμματισμός μικροελεγκτών και περιφερειακών, μηχανική μάθηση.
- Εκτιμώμενος χρόνος περάτωσης: 9-12 μήνες
- Συνεργαζόμενοι ερευνητές: Παναγιώτου Κωνσταντίνος, Τσαρδούλιας Εμμανουήλ