Θέµατα Διπλωµατικών Εργασιών 2006 - 2007

transportdingdongSoftware and s/w Development

Jul 14, 2012 (5 years and 2 months ago)

287 views

Εργαστήριο Τεχνολογίας Λογισµικού ΣΗΜΜΥ, Ε.Μ.Π.


Εθνικό Μετσόβιο Πολυτεχνείο

Σχολή Ηλεκτρολόγων Μηχανικών κ.
Μηχανικών Υπολογιστών


Εργαστήριο Τεχνολογίας Λογισµικού


Θέµατα ∆ιπλωµατικών Εργασιών

Ακαδ. Έτος 2006-2007


Επιβλέπων

Κώστας Κοντογιάννης
Αναπλ. Καθηγητής Ε.Μ.Π.

kkontog@softlab.ntua.gr




Τίτλος ∆ιπλωµατικής Εργασίας 1
: Περιβάλλον Ανάλυσης και Αναβάθµισης
Πηγαίου Κώδικα Java

Είναι γεγονός ότι σήµερα όλο και περισσότερες εφαρµογές υλοποιούνται στη γλώσσα
προγραµµατισµού Java. Αυτές οι εφαρµογές για να παραµείνουν λειτουργικές πρέπει να
αναβαθµίζονται συνεχώς είτε για να διορθωθούν σφάλµατα σχεδίασης και υλοποίησης,
είτε για προστεθούν νέες λειτουργίες, είτε για να ενοποιηθούν σε νέα περιβάλλοντα και
πλατφόρµες. Η αναβάθµιση τέτοιων συστηµάτων απαιτεί εργαλεία τα οποία επιτρέπουν
α) τη µοντελοποίηση του πηγαίου κώδικα µε τη µορφή Αφηρηµένων ∆ένδρων Σύνταξης
(Abstract Syntax Trees) και β) την χρήση βιβλιοθηκών που επιτρέπουν την περαιτέρω
ανάλυση αυτών των Μοντέλων µε σκοπό την κατανόηση και την επιθυµητή αναβάθµιση
του πηγαίου κώδικα. Η διπλωµατική εργασία θα έχει σαν αντικείµενο τη δηµιουργία και
χρήση µιας βιβλιοθήκης που θα υλοποιεί κλάσεις και µεθόδους για την ανάλυση
Αφηρηµένων ∆ένδρων Σύνταξης που παράγονται από το περιβάλλον RET4J. Αυτές οι
βιβλιοθήκες θα µπορέσουν αργότερα να χρησιµοποιηθούν σε συνδυασµό µε το
περιβάλλον RET4J για την υλοποίηση εφαρµογών που αποσκοπούν στην κατανόηση
και την αναβάθµιση συστηµάτων Java. Η υλοποίηση αυτής της διπλωµατικής εργασίας
θα γίνει σε γλώσσα Java και µε τη χρήση του περιβάλλοντος Eclipse Modeling
Framework (EMF). Οι ενδιαφερόµενοι µπορούν να επικοινωνήσουν µε τον επιβλέποντα
στην ηλεκτρονική διεύθυνση kkontog@softlab.ntua.gr


ΕΝΟΤΗΤΑ 1:
ΑΝΑΛΥΣΗ, ΣΥΝΤΗΡΗΣΗ, ΚΑΙ ΑΝΑΒΑΘΜΙΣΗ ΣΥΣΤΗΜΑΤΩΝ ΛΟΓΙΣΜΙΚΟΥ
Εργαστήριο Τεχνολογίας Λογισµικού ΣΗΜΜΥ, Ε.Μ.Π.
Τίτλος ∆ιπλωµατικής Εργασίας 1.2
: Σχεδίαση και Υλοποίηση Περιβάλλοντος για
την Εξόρυξη και Ανάλυση Αρχιτεκτονικής Συστηµάτων Λογισµικού

Για να παραµείνει λειτουργικό ένα σύστηµα λογισµικού, πρέπει να συντηρείται και να
αναβαθµίζεται συνεχώς. Η συντήρηση και αναβάθµιση συνήθως λαµβάνει τη µορφή
αλλαγών στον πηγαίο κώδικα του συστήµατος. Όµως αυτή η διαρκής αναβάθµιση έχει
σαν αποτέλεσµα την σταδιακή και συνεχή απόκλιση της αρχιτεκτονικής του συστήµατος
από την αρχικά προδιαγραµµένη µορφή της. Αυτή η διπλωµατική εργασία έχει σαν
σκοπό τη σχεδίαση και υλοποίηση ενός περιβάλλοντος που επιτρέπει τον προσδιορισµό
της πραγµατικής (actual architecture) αρχιτεκτονικής του συστήµατος όπως αυτή έχει
διαµορφωθεί µέσα από τις συνεχείς αλλαγές λόγω εργασιών συντήρησης και
αναβάθµισης και, τη σύγκριση της πραγµατικής αρχιτεκτονικής µε την αρχικά
προδιαγραµµένη αρχιτεκτονική (specified architecture). Αυτό το περιβάλλον θα βασίζεται
στην ανάλυση του πηγαίου κώδικα του συστήµατος (Java ή C), και στην ανάλυση της
δυναµικής συµπεριφοράς του συστήµατος όπως αυτή εµφανίζεται όταν εισάγουµε στο
σύστηµα συγκεκριµένες τιµές και δεδοµένα εκκίνησης. Η διπλωµατική εργασία θα
υλοποιηθεί στη γλώσσα Java. Οι ενδιαφερόµενοι µπορούν να επικοινωνήσουν µε τον
επιβλέποντα στην ηλεκτρονική διεύθυνση kkontog@softlab.ntua.gr





Τίτλος ∆ιπλωµατικής Εργασίας 2.1
: Σύστηµα Συγχρονισµού Σχεδιαστικών
Μοντέλων Λογισµικού UML

Οι µοντέρνες µεθοδολογίες υλοποίησης και συντήρησης εφαρµογών λογισµικού
απαιτούν τη χρήση συγκεκριµένων µοντέλων για την προδιαγραφή των απαιτήσεων, της
αρχιτεκτονικής και, της λεπτοµερούς σχεδίασης του συστήµατος. Όσο όµως το σύστηµα
εξελίσσεται και αναβαθµίζεται αυτά τα µοντέλα πρέπει να µεταβάλλονται ανάλογα ώστε
να αντανακλούν όποιες αλλαγές έχουν γίνει. Για παράδειγµα, όταν ο πηγαίος κώδικας
µεταβληθεί (π.χ. για να διορθωθούν σφάλµατα) τότε θα πρέπει να ελεγχθούν και να
µεταβληθούν, εάν χρειάζεται, όλα τα άλλα µοντέλα που περιγράφουν δοµικά και
λειτουργικά στοιχεία του συστήµατος (απαιτήσεις, αρχιτεκτονική, λεπτοµερή σχεδίαση)
ώστε στο τέλος όλα τα µοντέλα να παραµένουν συνεπή (consistent) µεταξύ τους.
Αντίστροφα, όταν η σχεδίαση αναβαθµίζεται και αλλάζει τότε, και όλα τα άλλα µοντέλα
του συστήµατος συµπεριλαµβανοµένου και του πηγαίου κώδικα θα πρέπει και αυτά να
αλλάξουν ώστε και πάλι όλα τα µοντέλα να παραµείνουν συνεπή. Ο σκοπός αυτής της
εργασίας είναι η σχεδίαση και υλοποίηση µιας εφαρµογής που θα επιτρέπει τον
συγχρονισµό συγκεκριµένων µοντέλων λογισµικού (ακολουθιακά διαγράµµατα,
διαγράµµατα κλάσεων, κ.λ.π.) που περιγράφονται µε τη γλώσσα UML. Η διπλωµατική
εργασία θα υλοποιηθεί στη γλώσσα Java. Οι ενδιαφερόµενοι µπορούν να
επικοινωνήσουν µε τον επιβλέποντα στην ηλεκτρονική διεύθυνση
kkontog@softlab.ntua.gr




ΕΝΟΤΗΤΑ 2:
ΕΡΓΑΛΕΙΑ ΚΑΙ ΠΑΕΡΙΒΑΛΛΟΝΤΑ ΜΟΝΤΕΛΟ-ΚΕΝΤΡΙΚΗΣ ΣΧΕ∆ΙΑΣΗΣ
ΚΑΙ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΛΟΓΙΣΜΙΚΟΥ
Εργαστήριο Τεχνολογίας Λογισµικού ΣΗΜΜΥ, Ε.Μ.Π.
Τίτλος ∆ιπλωµατικής Εργασίας 2.2
: Περιβάλλον Πλαίσιο για την Ανάλυση και
Μετατροπή Μοντέλων MOF

Σε πολλές εφαρµογές είναι απαραίτητο να συνθέτουµε, να µετατρέπουµε και να
ενοποιούµε διαφορετικά µοντέλα που περιγράφουν διαφορετικά στοιχεία του
συστήµατος. Παραδείγµατα τέτοιων µοντέλων είναι επιχειρησιακά µοντέλα, µοντέλα
απαιτήσεων, µοντέλα σχεδίασης, µοντέλα ελέγχου, και µοντέλα παρακολούθησης
λειτουργίας του συστήµατος. Η σύνθεση νέων µοντέλων από άλλα µοντέλα είναι βασική
για την υλοποίηση εργαλείων που υποστηρίζουν την µοντελο-κεντρική ανάπτυξη
πολύπλοκων εφαρµογών λογισµικού. Ο σκοπός αυτής της εργασίας είναι η σχεδίαση
µιας άλγεβρας µετεξέλιξης µοντέλων µε συγκεκριµένους τελεστές που επιτρέπουν
λειτουργίες όπως τη συγχώνευση µοντέλων (model weaving), τη διαφορά µοντέλων
(model differencing), και την κατάτµηση µοντέλων (model partitioning). Γι’ αυτή την
εργασία θα µπορούσαµε να θεωρήσουµε ότι τα µοντέλα υλοποιούνται σύµφωνα µε το
πρότυπο Meta Object Facility και όσον αφορά τον µαθηµατικό φορµαλισµό τους,
περιγράφονται µε τη µορφή γράφων. Η διπλωµατική εργασία θα υλοποιηθεί στη γλώσσα
Java. Οι ενδιαφερόµενοι µπορούν να επικοινωνήσουν µε τον επιβλέποντα στην
ηλεκτρονική διεύθυνση kkontog@softlab.ntua.gr





Τίτλος ∆ιπλωµατικής Εργασίας 3.1
: Αναγνώριση Μοτίβων σε Ακολουθίες
Γεγονότων που Εξάγονται Κατά τη Παρακολούθηση Λειτουργίας Συστηµάτων
Λογισµικού

Η ορθή λειτουργία βιοµηχανικών συστηµάτων λογισµικού επιβεβαιώνεται µε τη χρήση
ειδικών προγραµµάτων που παρακολουθούν τη κατάσταση του συστήµατος και εξάγουν
τις βασικές παραµέτρους λειτουργίας του. Αυτά τα προγράµµατα, παράγουν
πληροφορίες σχετικές µε σηµαντικά γεγονότα που συµβαίνουν στο σύστηµα, όπως η
ενηµέρωση µιας βάσης δεδοµένων, µια συναλλαγή ανάµεσα σε διαδικασίες, η κλήση
µιας µεθόδου ή µιας συνάρτησης, η προσπέλαση πληροφοριών από κάποιο αρχείο, η
είσοδος ενός νέου χρήστη στο σύστηµα, ή το ξεκίνηµα µιας νέας διαδικασίας. Αυτές οι
πληροφορίες λειτουργίας του συστήµατος κωδικοποιούνται σαν γεγονότα (events) και
αποθηκεύονται για περαιτέρω ανάλυση και έλεγχο. Σε µεγάλα όµως συστήµατα που
αποτελούνται από πολλές και πιθανόν κατανεµηµένες µονάδες, τα προγράµµατα
παρακολούθησης µπορούν να παράγούν τεράστιο όγκο πληροφοριών οι οποίες είναι
δύσκολο να αναλυθούν. Ο σκοπός αυτής της διπλωµατικής εργασίας είναι η σχεδίαση
και υλοποίηση µιας εφαρµογής που θα επιτρέπει την αναγνώριση συγκεκριµένων
µοτίβων και προτύπων σε αρχεία που αποθηκεύουν πληροφορίες σχετικές µε τη
κατάσταση και λειτουργία του συστήµατος. Τα µοτίβα θα περιγραφούν σε κάποιο
µοντέλο και αντίστοιχη γλώσσα, και η αναγνώριση θα γίνεται µε τη χρήση κάποιου
προγράµµατος ανάλυσης µοτίβων (pattern matching). Η διπλωµατική εργασία θα
υλοποιηθεί στη γλώσσα Java ή στη γλώσσα C. Οι ενδιαφερόµενοι µπορούν να
επικοινωνήσουν µε τον επιβλέποντα στην ηλεκτρονική διεύθυνση
kkontog@softlab.ntua.gr

ΕΝΟΤΗΤΑ 3:
ΕΛΕΓΧΟΣ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΛΕΙΤΟΥΡΓΙΑΣ ΣΥΣΤΗΜΑΤΩΝ
ΛΟΓΙΣΜΙΚΟΥ
Εργαστήριο Τεχνολογίας Λογισµικού ΣΗΜΜΥ, Ε.Μ.Π.

Τίτλος ∆ιπλωµατικής Εργασίας 3.2
: Σύστηµα Κατασκευής Ακολουθιακών
∆ιαγραµµάτων από ∆υναµικές Πληροφορίες που Εξάγονται από Προγράµµατα
Παρακολούθησης Λειτουργίας Συστηµάτων Λογισµικού

Σε πολλές περιπτώσεις δεν έχουµε πρόσβαση στο πηγαίο κώδικα µιας εφαρµογής αλλά
έχουµε πρόσβαση σε πληροφορίες που κωδικοποιούν σηµαντικά γεγονότα που
συµβαίνουν κατά τη διάρκεια λειτουργίας του συστήµατος. Όπως αναφέραµε και
παραπάνω τέτοια σηµαντικά γεγονότα που συµβαίνουν στο σύστηµα µπορεί να είναι η
ενηµέρωση µιας βάσης δεδοµένων, µια συναλλαγή ανάµεσα σε διαδικασίες, η
προσπέλαση πληροφοριών από κάποιο αρχείο, το ξεκίνηµα µιας νέας διαδικασίας κλπ.
Το αντικείµενο αυτής της διπλωµατικής εργασίας είναι σχεδίαση και υλοποίηση µιας
εφαρµογής που θα επιτρέπει τη δηµιουργία ακολουθιακών διαγραµµάτων που
προδιαγράφουν τη λειτουργία του συστήµατος, αναλύοντας πληροφορίες που είναι
σχετικές µε τη κατάσταση και λειτουργία του συστήµατος καθώς αυτό τρέχει. Για αυτή τη
διπλωµατική θα θεωρήσουµε ότι έχουµε διαθέσιµο ένα πρόγραµµα ελέγχου και
παρακολούθησης του συστήµατος που µας επιτρέπει να εξάγουµε σηµαντικά γεγονότα
από τη λειτουργία του συστήµατος, και ότι κάθε φορά εισάγουµε στοιχεία στο σύστηµα
για να τρέξουµε µια περίπτωση χρήσης. Για κάθε τέτοια περίπτωση χρήσης η εφαρµογή
µας θα κατασκευάζει και ένα αντίστοιχο ακολουθιακό διάγραµµα. Η διπλωµατική εργασία
θα υλοποιηθεί στη γλώσσα Java και µε τη χρήση του περιβάλλοντος Eclipse Modeling
Framework ή τη χρήση του περιβάλλοντος Rational Software Architect. Οι
ενδιαφερόµενοι µπορούν να επικοινωνήσουν µε τον επιβλέποντα στην ηλεκτρονική
διεύθυνση kkontog@softlab.ntua.gr