Employing Machine Learning and Intelligent Information Management Techniques ...ISSEL
Proper definition of functional requirements is a prerequisite for succesful software project development. Inaccurate and/or missing functional requirements are among the top reasons that lead to failure of the software development process, since incomplete definition of functional requirements results in erroneous scheduling of necessary tasks and subsequently failure in the implementation of the software project. This dissertation initially builds a dataset of functional requirements of software projects from various sources, which is missing from bibliography. Then an ontology is defined, that captures the static view of a software project. The functional require ments of the dataset are mapped to the defined entities and the data is efficiently stored using the ontology format. In the next step, machine learning algorithms are employed in order to extract recommendations for better software requirements elicitation. For the evaluation of their performance the models are fed with take a new software project with incomplete functionality as input and the extracted recommendations are evaluated.
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...ISSEL
Η σωστή σύνταξη των λειτουργικών απαιτήσεων αποτελεί ϐασική προϋπόθεση για την ανάπτυξη ενός έργου λογισµικού. Σφάλµατα στον ορισµό των λειτουργικών απαι τήσεων και ο ορισµός ελλιπούς λειτουργικότητας αποτελούν τα σηµαντικότερα προ ϐλήµατα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισµικού. Ο µη ολοκληρωµένος ορισµός των λειτουργικών απαιτήσεων έχει ως αποτέλεσµα τον λανθασµένο προγραµµατισµό των απαραίτητων εργασιών και ακολούθως την αποτυχία της υλοποίησης του έργου λογισµικού. Η παρούσα διπλωµατική εργασία αρχικά συγκεντρώνει ένα σύνολο δεδοµένων από λειτουργικές απαιτήσεις έργων λογισµικού από διάφορες πηγές. Σε πρώτο στάδιο ορίζεται η οντολογία που καλείται να περιγράψει την στατική όψη ενός έργου λογισµικού. Οι οντότητες που ορίζονται εντοπίζονται στις λειτουργικές απαιτήσεις του συνόλου δεδοµένων και δίνεται η δυνατότητα της αποδοτικής αποθήκευσης των δεδοµένων µε τη µορφή της οντολογίας. Σε επόµενο στάδιο γίνεται χρήση αλγορίθµων µηχανικής µάθησης µε στόχο την ε ξαγωγή προτάσεων ϐελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων λογισµικού. Για την αξιολόγηση της απόδοσης των αλγορίθµων, µετά την εκπαίδευσή τους στο σύνολο δεδοµένων, δέχονται ως είσοδο ένα νέο έργο λογισµικού µε µη ολοκληρωµένη λειτουργικότητα και εξετάζεται η πληροφορία που εξάγεται από τον κάθε αλγόριθµο. Πιο συγκεκριµένα, υλοποιείται ο αλγόριθµος Apriori για την εξαγωγή κανόνων συσχέτισης µε στόχο τον εντοπισµό απούσας λειτουργικότητας. Επιπλέον, χρησιµοποιείται ο αλγόριθµος Λανθάνουσας Κατανοµής Dirichlet που εκτελεί τη ϑεµατική µοντελοποίηση των έργων λογισµικού του συνόλου δεδοµένων. Τέλος, γίνεται χρήση ενός αλγορίθµου Ιεραρχικής Οµαδοποίησης κειµένου και συγκρίνονται τα αποτελέσµατά του µε αυτά του προηγούµενου αλγορίθµου.
Employing Machine Learning and Intelligent Information Management Techniques ...ISSEL
Proper definition of functional requirements is a prerequisite for succesful software project development. Inaccurate and/or missing functional requirements are among the top reasons that lead to failure of the software development process, since incomplete definition of functional requirements results in erroneous scheduling of necessary tasks and subsequently failure in the implementation of the software project. This dissertation initially builds a dataset of functional requirements of software projects from various sources, which is missing from bibliography. Then an ontology is defined, that captures the static view of a software project. The functional require ments of the dataset are mapped to the defined entities and the data is efficiently stored using the ontology format. In the next step, machine learning algorithms are employed in order to extract recommendations for better software requirements elicitation. For the evaluation of their performance the models are fed with take a new software project with incomplete functionality as input and the extracted recommendations are evaluated.
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...ISSEL
Η σωστή σύνταξη των λειτουργικών απαιτήσεων αποτελεί ϐασική προϋπόθεση για την ανάπτυξη ενός έργου λογισµικού. Σφάλµατα στον ορισµό των λειτουργικών απαι τήσεων και ο ορισµός ελλιπούς λειτουργικότητας αποτελούν τα σηµαντικότερα προ ϐλήµατα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισµικού. Ο µη ολοκληρωµένος ορισµός των λειτουργικών απαιτήσεων έχει ως αποτέλεσµα τον λανθασµένο προγραµµατισµό των απαραίτητων εργασιών και ακολούθως την αποτυχία της υλοποίησης του έργου λογισµικού. Η παρούσα διπλωµατική εργασία αρχικά συγκεντρώνει ένα σύνολο δεδοµένων από λειτουργικές απαιτήσεις έργων λογισµικού από διάφορες πηγές. Σε πρώτο στάδιο ορίζεται η οντολογία που καλείται να περιγράψει την στατική όψη ενός έργου λογισµικού. Οι οντότητες που ορίζονται εντοπίζονται στις λειτουργικές απαιτήσεις του συνόλου δεδοµένων και δίνεται η δυνατότητα της αποδοτικής αποθήκευσης των δεδοµένων µε τη µορφή της οντολογίας. Σε επόµενο στάδιο γίνεται χρήση αλγορίθµων µηχανικής µάθησης µε στόχο την ε ξαγωγή προτάσεων ϐελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων λογισµικού. Για την αξιολόγηση της απόδοσης των αλγορίθµων, µετά την εκπαίδευσή τους στο σύνολο δεδοµένων, δέχονται ως είσοδο ένα νέο έργο λογισµικού µε µη ολοκληρωµένη λειτουργικότητα και εξετάζεται η πληροφορία που εξάγεται από τον κάθε αλγόριθµο. Πιο συγκεκριµένα, υλοποιείται ο αλγόριθµος Apriori για την εξαγωγή κανόνων συσχέτισης µε στόχο τον εντοπισµό απούσας λειτουργικότητας. Επιπλέον, χρησιµοποιείται ο αλγόριθµος Λανθάνουσας Κατανοµής Dirichlet που εκτελεί τη ϑεµατική µοντελοποίηση των έργων λογισµικού του συνόλου δεδοµένων. Τέλος, γίνεται χρήση ενός αλγορίθµου Ιεραρχικής Οµαδοποίησης κειµένου και συγκρίνονται τα αποτελέσµατά του µε αυτά του προηγούµενου αλγορίθµου.
Τάσεις στο ψηφιακό περιβάλλον, προκλήσεις, επιχειρηματικά μοντέλαSergios Dimitriadis
Οι ψηφιακές τεχνολογίες και η συμπεριφορά των χρηστών τους που διαμορφώνουν νέες συνθήκες για τις επιχειρήσεις. Οι συνέπειες για την επιχείρηση και η ανάγκη προσαρμογής της στα νέα δεδομένα.
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
Ως γνωστόν, οι επιστήμες της ρομποτικής και των Κυβερνοφυσικών Συστημά-
των (ΚΦΣ) καλύπτουν/απαιτούν ένα ευρύ φάσμα γνώσεων στα πεδία του υλικού,
του λογισμικού, των συστημάτων, των αλγορίθμων μηχανικής μάθησης κ.α., καθι-
στώντας τον έλεγχο ενός ρομπότ, ή μίας συσκευής, μία χρονοβόρα και δύσκολη
διαδικασία, ακόμη και για κάποιον εξοικειωμένο με τους συγκεκριμένους τομείς.
Από την άλλη, η ραγδαία εξέλιξη στους κλάδους της ρομποτικής, του διαδικτύου
των πραγμάτων (IoT) και των σύγχρονων ΚΦΣ, έχει ως αποτέλεσμα την ανάπτυ-
ξη διάφορων τεχνολογιών και εργαλείων υποστήριξης της ανάπτυξης συστημάτων
και εφαρμογών τα τελευταία χρόνια. Η υψηλή ετερογένεια που συναντάμε στα
συστήματα αυτά, βασίζεται κυρίως στην διασύνδεση του φυσικού και του ψηφια-
κού κόσμου, αλλά και στην πληθώρα των διαθέσιμων τεχνολογιών και εργαλείων
σχεδίασης, ανάπτυξης και εγκατάστασης. Παραδείγματα σύγχρονων ΚΦΣ είναι τα
έξυπνα σπίτια και οι έξυπνες υποδομές γενικότερα, καθώς και τα ψηφιακά δίδυμα.
Τα συστήματα αυτά αποτελούνται από φυσικές συσκευές, οι οποίες αλληλεπιδρούν
με το φυσικό περιβάλλον μέσω των αισθητήρων και ενεργοποιητών που διαχειρί-
ζονται, καθώς και από ψηφιακές οντότητες, οι οποίες είναι υπεύθυνες για την δια-
σύνδεση, την επεξεργασία, την παρακολούθηση, τον έλεγχο και την ενορχήστρωση
σε επίπεδο συστήματος και εφαρμογής.
Η παρούσα διδακτορική διατριβή επικεντρώνεται στο πρόβλημα της μέτα-μοντε-
λοποίησης των φάσεων σχεδίασης (design), υλοποίησης (implementation) και α-
νάπτυξης (deployment) Κυβερνοφυσικών Συστημάτων (ΚΦΣ). Συγκεκριμένα, στα
πλαίσια της διατριβής μελετήθηκαν και εφαρμόστηκαν τεχνικές μηχανικής λογισμι-
κού οδηγούμενης από μοντέλα για την ανάπτυξη μιας μεθοδολογίας και αντίστοι-
χων Γλωσσών Ειδικού Πεδίου (Domain Specific Languages - DSLs) για την αυτο-
ματοποίηση των προαναφερθεισών φάσεων. Βασικός στόχος της διατριβής είναι η
συστηματοποίηση των διαδικασιών ανάπτυξης σύγχρονων συστημάτων και εφαρ-
μογών ΚΦΣ, με χρήση υψηλού επιπέδου εργαλείων, μεσολογισμικού και γλωσσών
ειδικού πεδίου. Η διατριβή εστιάζει σε συσκευές ανοικτού υλικού και λογισμι-
κού (open hardware/open software), ενώ στοχεύει να διευκολύνει την ανάπτυξη
εφαρμογών από μη ειδικούς του πεδίου (citizen developers) μέσω της χρήσης των
μέτα-μοντέλων και των γλωσσών που αναπτύχθηκαν στα πλαίσια της διατριβής.
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...ISSEL
Η σύγχρονη ευέλικτη (agile) προσέγγιση στην ανάπτυξη λογισµικού βασίζεται σε συστήµατα διαχείρισης εργασιών, υπεύθυνα για την οργάνωση της διαδικασίας προγραµµατισµού και τον καταµερισµό του ϕόρτου στα µέλη της οµάδας. Η ανάθεση εργασιών στο πιο κατάλληλο µέλος (triaging) είναι µια σηµαντική και απαιτητική διαδικασία και υλοποιείται από την αξιολόγηση των χαρακτηριστικών µιας αναφοράς εργασίας (τίτλος, περιγραφή, ετικέτες, σηµαντικότητα κτλ). Προηγούµενες προσπάθειες να αντιµετωπιστεί η περίπλοκη και χρονοβόρα διαδικασία αυτοµατοποίησης της ανάθεσης εργασιών περιορίζονται συνήθως στην ανάλυση αναφορών σφαλµάτων. Η παρούσα διπλωµατική εισάγει µια µέθοδο αυτοµατοποίησης της διαδικασίας ανάθεσης εργασιών, χωρίς περιοϱισµό στο είδος της εργασίας. Συγκεκριµένα, στοχεύει να διερευνήσει τη δυνατότητα πρόβλεψης του καταλληλότερου προγραµµατιστή για να εκτελέσει µια εργασία, χρησιµοποιώντας την αναφορά εργασίας. Αξιοποιήθηκαν δεδοµένα από διαφορετικά αποθετήρια, µε επίκεντρο τα δεδοµένα κειµένου (τίτλος, περιγραφή, ετικέτες). Η µεθοδολογία µας ϐασίζεται πάνω στην εφαρµογή τεχνικών επεξεργασίας κειµένου και ανάλυσης δεδοµένων. Σε αντίθεση µε την υπάρχουσα βιβλιογραφία που περιορίζεται σε απλές µεθόδους προεπεξεργασίας (tokenization, lemmatization κτλ.), εφαρµόστηκαν τεχνικές θεµατικής µοντελοποίησης (LDA), µε στόχο την εξαγωγή θεµάτων της κάθε αναφοράς και τον εµπλουτισµό των ετικετών. Τέλος, τα επεξεργασµένα δεδοµένα χωρίζονται σε σύνολα εκπαίδευσης και ελέγχου και εισάγονται σε βασικά µοντέλα ταξινόµησης (Naive Bayes και SVM). Η µεθοδολογία αποδείχθηκε αποτελεσµατική, αναθέτοντας εργασίες µε καλή ακρίβεια σε οµάδες προγραµµατιστών διαφορετικών µεγεθών και γνωστικών αντικειµένων, µε τις τεχνικές θεµατικές µοντελοποίησης να συνεισφέρουν σηµαντικά στη βελτίωση της απόδοσης.
Automated Task Assignment using Topic Modelling Techniques on Project Managem...ISSEL
The modern agile software development process relies on task tracking systems, responsible for organizing the development process and allocating the workload to the team members. Assigning tasks to the most suitable member (triaging) is a critical and demanding process and is implemented by evaluating the features of a task report (title, description, labels, importance etc.). Previous attempts to tackle the complicated and time-consuming problem of triaging are usually limited to bug reports analysis. This dissertation introduces a method of automating the triaging process, without constraints on the type of task. Specifically, it aims to investigate the possibility of predicting the most suitable programmer to complete a task just by using the task report. Data from different repositories are used, with the main focus on text data (title, description, labels). Our method is based on applying text processing and data analysis techniques. In contrast to existing research, limited to simple text preprocessing methods (tokenization, lemmatization etc.), topic mod elling techniques (LDA) are also applied in order to extract the topics of each report and enhance its labels. Finally, data are broken down into training and test sets and are used as input for classification models (Naive Bayes and SVM). The pro posed method proved effective, accurately assigning tasks, with the topic modeling techniques contributing significantly to efficiency improvement.
In this presentation, conducted on 11-21-2008 @ Microsoft Hellas premises, I gave an 1 hour presentation introducing people from the StudentGuru Community (www.studentguru.gr) to Microsoft Robotics Developer Studio 2008 (MRDS 2008). Most of the presentation is based on live demos and hands on code, in order to fully realize the potential of MRDS 2008. There is also a custom made R2D2 LEGO Mindstorms NXT robot in the presentation demos for robot enthusiasts. The video and the slides presented are in Greek, but at least the demo samples can be downloaded by anyone!
Τάσεις στο ψηφιακό περιβάλλον, προκλήσεις, επιχειρηματικά μοντέλαSergios Dimitriadis
Οι ψηφιακές τεχνολογίες και η συμπεριφορά των χρηστών τους που διαμορφώνουν νέες συνθήκες για τις επιχειρήσεις. Οι συνέπειες για την επιχείρηση και η ανάγκη προσαρμογής της στα νέα δεδομένα.
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
Ως γνωστόν, οι επιστήμες της ρομποτικής και των Κυβερνοφυσικών Συστημά-
των (ΚΦΣ) καλύπτουν/απαιτούν ένα ευρύ φάσμα γνώσεων στα πεδία του υλικού,
του λογισμικού, των συστημάτων, των αλγορίθμων μηχανικής μάθησης κ.α., καθι-
στώντας τον έλεγχο ενός ρομπότ, ή μίας συσκευής, μία χρονοβόρα και δύσκολη
διαδικασία, ακόμη και για κάποιον εξοικειωμένο με τους συγκεκριμένους τομείς.
Από την άλλη, η ραγδαία εξέλιξη στους κλάδους της ρομποτικής, του διαδικτύου
των πραγμάτων (IoT) και των σύγχρονων ΚΦΣ, έχει ως αποτέλεσμα την ανάπτυ-
ξη διάφορων τεχνολογιών και εργαλείων υποστήριξης της ανάπτυξης συστημάτων
και εφαρμογών τα τελευταία χρόνια. Η υψηλή ετερογένεια που συναντάμε στα
συστήματα αυτά, βασίζεται κυρίως στην διασύνδεση του φυσικού και του ψηφια-
κού κόσμου, αλλά και στην πληθώρα των διαθέσιμων τεχνολογιών και εργαλείων
σχεδίασης, ανάπτυξης και εγκατάστασης. Παραδείγματα σύγχρονων ΚΦΣ είναι τα
έξυπνα σπίτια και οι έξυπνες υποδομές γενικότερα, καθώς και τα ψηφιακά δίδυμα.
Τα συστήματα αυτά αποτελούνται από φυσικές συσκευές, οι οποίες αλληλεπιδρούν
με το φυσικό περιβάλλον μέσω των αισθητήρων και ενεργοποιητών που διαχειρί-
ζονται, καθώς και από ψηφιακές οντότητες, οι οποίες είναι υπεύθυνες για την δια-
σύνδεση, την επεξεργασία, την παρακολούθηση, τον έλεγχο και την ενορχήστρωση
σε επίπεδο συστήματος και εφαρμογής.
Η παρούσα διδακτορική διατριβή επικεντρώνεται στο πρόβλημα της μέτα-μοντε-
λοποίησης των φάσεων σχεδίασης (design), υλοποίησης (implementation) και α-
νάπτυξης (deployment) Κυβερνοφυσικών Συστημάτων (ΚΦΣ). Συγκεκριμένα, στα
πλαίσια της διατριβής μελετήθηκαν και εφαρμόστηκαν τεχνικές μηχανικής λογισμι-
κού οδηγούμενης από μοντέλα για την ανάπτυξη μιας μεθοδολογίας και αντίστοι-
χων Γλωσσών Ειδικού Πεδίου (Domain Specific Languages - DSLs) για την αυτο-
ματοποίηση των προαναφερθεισών φάσεων. Βασικός στόχος της διατριβής είναι η
συστηματοποίηση των διαδικασιών ανάπτυξης σύγχρονων συστημάτων και εφαρ-
μογών ΚΦΣ, με χρήση υψηλού επιπέδου εργαλείων, μεσολογισμικού και γλωσσών
ειδικού πεδίου. Η διατριβή εστιάζει σε συσκευές ανοικτού υλικού και λογισμι-
κού (open hardware/open software), ενώ στοχεύει να διευκολύνει την ανάπτυξη
εφαρμογών από μη ειδικούς του πεδίου (citizen developers) μέσω της χρήσης των
μέτα-μοντέλων και των γλωσσών που αναπτύχθηκαν στα πλαίσια της διατριβής.
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...ISSEL
Η σύγχρονη ευέλικτη (agile) προσέγγιση στην ανάπτυξη λογισµικού βασίζεται σε συστήµατα διαχείρισης εργασιών, υπεύθυνα για την οργάνωση της διαδικασίας προγραµµατισµού και τον καταµερισµό του ϕόρτου στα µέλη της οµάδας. Η ανάθεση εργασιών στο πιο κατάλληλο µέλος (triaging) είναι µια σηµαντική και απαιτητική διαδικασία και υλοποιείται από την αξιολόγηση των χαρακτηριστικών µιας αναφοράς εργασίας (τίτλος, περιγραφή, ετικέτες, σηµαντικότητα κτλ). Προηγούµενες προσπάθειες να αντιµετωπιστεί η περίπλοκη και χρονοβόρα διαδικασία αυτοµατοποίησης της ανάθεσης εργασιών περιορίζονται συνήθως στην ανάλυση αναφορών σφαλµάτων. Η παρούσα διπλωµατική εισάγει µια µέθοδο αυτοµατοποίησης της διαδικασίας ανάθεσης εργασιών, χωρίς περιοϱισµό στο είδος της εργασίας. Συγκεκριµένα, στοχεύει να διερευνήσει τη δυνατότητα πρόβλεψης του καταλληλότερου προγραµµατιστή για να εκτελέσει µια εργασία, χρησιµοποιώντας την αναφορά εργασίας. Αξιοποιήθηκαν δεδοµένα από διαφορετικά αποθετήρια, µε επίκεντρο τα δεδοµένα κειµένου (τίτλος, περιγραφή, ετικέτες). Η µεθοδολογία µας ϐασίζεται πάνω στην εφαρµογή τεχνικών επεξεργασίας κειµένου και ανάλυσης δεδοµένων. Σε αντίθεση µε την υπάρχουσα βιβλιογραφία που περιορίζεται σε απλές µεθόδους προεπεξεργασίας (tokenization, lemmatization κτλ.), εφαρµόστηκαν τεχνικές θεµατικής µοντελοποίησης (LDA), µε στόχο την εξαγωγή θεµάτων της κάθε αναφοράς και τον εµπλουτισµό των ετικετών. Τέλος, τα επεξεργασµένα δεδοµένα χωρίζονται σε σύνολα εκπαίδευσης και ελέγχου και εισάγονται σε βασικά µοντέλα ταξινόµησης (Naive Bayes και SVM). Η µεθοδολογία αποδείχθηκε αποτελεσµατική, αναθέτοντας εργασίες µε καλή ακρίβεια σε οµάδες προγραµµατιστών διαφορετικών µεγεθών και γνωστικών αντικειµένων, µε τις τεχνικές θεµατικές µοντελοποίησης να συνεισφέρουν σηµαντικά στη βελτίωση της απόδοσης.
Automated Task Assignment using Topic Modelling Techniques on Project Managem...ISSEL
The modern agile software development process relies on task tracking systems, responsible for organizing the development process and allocating the workload to the team members. Assigning tasks to the most suitable member (triaging) is a critical and demanding process and is implemented by evaluating the features of a task report (title, description, labels, importance etc.). Previous attempts to tackle the complicated and time-consuming problem of triaging are usually limited to bug reports analysis. This dissertation introduces a method of automating the triaging process, without constraints on the type of task. Specifically, it aims to investigate the possibility of predicting the most suitable programmer to complete a task just by using the task report. Data from different repositories are used, with the main focus on text data (title, description, labels). Our method is based on applying text processing and data analysis techniques. In contrast to existing research, limited to simple text preprocessing methods (tokenization, lemmatization etc.), topic mod elling techniques (LDA) are also applied in order to extract the topics of each report and enhance its labels. Finally, data are broken down into training and test sets and are used as input for classification models (Naive Bayes and SVM). The pro posed method proved effective, accurately assigning tasks, with the topic modeling techniques contributing significantly to efficiency improvement.
In this presentation, conducted on 11-21-2008 @ Microsoft Hellas premises, I gave an 1 hour presentation introducing people from the StudentGuru Community (www.studentguru.gr) to Microsoft Robotics Developer Studio 2008 (MRDS 2008). Most of the presentation is based on live demos and hands on code, in order to fully realize the potential of MRDS 2008. There is also a custom made R2D2 LEGO Mindstorms NXT robot in the presentation demos for robot enthusiasts. The video and the slides presented are in Greek, but at least the demo samples can be downloaded by anyone!