Τα πολύπλοκα σύγχρονα συστήματα λογισμικού όπως αυτά του ηλεκτρονικού εμπορίου, των υπη-
ρεσιών νέφους και των ηλεκτρονικών τραπεζικών υπηρεσιών, λειτουργούν υπο συνεχώς μεταβαλ-
λόμενες προτεραιότητες χρηστών, περιβάλλοντα, και διαθέσιμους πόρους. Σε αυτό το πλαίσιο, οι
πάροχοι υπηρεσιών λογισμικού επιθυμούν να παρέχουν ελαστικές και αποκριτικές υπηρεσίες και
παράλληλα να διατηρούν τα λειτουργικά τους έξοδα ελάχιστα. Αυτοί οι αντικρουόμενοι στόχοι
οδηγούν σε υπέρογκα συστήματα λογισμικού που είναι δύσκολα να διαχειριστούν ακόμα και από
ειδικούς πληροφορικής. Ώς εκ τούτου, αυτο-διαχειριζόμενα συστήματα τα οποία μπορούν να απο-
κρίνονται στο περιβάλλον τους έχουν γίνει αναγκαία.
Σε αυτή την εργασία, παρουσιάζουμε ένα περιβάλλον πλάισιο για την αυτόματη αναδιαμόρφωση
συστημάτων λογισμικού. Η προσέγγισή μας υλοποιέι έναν αυτόνομο βρόχο ελέγχου και χρησι-
μοποιεί μοντέλα στόχων υψηλού επιπέδου για να ορίσει στρατηγικές επίλυσης προβλημάτων που
προκύπτουν κατά τη διάρκεια λειτουργίας του συστήματος. Ένα πλάισιο συλλογιστικής αναγάγει
το πρόβλημα σχεδιασμού λύσης στο πρόβλημα της προτασιακής ικανοποιησιμότητας και συντaσει
ένα πρόγραμμα αναδιαμόρφωσης το οποίο εφαρμόζεται στο σύστημα. Τέλος, παρουσιάζουμε ένα
πρωτότυπο του περιβάλλοντος πλαισίου και το εφαρμόζουμε σε υποδομές νέφους, οι οποίες μο-
ντελοποιούνται με χρήση του προσομοιωτή CloudSim.
Contemporary complex IT systems such as e-commerce, cloud services and e-banking are required
to operate under constantly changing user priorities, environments, and available resources. In this
context, vendors wish to provide resilient and responsive services while in the same time keeping
their operational costs to a minimum. These conflicting factors lead to systems that are too big
for even the most skilled administrators to manage. Therefore, systems that are able to respond to
their environment in the form of self-adaptation and manage themselves according to administrator
goals have become a necessity.
In this thesis, we present a framework for self-adaptive system reconfiguration. Our approach
implements the autonomic control loop and uses high-level Goal Models to define solutions to
possible issues that may arise during the execution time of the system. A reasoning framework
reduces the planning problem to the propositional satisfiability problem and compiles a reconfiguration
plan which is effected on the system. Finally, we provide a concrete implementation of the
proposed framework and apply it on top of Cloud IT infrastructure, which is modeled using the
CloudSim simulation framework.