Please use this identifier to cite or link to this item:
https://olympias.lib.uoi.gr/jspui/handle/123456789/30815
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Tsimakis, Anastasios | en |
dc.date.accessioned | 2021-04-14T11:38:28Z | - |
dc.date.available | 2021-04-14T11:38:28Z | - |
dc.identifier.uri | https://olympias.lib.uoi.gr/jspui/handle/123456789/30815 | - |
dc.identifier.uri | http://dx.doi.org/10.26268/heal.uoi.10653 | - |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 United States | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/us/ | * |
dc.subject | Design pattern specification | en |
dc.subject | Design pattern verification | en |
dc.subject | Software design pattern | en |
dc.subject | Object-oriented programming | en |
dc.subject | Προσδιορισμός σχεδιαστικών μοτίβων | el |
dc.subject | Επαλήθευση σχεδιαστικών μοτίβων | el |
dc.subject | Σχεδιαστικά μοτίβα λογισμικού | el |
dc.subject | Αντικειμενοστρεφής προγραμματισμός | el |
dc.title | JPatternJudge | en |
dc.title | JPatternJudge | en |
heal.type | masterThesis | - |
heal.type.en | Master thesis | en |
heal.type.el | Μεταπτυχιακή εργασία | el |
heal.secondaryTitle | an extensible framework for design pattern specification and verificationes | en |
heal.secondaryTitle | ένα επεκτάσιμο πλαίσιο λογισμικού για προσδιορισμό και επαλήθευση σχεδιαστικών μοτίβων | el |
heal.classification | Software design | - |
heal.dateAvailable | 2021-04-14T11:39:28Z | - |
heal.language | en | - |
heal.access | free | - |
heal.recordProvider | Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής | el |
heal.publicationDate | 2021 | - |
heal.bibliographicCitation | Βιβλιογραφία: σ. 77-79 | el |
heal.abstract | Design Patterns are a staple of software development in object-oriented program ming languages. However, there are multiple reasons for a pattern that has been applied on a piece of code to be erroneous; be it from faulty understanding of its purpose, some mistake in the realization, or even the fact that since systems evolve and change over time, the pattern can be broken inadvertently. To automatically verify the correctness of a pattern, we must first devise a way of specifying it. This thesis presents JPatternJudge, a framework that defines a specifica tion model for design patterns, represented as a collection of roles and constraints, as well as mechanisms for detecting and verifying instances of design patterns in Java source code. JPatternJudge is implemented as an Eclipse plugin, and includes specifi cations of 18 different design patterns. We also present a measure of the framework’s reusability and extensibility, as well as the results of verification of patterns on real Java projects. | en |
heal.abstract | Τα σχεδιαστικά μοτίβα λογισμικού (software design patterns) αποτελούν ένα πολύ βασικό κομμάτι της ανάπτυξης λογισμικού, επιτρέποντας σε προγραμματι στές να υλοποιήσουν πολύπλοκα συστήματα. Κάθε σχεδιαστικό μοτίβο αποτελεί μια γενική λύση σε ένα συχνό πρόβλημα, και αναϕέρονται συνήθως σε αντικειμενο στρεϕείς γλώσσες προγραμματισμού όπως η Java. Παρά την εκτεταμένη χρήση τους όμως, πολλές ϕορές ένα μοτίβο δύναται να είναι λανθασμένο για διάϕορους λόγους: ίσως ο προγραμματιστής δεν κατάλαβε πλήρως τον σκοπό του pattern, ή έκανε κάποιο λάθος στην υλοποίησή του. Μπορεί επίσης το σϕάλμα να προέκυψε λόγω της αναπόϕευκτης εξέλιξης του συστήμα τος, όπου οι αλλαγές στον κώδικα κατέστρεψαν τη δομή του. Αυτό δεν είναι κάτι που είναι πρακτικά εϕικτό να ελεγθεί από ανθρώπους, άρα ένα αυτοματοποιημένο εργαλείο θα ήταν πολύ χρήσιμο. Για να μπορέσει όμως ένα εργαλείο να επαληθεύσει την ορθή υλοποίηση ενός pattern, θα πρέπει πρώτα να έχει έναν συγκεκριμένο ορισμό για αυτό. Σε αυτή την εργασία, παρουσιάζουμε έναν τρόπο να ορίσουμε τα σχεδιαστικά μοτίβα ως ένα σύ νολο από κλάσεις που εξυπηρετούν έναν συγκεκριμένο ρόλο στο μοτίβο, καθώς και ένα σύνολο από δηλωτικούς περιορισμούς (declarational constraints) τους οποίους πρέπει να υπακούν. Οι περιορισμοί αυτοί εκϕράζονται σαν σχέσεις μεταξύ κόμβων του αϕηρημένου συντακτικού δέντρου (Abstract Syntax Tree, AST) του πηγαίο κώδικα. Με βάση αυτό το σύστημα, παραθέτουμε επίσης 18 ορισμούς για design pattern. Τέλος, παρουσιάζουμε το JPatternJudge, ένα framework για το Eclipse IDE, το οποίο χρησιμοποιεί τους ορισμούς αυτούς για αυτόματη επαλήθευση των patterns και εστιάζει ιδιαίτερα στην επεκτασιμότητα. Για αναγώριση των κλάσεων που συμμετέχουν σε ένα pattern και έχουν έναν ρόλο, το JPatternJudge χρησιμοποιεί ένα καινούργιο Annotation το οποίο προσθέσαμε στην Java. | el |
heal.advisorName | Ζάρρας, Απόστολος | el |
heal.committeeMemberName | Ζάρρας, Απόστολος | el |
heal.committeeMemberName | Βασιλειάδης, Παναγιώτης | el |
heal.committeeMemberName | Παπαπέτρου, Ευάγγελος | el |
heal.academicPublisher | Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής | el |
heal.academicPublisherID | uoi | - |
heal.numberOfPages | 79 σ. | - |
heal.fullTextAvailability | true | - |
Appears in Collections: | Διατριβές Μεταπτυχιακής Έρευνας (Masters) - ΜΗΥΠ |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
M.E. TSIMAKIS ANASTASIOS 2021.pdf | 484.32 kB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License