Utilizing Computational Intelligence to Support Decision-making in Distributed Software Systems and Cloud-based Environments
Date Issued
April 2020
Author(s)
Advisor
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.
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.
File(s)![Thumbnail Image]()
Name
Christoforou_Thesis_original.pdf
Size
2.05 MB
Format
Adobe PDF
Checksum (MD5)
8df01b1508652639679ec82b04581187

