Please use this identifier to cite or link to this item:
https://hdl.handle.net/20.500.14279/23148
Title: | Utilizing Computational Intelligence to Support Decision-making in Distributed Software Systems and Cloud-based Environments | Authors: | Christoforou, Andreas | Keywords: | Software Engineering;Cloud Computing;Distributed Systems Development;Service Oriented Architecture;Microservices Architecture;Serverless Computing;Computational Intelligence;Decision Support | Advisor: | Andreou, Andreas S. | Issue Date: | Apr-2020 | Department: | Department of Electrical Engineering, Computer Engineering and Informatics | Faculty: | Faculty of Engineering and Technology | Abstract: | The design and development of distributed software systems appears nowadays as a prominent way to provide modern, reliable and functional systems. The growth of such systems was greatly supported by the development and rapid expansion of Cloud Computing (CC), the latter offering a variety of on-demand services, thus alleviating the need to purchase and maintain expensive or sophisticated hardware and/or development tools, and supporting efficient data processing and storing. Cloud Computing has been established as an attractive development environment on which software development companies can deliver and deploy their services in response to the increasing demands. Inevitably this has brought great challenges in the software engineering field, mostly for setting up a new software development environment that simplifies the procedure of building and hosting applications on the Cloud. Despite the great number of solutions proposed in recent years, the continuous evolution and growth of the demands and services offered, the corresponding research challenges in this area remain untackled. These challenges revolve mainly around three axes: delivery of the software system on time, within budget and with a minimum acceptable level of quality. The persistent incorporation of numerous new technologies, makes Cloud infrastructure management highly complex, with multi-conflicting factors affecting it. Computational intelligence and machine learning techniques appear to have great success when dealing with complex and multifaceted problems. Aiming to investigate a series of research issues and problems in software engineering for the Cloud, this thesis proposes the use of various computational intelligent techniques and approaches which are modified and extended to meet specific challenges of the problem in hand. A special reference is made to techniques based on Artificial Neural Networks, Fuzzy Logic and Evolutionary Computation, which seem to dominate the relevant literature yielding promising results. The contribution of this thesis may be analyzed into six research steps. The first step introduces a novel, integrated analysis framework based on Multi-Layer Fuzzy Cognitive Maps models, as well as a series of actions to gather useful static and dynamic information. This framework allows the representation of problems described by multiple and intertwined factors, as the ones dealt with in the present thesis. Moreover, the proposed framework provides the means for performing advanced dynamic analysis in the form of what-if scenarios. In the second step, research is focused on the analysis and study of the factors that affect the adoption of Cloud services. Four different approaches based on Fuzzy Cognitive Maps and Influence Diagrams are proposed in an attempt to support the decision-making process. The third step extends the aforementioned analysis framework with the incorporation of an evolutionary approach based on a novel formulation proposed. Next, the fourth research step involves the construction of a Multi-Layer Fuzzy Cognitive Map to support decision-making towards microservices architecture migration. The fifth step proposed a novel process for the decomposition of existing software components and ultimately their partial or full replacement of their functionality parts with a number of suitable and available microservices. Finally, the sixth step suggests a new resource management approach in a Function-as-a-Service platform. The proposed approach is based on Multi Objective Genetic Algorithms and aims to solve the problem of finding a set of near-optimal solutions that support developers in a Function-as-a-Service environment to select an efficient resource allocation scheme with respect to cost and time. All of the proposed approaches and models are evaluated both theoretically and practically over real-world case studies. In each case the experimental process is designed, executed and analyzed followed by discussion of the results. | Description: | Ο σχεδιασμός και η ανάπτυξη κατανεμημένων συστημάτων λογισμικού εμφανίζεται σήμερα να είναι ένας εξέχων τρόπος για την παροχή σύγχρονων, αξιόπιστων και λειτουργικών συστημάτων. Η ανάπτυξη τέτοιων συστημάτων υποστηρίχθηκε σε μεγάλο βαθμό από την ανάπτυξη και την ταχεία επέκταση του Υπολογιστικού Νέφους (ΥΝ), το οποίο προσφέρει ένα εύρος κατά παραγγελίας υπηρεσιών, δίδοντάς διέξοδο στην ανάγκη αγοράς και συντήρησης ακριβού υλικού και/ή εργαλείων ανάπτυξης, καθώς και υποστήριξη στην αποτελεσματική επεξεργασία και αποθήκευση δεδομένων. Το Υπολογιστικό Νέφος έχει καθιερωθεί ως ένα ελκυστικό περιβάλλον ανάπτυξης πάνω στο οποίο οι εταιρείες ανάπτυξης λογισμικού μπορούν να αναπτύσσουν και να παρέχουν τις υπηρεσίες τους ανταποκρινόμενες στις αυξανόμενες απαιτήσεις της αγοράς. Αναπόφευκτα, αυτό ανάδειξε μεγάλες προκλήσεις στον τομέα της τεχνολογίας λογισμικού, κυρίως για τη δημιουργία ενός νέου περιβάλλοντος ανάπτυξης λογισμικού που απλοποιεί τη διαδικασία δημιουργίας και φιλοξενίας εφαρμογών στο Υπολογιστικό Νέφος. Παρά τον μεγάλο αριθμό λύσεων που έχουν προταθεί τα τελευταία χρόνια και παρά τη συνεχή εξέλιξη και ανάπτυξη των απαιτήσεων και των προσφερόμενων υπηρεσιών, οι αντίστοιχες ερευνητικές προκλήσεις στον τομέα αυτό παραμένουν ανοικτές. Αυτές οι προκλήσεις περιστρέφονται κυρίως γύρω από τρεις άξονες: την παράδοση ενός λογισμικού συστήματος εντός χρόνου, εντός προϋπολογισμού και με ένα ελάχιστο αποδεκτό επίπεδο ποιότητας. Η συνεχής ενσωμάτωση πολυάριθμων νέων τεχνολογιών, καθιστά τη διαχείριση υποδομής του Υπολογιστικού Νέφους εξαιρετικά περίπλοκη, με πολλούς αντικρουόμενους παράγοντες να την επηρεάζουν. Οι τεχνικές υπολογιστικής νοημοσύνης και μηχανικής μάθησης εμφανίζονται να έχουν μεγάλη επιτυχία στην αντιμετώπιση πολύπλοκων και πολύπλευρων προβλημάτων. Με στόχο τη διερεύνηση μιας σειράς ερευνητικών θεμάτων και προβλημάτων στη τεχνολογία λογισμικού για το Υπολογιστικό Νέφος, αυτή η διατριβή προτείνει τη χρήση διαφόρων υπολογιστικών ευφυών τεχνικών και προσεγγίσεων που τροποποιούνται και επεκτείνονται ανάλογα για να αντιμετωπίσουν συγκεκριμένα προβλήματα. Ειδική αναφορά γίνεται σε τεχνικές που βασίζονται στα τεχνητά νευρωνικά δίκτυα, τη ασαφή λογική και τον εξελικτικό υπολογισμό, οι οποίες τεχνικές φαίνεται να κυριαρχούν στη σχετική βιβλιογραφία δίνοντας υποσχόμενα αποτελέσματα. Η συμβολή της παρούσας διατριβής μπορεί να χωριστεί σε έξι βήματα έρευνας. Το πρώτο βήμα παρουσιάζει ένα νέο, ολοκληρωμένο πλαίσιο ανάλυσης που βασίζεται σε μοντέλα Πολυεπίπεδων Ασαφών Γνωστικών Χαρτών, καθώς και μια σειρά ενεργειών για τη συλλογή χρήσιμων στατικών και δυναμικών πληροφοριών. Το προτεινόμενο πλαίσιο επιτρέπει την αναπαράσταση προβλημάτων που περιγράφονται από πολλαπλούς και διασυνδεδεμένους παράγοντες, όπως αυτά που εξετάζονται στην παρούσα διατριβή. Επιπλέον, το προτεινόμενο πλαίσιο παρέχει τα μέσα για την εκτέλεση προηγμένης δυναμικής ανάλυσης με τη μορφή what-if σεναρίων. Στο δεύτερο βήμα, η έρευνα εστιάζει στην ανάλυση και τη μελέτη των παραγόντων που επηρεάζουν την υιοθέτηση των υπηρεσιών Υπολογιστικού Νέφους. Σε μια προσπάθεια υποστήριξης της διαδικασίας λήψης αποφάσεων προτείνονται τέσσερις διαφορετικές προσεγγίσεις βασισμένες σε Ασαφής Γνωστικούς Χάρτες και Διαγράμματα Επηρεασμού. Το τρίτο βήμα επεκτείνει το προαναφερθέν πλαίσιο ανάλυσης με την ενσωμάτωση μιας εξελικτικής προσέγγισης βασισμένη σε ένα νέο προτεινόμενο τύπο . Το τέταρτο ερευνητικό βήμα περιλαμβάνει την κατασκευή ενός Πολυεπίπεδου Ασαφούς Γνωστικού Χάρτη για την υποστήριξη της λήψης αποφάσεων για τη μεταφορά σε αρχιτεκτονικής Microservices. Το πέμπτο βήμα πρότεινε μια νέα διαδικασία για την αποσύνθεση υπαρχόντων τμημάτων λογισμικού καταλήγοντας στην μερική ή πλήρη αντικατάσταση των λειτουργιών τους με έναν αριθμό κατάλληλων και διαθέσιμων Microservices. Τέλος, το έκτο βήμα προτείνει μια νέα προσέγγιση διαχείρισης πόρων σε μια πλατφόρμα Function-as-a-Service. Η προτεινόμενη προσέγγιση βασίζεται σε γενετικούς αλγόριθμους πολλαπλών αντικειμενικών στόχων και στοχεύει στην επίλυση του προβλήματος εύρεσης ενός συνόλου βέλτιστων λύσεων που να υποστηρίζουν τους προγραμματιστές σε ένα περιβάλλον Function-as-a-Service για την επιλογή ενός αποτελεσματικού συστήματος κατανομής πόρων σε σχέση με το κόστος και τον χρόνο. Όλες οι προτεινόμενες προσεγγίσεις και μοντέλα αξιολογούνται τόσο θεωρητικά όσο και πρακτικά σε πραγματικές βιομηχανικές εφαρμογές. Σε κάθε ξεχωριστή περίπτωση γίνεται σχεδιασμός, εκτέλεση και ανάλυση της πειραματική διαδικασίας, ακολουθούμενη από σχετική συζήτηση αποτελέσματων. | URI: | https://hdl.handle.net/20.500.14279/23148 | Rights: | Απαγορεύεται η δημοσίευση ή αναπαραγωγή, ηλεκτρονική ή άλλη χωρίς τη γραπτή συγκατάθεση του δημιουργού και κάτοχου των πνευματικών δικαιωμάτων. Attribution-NonCommercial-NoDerivatives 4.0 International |
Type: | PhD Thesis | Affiliation: | Cyprus University of Technology |
Appears in Collections: | Διδακτορικές Διατριβές/ PhD Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Christoforou_Thesis_original.pdf | Fulltext | 2.1 MB | Adobe PDF | View/Open |
CORE Recommender
Page view(s) 10
302
Last Week
1
1
Last month
1
1
checked on Nov 21, 2024
Download(s) 10
242
checked on Nov 21, 2024
Google ScholarTM
Check
This item is licensed under a Creative Commons License