Show simple item record

Model-driven Software Architectural Design based on Software Evolution Modeling and Simulation and Design Pattern Analysis for Design Space Exploration Towards Maintainability

dc.contributor.advisorΜασσέλος, Κωνσταντίνος
dc.contributor.authorΚαρανικόλας, Χρήστος
dc.date.accessioned2024-08-27T10:51:37Z
dc.date.available2024-08-27T10:51:37Z
dc.date.issued2022-11
dc.identifier.urihttps://amitos.library.uop.gr/xmlui/handle/123456789/8187
dc.identifier.urihttp://dx.doi.org/10.26263/amitos-1689
dc.descriptionΔ.Δ. 25el
dc.description.abstractIn software architectural design, critical decisions among design alternatives with regards to maintainability arise early in the software design cycle. Existing exploration approaches are neither design-pattern-oriented nor formal. Such approaches are not reusable, have narrow scoping, and usually lead to suboptimal results. Furthermore, the effectiveness of existing techniques and models on predicting maintenance effort is usually verified on a limited number of case studies under heterogeneous metrics and settings. Conventionally, developers use their intuition, experience, or instant judgment to get such decisions, which leads to accrued technical debt, high risk, and suboptimal results regarding code quality. Owing to the confirmed lack of architectural awareness, developers underestimate the negative impact of such early and critical design decisions. Selecting between different design options is a crucial decision for object-oriented software developers affecting important code quality characteristics such as maintainability. In this thesis, a systematic modeling method for deriving formal comparison models for the efficient evaluation of object-oriented design alternatives in terms of maintainability early in the software design cycle is introduced. The method is suitable for modeling significant, general, and frequently tackled design problems which have dominant impact on the overall maintainability of the system, where different design alternatives are competing to address the same requirements. The derived formal models provide early estimates of required effort per design alternative in terms of proportionally equivalent effort assessments mainly for comparison purposes. The proposed approach considers the software expansion trend through the structural evolution of the engaged design patterns. This is achieved by formalizing change rates of individual design attributes for basic maintenance scenarios and their probabilities in the form of continuous differential equations to predict the required maintenance effort. Alternatively, the required effort is assessed by measuring the change impact of repeatedly applied scenarios in connection with the evolving design attributes under the view of a gradual (event-based) quantitative analysis. The proposed method has been evaluated on the significant and general design problem of recursive hierarchies of part-whole aggregations. The generated formal comparison models address the selection of Visitor over Composite design patterns against the direct inheritance-based approach. The derived models capture maintainability as a metric of software quality and provide reliable assessments for each implementation alternative. Furthermore, the proposed method suggests the structural maintenance cost metric based on which the progressive analysis of maintenance process is introduced. The proposed measurement approach has been applied to several test cases for different relevant quality metrics. The results prove that the proposed modeling method derives formal models which deliver reliable effort assessments mainly for comparison purposes. Thus, the proposed method can be used for comparing different implementation alternatives against various measures and quality factors, before code development leading to reduced effort and cost for software maintenance. Furthermore, the introduced modeling method has been applied to three different extensions of the general selection problem, thus assessing its applicability to even more realistic settings. The Decorator, Mediator, Observer, Abstract Factory, and Prototype design patterns have been modeled. The generated formal models have been tested on a sample of several specific instances representing the entire design-space of each general problem. The results prove that the derived formal models are reliable and can efficiently support decision-making among design alternatives early in the design cycle, leading to significant benefits in terms of maintenance time and effort. The results also suggest that the method can model general problems and support decision-making even in the (high-level) architectural design stage of systems. In addition, a multi-variable simulation model for validating the decision-making reliability of the modeling theory and derived formal comparison models for the significant designing problem of recursive hierarchies of part-whole aggregations is introduced. The proposed simulation model has been implemented in the forms of functional and modular representations. In the absence of a strictly validation against real-world observations, the simulation model has been thoroughly calibrated concerning its decision-making precision based on empirical evidence from time series analysis, approximating the highly uncertain nature of actual maintenance process. The decision reliability of the formal models has been statistically validated on a sample of one thousand possible instances of design attributes representing the entire design-space of the problem under analysis. Despite the limited accuracy of measurements, the results show that the models demonstrate an increasing selection reliability in a long-term perspective even under assumptions of high variability. Thus, the proposed modeling theory delivers reliable formal comparison models that significantly reduce decision-risk, maintenance effort, and relevant cost. Methods that yield such formal, general, and reusable models can bring software engineers closer to informed design decisions, and thus develop more maintainable software of higher quality.el
dc.format.extentσελ. 305el
dc.language.isoenel
dc.publisherΠανεπιστήμιο Πελοποννήσουel
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/*
dc.titleModel-driven Software Architectural Design based on Software Evolution Modeling and Simulation and Design Pattern Analysis for Design Space Exploration Towards Maintainabilityel
dc.title.alternativeΑρχιτεκτονικός σχεδιασμός λογισμικού βάσει μοντέλου βασισμένος σε μοντελοποίηση και προσομοίωση λογισμικού εξέλιξης και ανάλυση προτύπων σχεδίασης για εξερεύνηση χώρου σχεδιασμού προς τη δυνατότητα συντήρησηςel
dc.typeΔιδακτορική διατριβήel
dc.contributor.departmentΤμήμα Πληροφορικής και Τηλεπικοινωνιώνel
dc.contributor.facultyΣχολή Οικονομίας και Τεχνολογίαςel
dc.subject.keywordΑρχιτεκτονικός σχεδιασμόςel
dc.subject.keywordΥποβοηθούμενη από μοντέλα μηχανική λογισμικούel
dc.subject.keywordΜηχανική σχεδίασης λογισμικούel
dc.subject.keywordΒελτιστοποίηση σχεδιασμούel
dc.subject.keywordΑντικειμενοστραφής αρχιτεκτονικέςel
dc.subject.keywordΕξέλιξη λογισμικούel
dc.subject.keywordΣυντηρησιμότηταel
dc.subject.keywordΑνάλυση σχεδιαστικών προτύπωνel
dc.subject.keywordΑντισταθμίσεις σχεδίασης λογισμικούel
dc.subject.keywordΜοντέλα εξισώσεωνel
dc.subject.keywordΜοντελοποίηση και εξομοίωσηel
dc.subject.keywordΣτατιστική επικύρωσηel
dc.subject.keywordΚλάσεις και αντικείμεναel
dc.subject.keywordΕπισκέπτηςel
dc.subject.keywordΣύνθεσηel
dc.description.abstracttranslatedΣτην αρχιτεκτονική σχεδίαση λογισμικού και κατά την διάρκεια του πρόωρου σταδίου σχεδίασης, προκύπτουν κρίσιμες αποφάσεις μεταξύ εναλλακτικών σχεδίασης αναφορικά με την συντηρησιμότητά τους. Οι υπάρχουσες διερευνητικές προσεγγίσεις δεν είναι προσανατολισμένες στα σχεδιαστικά πρότυπα ούτε επαρκώς τυπικές. Τέτοιου είδους προσεγγίσεις δεν είναι επαναχρησιμοποιήσιμες, έχουν περιορισμένο πεδίο εφαρμογής και συνήθως καταλήγουν σε μη βέλτιστα αποτελέσματα. Περεταίρω, η αποτελεσματικότητα των υπαρχόντων τεχνικών και μοντέλων αναφορικά με την πρόβλεψη της προσπάθειας συντήρησης, συνήθως επιβεβαιώνεται από ένα περιορισμένο αριθμό περιπτωσιολογικών μελετών υπό το πρίσμα ετερογενών μετρικών και συνθηκών. Συμβατικά, οι προγραμματιστές χρησιμοποιούν την διαίσθησή, την εμπειρία ή την στιγμιαία κρίση τους προκειμένου να λάβουν τέτοιου είδους αποφάσεις, γεγονός που οδηγεί σε συσσώρευση τεχνικού χρέους (αστοχιών), υψηλό ρίσκο και μη βέλτιστα αποτελέσματα αναφορικά με την ποιότητα του κώδικα. Λόγω της επιβεβαιωμένης έλλειψης αρχιτεκτονικής συνείδησης, οι προγραμματιστές υποτιμούν τον αρνητικό αντίκτυπο τέτοιου είδους πρόωρων και κρίσιμων σχεδιαστικών αποφάσεων. Η επιλογή ανάμεσα σε διαφορετικές σχεδιαστικές εκδοχές είναι μια κρίσιμη απόφαση για τους προγραμματιστές του αντικειμενοστραφούς λογισμικού που επηρεάζει σημαντικά ποιοτικά χαρακτηριστικά του κώδικα όπως η συντηρησιμότητά του. Σε αυτή την διατριβή εισάγεται μια συστηματική μέθοδος μοντελοποίησης για την άντληση τυπικών μοντέλων σύγκρισης για την αποτελεσματική αξιολόγηση αντικειμενοστραφών εναλλακτικών σχεδίασης, υπό όρους συντηρησιμότητας, κατά το πρόωρο στάδιο σχεδίασης του λογισμικού. Η μέθοδος είναι κατάλληλη για την μοντελοποίηση σημαντικών, γενικών και συχνά εμφανιζόμενων σχεδιαστικών προβλημάτων τα οποία έχουν κυρίαρχο αντίκτυπο στη συνολική συντηρησιμότητα του συστήματος, όπου διαφορετικές σχεδιαστικές προσεγγίσεις ανταγωνίζονται για την αντιμετώπιση κοινών απαιτήσεων. Τα προκύπτοντα επίσημα μοντέλα παρέχουν πρόωρες εκτιμήσεις της απαιτούμενης προσπάθειας ανά εναλλακτική σχεδίασης υπό όρους αναλογικά ισοδύναμων εκτιμήσεων προσπάθειας, κυρίως για σκοπούς σύγκρισης. Η προτεινόμενη προσέγγιση λαμβάνει υπόψη την τάση επέκτασης του λογισμικού μέσω της δομικής εξέλιξης των εμπλεκόμενων σχεδιαστικών προτύπων. Αυτό επιτυγχάνεται διαμέσου των ρυθμών αλλαγής μεμονωμένων χαρακτηριστικών σχεδιασμού για βασικά σενάρια συντήρησης και για τις πιθανότητές τους υπό τη μορφή συνεχών διαφορικών εξισώσεων προκειμένου να προβλέψουν την απαιτούμενη προσπάθεια συντήρησης. Εναλλακτικά, η απαιτούμενη προσπάθεια εκτιμάται δια της μέτρησης του αντικτύπου αλλαγής των επαναλαμβανόμενα εφαρμοζόμενων σεναρίων σε σχέση με τις μεταβαλλόμενες ιδιότητες σχεδίασης υπό το πρίσμα μιας βαθμιαίας (με βάση τα γεγονότα) ποσοτικής ανάλυσης. Η προτεινόμενη μέθοδος αξιολογήθηκε για το σημαντικό και γενικό πρόβλημα σχεδίασης των αναδρομικών ιεραρχιών συναθροίσεων (μέρους-όλου). Τα παραγόμενα τυπικά μοντέλα σύγκρισης αντιμετωπίζουν την επιλογή ανάμεσα στο συνδυασμό των σχεδιαστικών προτύπων «Visitor» και «Composite» και στην άμεση προσέγγιση που βασίζεται στην κληρονομικότητα του «Composite» σχεδιαστικού προτύπου. Τα παραγόμενα μοντέλα καταγράφουν την συντηρησιμότητα ως μια μετρική της ποιότητας λογισμικού και παρέχουν αξιόπιστες εκτιμήσεις για κάθε εναλλακτική υλοποίηση. Περεταίρω, η προτεινόμενη μέθοδος εισαγάγει την μετρική του δομικού κόστους συντήρησης με βάση την οποία παρουσιάζεται η προοδευτική ανάλυση της διαδικασίας συντήρησης. Η προτεινόμενη μέθοδος μέτρησης εφαρμόστηκε σε πολλές δοκιμαστικές περιπτώσεις για διαφορετικές μετρικές ποιότητας. Τα αποτελέσματα αποδεικνύουν ότι η προτεινόμενη μέθοδος μοντελοποίησης εξάγει τυπικά μοντέλα τα οποία παρέχουν αξιόπιστες εκτιμήσεις προσπάθειας κυρίως για σκοπούς σύγκρισης. Έτσι, η προτεινόμενη μέθοδος μπορεί να χρησιμοποιηθεί για την σύγκριση διαφορετικών εναλλακτικών υλοποιήσεων έναντι διαφόρων μετρικών και παραγόντων ποιότητας, πριν το στάδιο ανάπτυξης του κώδικα, οδηγώντας στη μείωση της προσπάθειας και του κόστους συντήρησης του λογισμικού. Περεταίρω, η εισαγόμενη μέθοδος μοντελοποίησης εφαρμόστηκε σε τρις διαφορετικές επεκτάσεις του γενικού προβλήματος επιλογής, αξιολογώντας έτσι την ευκολία εφαρμογής της σε ακόμη πιο ρεαλιστικές συνθήκες. Τα σχεδιαστικά πρότυπα “Decorator”, “Mediator”, “Observer”, “Abstract Factory”, και “Prototype” μοντελοποιήθηκαν για το σκοπό αυτό. Τα παραγόμενα τυπικά μοντέλα δοκιμάστηκαν σε ένα δείγμα πολλαπλών στιγμιότυπων που αναπαριστούν το σύνολο του σχεδιαστικού χώρου του εκάστοτε γενικού προβλήματος. Τα αποτελέσματα αποδεικνύουν ότι τα εξαγόμενα τυπικά μοντέλα είναι αξιόπιστα και μπορούν να υποστηρίζουν αποδοτικά τη λήψη σχεδιαστικών αποφάσεων μεταξύ εναλλακτικών σχεδίασης κατά το πρόωρο στάδιο σχεδίασης, προσφέροντας σημαντικά οφέλη υπό όρους χρόνου και προσπάθειας συντήρησης. Επίσης, τα αποτελέσματα υποδεικνύουν ότι η μέθοδος μπορεί να μοντελοποιήσει γενικά προβλήματα καθώς και να υποστηρίξει τη λήψη αποφάσεων ακόμη και στο στάδιο της (υψηλού επιπέδου) αρχιτεκτονικής σχεδίασης συστημάτων. Επιπρόσθετα, παρουσιάζεται ένα πολύ παραμετρικό μοντέλο εξομοίωσης για τον έλεγχο της αξιοπιστίας λήψης αποφάσεων της προτεινόμενης θεωρίας μοντελοποίησης και των παραγόμενων τυπικών μοντέλων σύγκρισης, αναφερόμενο στο σημαντικό σχεδιαστικό πρόβλημα των αναδρομικών ιεραρχιών των συναθροίσεων μέρους-όλου. Το προτεινόμενο μοντέλο εξομοίωσης υλοποιήθηκε στις μορφές της συναρτησιακής και αρθρωτής αναπαράστασης. Εν’ απουσία ενός αυστηρού ελέγχου έναντι πραγματικών παρατηρήσεων, το μοντέλο εξομοίωσης βαθμονομήθηκε διεξοδικά αναφορικά με την ακρίβεια του στη λήψη αποφάσεων με βάση εμπειρικά στοιχεία από την ανάλυση χρονοσειρών, προσεγγίζοντας έτσι την εξαιρετικά αβέβαιη φύση της πραγματικής διαδικασίας συντήρησης. Η αξιοπιστία των αποφάσεων των τυπικών μοντέλων ελέγχθηκαν στατιστικά σε ένα δείγμα χιλίων πιθανών περιπτώσεων των σχεδιαστικών ιδιοτήτων, αναπαριστώντας ολόκληρο το σχεδιαστικό χώρο του υπό ανάλυση προβλήματος. Παρά την περιορισμένη ακρίβεια των μετρήσεων, τα αποτελέσματα έδειξαν ότι τα τυπικά μοντέλα επιδεικνύουν μια αυξανόμενη αξιοπιστία λήψης αποφάσεων σε μια μακροπρόθεσμη προοπτική ακόμη και υπό υποθέσεις αυξημένης μεταβλητότητας. Έτσι, η προτεινόμενη θεωρία μοντελοποίησης προσφέρει αξιόπιστα τυπικά μοντέλα σύγκρισης τα οποία μειώνουν σημαντικά τον κίνδυνο λήψης λανθασμένων αποφάσεων, την προσπάθεα συντήρησης, και το σχετικό κόστος. Μέθοδοι που αποδίδουν τέτοια τυπικά, γενικά και επαναχρησιμοποιήσιμα μοντέλα μπορούν να φέρουν τους μηχανικούς λογισμικού πιο κοντά σε τεκμηριωμένες αποφάσεις σχεδιασμού και έτσι να αναπτύξουν πιο συντηρήσιμο λογισμικό υψηλότερης ποιότητας.el


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα
Except where otherwise noted, this item's license is described as
Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα