bachelor degree project a visualization tool for the state of the …1470526/... · 2020. 9....

30
Author: Cristian Babes , Supervisor: Mauro Caporuscio and Mirko D’Angelo Semester: VT 2020 Subject: Computer Science Bachelor Degree Project A Visualization Tool for the State of the Art of Self Adaptive Systems

Upload: others

Post on 05-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Author: Cristian Babes,Supervisor: Mauro Caporuscio andMirko D’AngeloSemester: VT 2020Subject: Computer Science

Bachelor Degree Project

A Visualization Tool for the State ofthe Art of Self Adaptive Systems

Page 2: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Abstract

Due to increased expectations as well as advances in technology, the interest in Self-adaptive Systems has increased in the last few years. As a consequence of this, thebody of work has also dramatically expanded, and it is essential to have an overviewin order to identify common problems and knowledge gaps. This paper introduces avisualization tool for the state of the art of Self-adaptive Systems. The tool shouldprovide all the needed insights into the body of work in the field of Self-adaptiveSystems.

Keywords: self-adaptive systems, visualization tool, taxonomy, state of the art

Page 3: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Contents

1 Introduction 11.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Target group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.6 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Method 32.1 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Deriving the taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2.1 Exclusion/Inclusion Criteria and Extracted Papers . . . . . . . . . 3

3 Some Theoretical Points 53.1 Self-Adaptive Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1.1 Feedback Loops . . . . . . . . . . . . . . . . . . . . . . . . . . 53.1.2 Engineering Approaches . . . . . . . . . . . . . . . . . . . . . . 63.1.3 Application Domains . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 Is There a Need for Visualization? . . . . . . . . . . . . . . . . . . . . . 7

4 Research and Development 84.1 Deriving the Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.1.2 Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.1.3 Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.4 Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.5 Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2 Developing the visualization tool . . . . . . . . . . . . . . . . . . . . . . 124.2.1 Web vs Native App . . . . . . . . . . . . . . . . . . . . . . . . . 124.2.2 Off-the-shelf or custom built? . . . . . . . . . . . . . . . . . . . 12

5 Taxonomy 135.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.1.1 Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.1.2 Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.1.3 Multiplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.1.4 Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.2 Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2.1 Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2.2 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2.3 Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2.4 Anticipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.3 Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.3.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.3.2 Autonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.3.3 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.3.4 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.3.5 Adaptation Time . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Page 4: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

5.3.6 Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.3.7 Triggering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.4 Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 SaSVis: Features and Presentation 176.1 Why BioVis? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.2 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.3 Tool presentation and demonstration . . . . . . . . . . . . . . . . . . . . 18

6.3.1 The main panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 186.3.2 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.3.3 Navigation Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.4 Future Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7 Analysis and Discussion 23

8 Conclusion and Future Work 24

References 25

Page 5: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

1 Introduction

Nowadays, software systems have expanded beyond personal computers and scientificapplications to complex and essential domains, such as aerospace and defense industry,automotive industry, energy industry, and telecommunications. As a consequence of theubiquity of software, the expected standard of reliability and performance has greatlyincreased. In order to achieve and maintain the reliability and performance standards ex-pected, the software must become more versatile, flexible, and able to adapt to its environ-ment and its ever changing requirements. Such software systems are called Self-adaptiveSystems (abbreviated to SaS)[1].

In order to help to innovate the field of SaS further, it is vital to have a clear pic-ture of state of the art. The aim of this paper is to create a visualization tool that willhelp researchers and engineers to explore the literature about SaS and, ultimately, to findsolutions to common problems and identify knowledge gaps. In order to create the visu-alization tool, a taxonomy for Self-adaptive Systems will also be defined.

1.1 Background

Self-adaptive Systems are defined as software systems that can evaluate their environmentand their own runtime behaviour and adapt said behaviour to better achieve their require-ments. They are self-adaptive because they perform the adaptation as a result of their owndecision and not because of outside input. SaS have been studied since the mid-1960’s.However, breakthroughs in technology have increased the interest in the subject in the lastdecade [1].

1.2 Problem Formulation

As the interest in Self-adaptive Systems grew, so did the amount of research and literatureon the topic. It is essential to easily access, explore, and visualize the body of work onthe subject in order to facilitate the reuse of research assets. Such a tool should offer thepossibility to visualize the body of work based on multiple dimensions, for example, thetype of paper, the approach, and the type of data if any. This aim of this study is to identifythe objectives that a visualization tool should achieve and, afterwards, to develop such atool.

1.3 Motivation

Researchers and engineers in any field of study require a clear view of the state of saidfield of study in order to reuse research assets efficiently. An integral part of visualizinga field of study is classifying the body of work, here is where classification systems ortaxonomies come into play. Classification systems help to investigate the relationshipsbetween the classified objects [2]. Furthermore, classification systems can facilitate theuse of existing assets and show gaps in knowledge [2]. As a result, a taxonomy forthe research done on the subject of Self-adaptive Systems and by extension, a tool thatvisualizes the field based on the taxonomy can help researchers and engineers to:

• have a better understanding of the state of the field.

• find connections between different research assets.

• find gaps in the current knowledge.

1

Page 6: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

All this can prove very beneficial to those involved in the field of SaS since they can betterasses what already existing research solves problems they face and they can asses whereknowledge gaps exist.

1.4 Objectives

The final objective of this paper is the visualization tool for the state of the art of SelfAdaptive Systems. However, in order to achieve that final goal, there are a few othergoals that need to be achieved:

1. O1 Identify the characteristics of SaS on which to base the visualization.

2. O2 Identify the objectives that the visualization tool should achieve.

3. O3 Develop the tool in accordance to allow the visualization of the state of the artof SaS.

Furthermore, in order to help guide research two research questions were definedstarting from the objectives above:

• RQ1 - What are the characteristics of a Self Adaptive System?

• RQ2 - What is the importance of visualization of the state of the art of Self AdaptiveSystems?

Once all the objectives are achieved the final results should be twofold:

• A taxonomy for the body of work on Self-Adaptive Systems that is based on thecharacteristics of Self-Adaptive Systems.

• A tool that, based on the taxonomy, allows for easy visualization of the state of theart of the field of SaS.

1.5 Target group

The target group of this paper is everyone interested in visualizing and browsing the stateof the art of Self-adaptive Systems. However, engineers and researchers have the most togain since they will be able to clearly see what research has been done and what needs tobe done to further the field.

1.6 Outline

The remainder of the paper will concentrate on discussing the process of developing thetool as well as on presenting the tool itself. Section 2. will discuss the research methodsused. Section 3. will provide more details on self adaptive systems and will further arguethe need for visualizing the state of the art of self-adaptive systems. In Section 4. theprocess of deriving the taxonomy will be explained and certain aspects of the developmentprocess of the tool will be discussed. Section 5. presents the taxonomy. In Section 6. thetool is presented. Section 7. will cover a discussion on whenever the tool achieves itsobjectives and finally Section 8. adds an ending conclusion.

2

Page 7: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

2 Method

In order to achieve the objectives of this paper there is a two step process: first a taxonomy(or classification system) has to be established (you can find more information about it insubsection 2.2). After establishing the taxonomy a visualization tool has to be built usingthe taxonomy as a base for the visualization.

Furthermore to help guide the process of establishing the taxonomy and, ultimately,implementing the visualization tool, the research questions mentioned in Section 1.4 weredefined.

2.1 Activities

As mentioned above the process of achieving the objectives has two steps. The firststep is establishing the taxonomy. The activities included in this step are a lower scalesystematic literature review as well as more thoroughly identifying the objectives that thetool needs to achieve. The process for deriving the taxonomy is discussed in more detailin subsection 2.2.

The second step is developing the tool. This activity is composed of the developmentprocess itself as well as a software planning and design phase where important aspectsand decisions are discussed.

After the solution is developed, said solution needs to be evaluated. The first steps ofthe evaluation start during the development process through an informal testing process.Finally, the developed solution is evaluated through a discussion that weights wheneverit accomplishes its objectives, what limitation it has and most importantly, it looks atwhenever the tool adds value to the activities of its intended target group.

2.2 Deriving the taxonomy

The method used for deriving the taxonomy follows the standard practices of the sys-tematic literature review method [3]; however, at a lower scale due to time and workloadconstraints. Since the visualization tool is aimed explicitly at Self-Adaptive Systems pa-pers will only be extracted from venues that are dedicated to the field of Self-AdaptiveSystems. As such papers will only be extracted from the following two venues (one con-ference and one journal):

1. ACM Transactions on Autonomous and Adaptive Systems

2. International Symposium on Software Engineering for Adaptive and Self-ManagingSystems (SEAMS)

This approach results in less effort needed to make sure that the extracted papers are on thetopic of SaS, which means more work can be put in applying the other exclusion/inclusioncriteria and in classifying the papers.

2.2.1 Exclusion/Inclusion Criteria and Extracted Papers

Although all the papers are extracted from sources that are specialized on Self-Adaptivesystems further filtering is needed. As such the following exclusion/inclusion criterion isdefined:

• The paper must describe and discuss the implementation of a Self Adaptive System.

3

Page 8: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

In total 82 papers are extracted from SEAMS 2019, SEAMS 2018, TAAS Volume 14and TAAS Volume 13. After applying the inclusion/exclusion criterion only eight papersare left.

Title Publication1 TRAPPed in Traffic? A Self-Adaptive Framework for Decentralized Traffic Optimization [4] Seams 20192 Efficient Analysis of Large Adaptation Spaces in Self-Adaptive Systems using Machine Learning [5] Seams 20193 Defeating Denial-of-Service Attacks in a Self-Managing N-Variant System [6] Seams 20194 Adapting a System with Noisy Outputs with Statistical Guarantees [7] Seams 20185 Self-Adaptation Made Easy with Blockchains Seams 2018 [8]6 Model-Based Response Planning Strategies for Autonomic Intrusion Protection [9] TAAS Volume 13, Issue 17 SOD: Making Smartphone Smart on Demand with Radio Interface Management [10] TAAS Volume 13, Issue 38 Improving Data-Analytics Performance Via Autonomic Control of Concurrency and Resource Units [11] TAAS Volume 13, Issue 3

Table 2.1: Extracted papers

4

Page 9: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

3 Some Theoretical Points

Before continuing it is important to explain Self-Adaptive Systems in more detail, as wellas cover other theoretical aspects regarding the problem that this thesis project tackles.

3.1 Self-Adaptive Systems

According to [12], in the most general sense, an adaptive system can be defined as "a setof elements which interact with each other and has at least one process which controlsthe system’s adaptation". A common example of such a systems are the evolutionarybiological systems [12] that can found in biology. Martin et al [12] continues by arguingthat adaptation is a process that sustains the interdependence between the structure, thebehaviour and the environment of a system. In our case, Self-Adaptive Systems haveone more component: the "Self", or in other words the system is able to autonomouslyinitiate and manage the adaptation process [1]. The way self-adaptation is often achievedor managed is through feedback loops [13].

3.1.1 Feedback Loops

According to Brun et al.[13] feedback loops are the generic mechanism for self-adaptation.A feedback loop is generally comprised of four main activities: collect, analyze, decide,act [13]. In the context of Self Adaptive Systems the most commonly used feedback loopis MAPE-K (monitor-analyze-plan-execute over a knowledge base) [13]. The MAPE-Kfeedback loop was first presented and explained in the paper "An architectural blueprintfor autonomic computing" by the IBM Corporation [14]. The following 5 paragraphs willexplain each component or phase of the MAPE-K loop.

Monitor The Monitor component of the system gathers information about itself andabout its environment, for example a system could be gathering performance information,i.e. memory usage.

Analyze In this phase the system analyzes the information gathered during the monitorphase as well as the previous knowledge (See the Knowledge component). During thisphase the system decides whenever it needs to trigger the adaptation process.

Plan In the Planning phase the system decides and/or plans the adaptation process. Inother words, the system analyzes the adaptation space (the entirety of all adaptation pos-sibilities) and, based on the results of the Analyze phase and of the previous knowledge(the Knowledge component) the system calculates the best possible adaptation.

Execute During this phase the system executes on the planned adaptation. It is in thisphase where the adaptation essentially takes place.

Knowledge The knowledge component is not an active phase like the previously dis-cussed ones. However this component is essential to the MAPE-K loop [14]. The Knowl-edge component represents all the data (historical and actual) that the system has accessto. The role of this knowledge base is to help the other 4 active components to work moreefficiently towards the desired outcome of the system.

5

Page 10: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

3.1.2 Engineering Approaches

Macias et al.[1] identifies multiple approaches for engineering self-adaptive systems: ex-ternal control mechanisms, component based software engineering, model-driven, nature-inspired engineering, multiagent systems and feedback systems.

External control mechanisms One of the best known examples of external controlmechanisms is proposed in the paper "Rainbow: architecture-based self-adaptation withreusable infrastructure" by Garland et al. [15]. According to the aforementioned pa-per external control mechanisms are advantageous because they separate the concernsof the system from the concerns of the self-adaptation. Furthermore external controlmechanisms can be used to add self-adaptation to systems that have not been built asself-adaptive [15].

Component based software engineering In component base software engineering (CBSE)software systems are split in loosely coupled components with an emphasis on separationsof concerns. One example of research that builds on CBSE is Genie [16], a tool that allowsmodelling, generation and operation of component-based self adaptive systems.

Model-driven engineering In model driven engineering development is driven by con-ceptual representation of the available knowledge (models). The paper "Model-DrivenArchitectural Monitoring and Adaptation for Autonomic Systems" by Vogel et al.[17]describes a model-driven approach to engineering self adaptive systems.

Nature-inspired engineering According to [13] nature-inspired engineering is a rela-tively new research area. As the name suggests nature-inspired engineering tries to applyprinciples found in natural systems to engineer self-adaptive systems.

Multiagent systems According to [18] multiagent systems are decentralized self-adaptivesystems formed by autonomous components (agents) that work together to solve problemsthat are beyond their individual capabilities. Weyns et al.[18] continues by arguing thatthe main advantages of multiagent systems are loose coupling, context sensitivity, andresistance to failure.

Feedback systems Feedback systems are a concept that originates in Control Engi-neering [1]. This approach emphasizes the importance of feedback loops in creatingautonomous systems, claiming that all autonomous systems have some variation of afeedback loop [19], [20].

3.1.3 Application Domains

Another important aspect of Self-adaptive Systems is the application domains in whichthey are used. According to [1] the important application domains for self adaptive sys-tems are: SoS and intelligent infrastructure systems, Sensor networks and embedded sys-tems, social services, manufacturing industry, traffic and transportation and software in-dustry.

6

Page 11: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

3.2 Is There a Need for Visualization?

It is also essential to understand the need for visualization of the state of the art of self-adaptive systems. As mentioned in the introduction of this paper the interest in self-adaptive systems is growing [13] and, together with it the body of work done in the fieldis also growing. To understand the scale of the growths we can see that by using thesearch query "Self-Adaptive System" ACM Digital Library returns 500 thousand results,while IEEE Explore finds 4,623 results. IEEE Explore shows that the papers found arepublished between 1958 and 2020 and by using the time filter function one can see thatonly 183 of these papers were published before 2000, 1299 were published between 2000and 2009 and the remaining 3000 papers were published in the last 10 years. A similartrend can also be seen in ACM Digital Library (see figure 3.1).

Figure 3.1: ACM DL publishing year graph

While this is hardly scientific evidence, it helps to show the influx of new researchin the field of self adaptive systems. This sudden growth in the body of work on self-adaptive systems provides a challenge for researchers and engineers, because it makes itmore difficult to navigate previous research and to identify knowledge gaps.

Data visualization is considered one of the best ways of understanding and analyzingbig and/or complex data sets [21] and, as a result, it can be one solution to the challengeprovided by the sudden increase in complexity and size of the body of work.

7

Page 12: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

4 Research and Development

Most of the time, the best and more accessible way of understanding and analyzing com-plex data is through visualization [21]. In our case, visualizing the body of work on SelfAdaptive Systems can help researchers and engineers in the field to find solutions to com-mon problems and to identify knowledge gaps. The tool that is the final result of thisthesis project is supposed to provide a clear picture of the field of Self-Adaptive systems.In order to achieve its objectives the tool has to fulfill the following requirements:

1. Req 1. The tool has to present the body of work graphically, preferably through agraph or network where each entry is connected based on similarity.

2. Req 2. It must be possible for a user to filter the body of work based on the proper-ties of the Self Adaptive System described in each entry.

3. Req 3. The tool has to present overall statistics for the body of work.

The next step in the process of creating the visualization tool is to establish a taxonomyor classification. After analyzing the extracted papers I found that there are different waysin which the papers can be classified. The most obvious observation is that all the papersconcentrate on one or more steps in the MAPE-K loop [13], for example [5] concentrateson the Analysis step. However the objective of the paper is to classify the entries based onthe Self-Adaptive System they describe. The next section (3.1) will discuss the process ofestablishing the taxonomy based on the systems described by the extracted literature.

4.1 Deriving the Taxonomy

The first step that needs to be taken in order to establish a taxonomy for Self-AdaptiveSystem is to identify the defining characteristics of SaS. As mentioned in the introduc-tion, Self-Adaptive Systems are software systems that can alter (or adapt) themselves atruntime to better suit their environment, recover from errors, or achieve their goals in amore efficient manner. According to the "Modeling Dimensions of Self-Adaptive Soft-ware Systems" paper by J. Anderson et al. [22] the adaptation process has the followingaspects:

1. The goals the system has to achieve.

2. The trigger that forces the system to adapt.

3. The adaptation itself.

4. The effects the adaptation has on the system.

These aspects are further refined and expanded into fully-fledged dimensions to be usedfor modeling new Self-Adaptive Systems as well as evaluating existing Self-AdaptiveSystems. As a result of this, the paper "Modeling Dimensions of Self-Adaptive SoftwareSystems" paper by J. Anderson et al. [22] is a perfect starting point for the taxonomydescribed by this paper.

The following first level dimensions of the taxonomy are defined: Goals, Change,Mechanism, Effects. On top of the four dimensions described in [22] another dimen-sions is taken into consideration: Domain. The domain dimension represents the businessdomain the system in the paper is related to, some examples of possible options are trans-portation, telecommunications, robotics, etc..

8

Page 13: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

After deciding on first level dimensions the next step is to expand into each of thesedimensions and identify key characteristics that can be used for the taxonomy. In the fol-lowing sub-sections the 5 dimensions will be explored more in-depth. All sub-dimensionswill be explained in detail and for the other dimensions, and some individual cases willbe highlighted.

4.1.1 Goals

Arguably, the only reason software systems exist is to help us better complete our tasks,so it is safe to say that the goals of a system are one of the most important aspects of it. Asa result it is important to include the goals as part of the visualization. The main aspectsof a system’s goals that impact the Self-Adaptation process are [22]:

1. Their multiplicity, is it one goal or are there more than one? More than one goalthat the system has to adapt to means more complexity.

2. The goals tendency to evolve over the lifetime of a system.

3. An extension of the previous point is the duration of the goals, or better said howlong are the goals valid over the lifetime of the system. Do they persist or are theyjust temporary?

4. Lastly, if the system has multiple goals, what is their relationship? Are they depen-dent on each other or not?

Now that the main characteristics of the goals are clear, it is time to look at the extractedpapers and asses what degrees do all the sub-dimensions need.

Multiplicity This sub-dimension will only have 2 degrees: Single and Multiple. Fromthe extracted papers we see that the majority of them [6],[4],[8],[7], [11], [9], [10] onlyhave a single goal for the self-adaptation mechanism, for example maintaining security[6].

Evolution and Duration These two sub-dimensions are related to each other, but atthe same time they refer to different ways in which the goals of a system can change.Evolution looks at how a goal evolves or changes itself over the lifetime of a system.Meanwhile Duration assesses whether a goal is valid over the lifetime of a system so, asopposed to Evolution, whether the goal is relevant for the system for a limited time or thesystem’s entire lifetime. In the extracted papers all the goals are referred to as being static(they do not evolve) and permanent (they are valid over the whole lifetime of the system).

Dependency This dimension is only relevant for systems that have more than one goal.One can argue that all systems have multiple goals, however, what the taxonomy is con-cerned with are the goals for self-adaptation and only that goals that were specificallymentioned in the paper. As of right now no paper discusses the dependency between itsgoals.

9

Page 14: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

4.1.2 Change

While the words "change" and "adaptation" have similar meanings [23] this dimensiondoesn’t refer to change as adaptation, but to change as a trigger for the system to adapt.So we can say that changes to the environment, goals, or even the system’s own behaviour(for example in case of errors) are the stimuli that trigger adaptation in Self AdaptiveSystems. This dimension will cover the following aspects:

1. The origin of the stimulus for adaptation.

2. The type of change that occurred.

3. The frequency at which changes occur.

4. The degree to which the changes are anticipated.

Source The source is assessed in relation to the system. So the change can originateinternally to the systems (for example an error) or externally (for example an externalservice needed by the system is no longer available). It is possible however that somesystem can adapt to both internal and external changes. In the extracted papers we seethat they are relatively evenly spread between internal and external changes.

Type This nature of the change is assessed in relation to what changes. Is it the func-tional requirements so the system needs to do something different? then the change isfunctional. Is it the non-functional requirements, for example, the system needs to adaptto more stringent performance standards? Then the change is non-functional. Or maybeone of the technologies used by the system needs to change, for example an update to afirmware. The majority of the systems from the extracted papers tackle non functionalchanges [5], [6], [8], [7], [11], [9], [10].

Frequency Because there can be big differences between the expected lifetimes of thedifferent software systems it is difficult to give clear cut time measurements. As a resultthe degrees for this dimension were chosen in relation to the lifetime of the system: rare,frequent, and uncertain for the cases where it is impossible to quantify.

Anticipation This sub-dimension assesses whether the change was anticipated or not.For the degrees a scale based on the concept of known knowns [24] was chosen. Thedegrees are defined as follows:

1. Known-knowns - the change is certain to occur.

2. Known-unknowns - the change is planned for, but it is not certain to occur.

3. Unknown-knowns - The change is not anticipated, however, the system can adaptto it.

4. Unknown-unknowns - the change is not anticipated and the system cannot adapt toit.

Since the Unknown-unknowns means complete failure of the system to adapt to thechange it is excluded from the final classification.

10

Page 15: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

4.1.3 Mechanism

The mechanism dimension refers both to the adaptation mechanism and to the process ofadaptation itself. This is the most comprehensive dimension of the taxonomy covering abigger amount of aspects of the self-adaptation process. It covers aspects of the adaptationsuch as the type, the adaptation time, the duration, and the triggering of the adaptation,as well as the autonomy, the organization, the scope mechanism. An eighth aspect of themechanism was considered to assess the technique used for self-adaptation, however theextracted papers did not contain enough data to clearly define it.

Type This sub-dimension is similar to the Type sub-dimension of the Change, howeverit covers the type of the adaptation and not the type of stimulus. The degrees chosen are inrelation to what the system has to adapt: its parameters, its behaviour and/or its structure.In the extracted papers the ones that refer to the type of the adaptation they mention it asparametric [4], [8], [7].

Autonomy This sub-dimension assesses whether the system needs outside interventionin order to adapt itself. All the systems in the papers were fully autonomous.

Organization This sub-dimensions is aimed at how the self-adaptation is governed: isit a central component that handles the adaptation or is the responsibility spread acrossthe system. Most of the extracted papers mentioned decentralized adaptation.

Adaptation Time The Adaptation Time dimension seeks to quantify how long the adap-tation process takes, however, as mentioned in the Change - Frequency dimension, be-cause of the differences in the lifetimes of systems no clear cut degrees were feasible.Instead the adaptation time is assessed based on whether a certain amount of time can beguaranteed or not.

Duration Unlike the Adaptation Time sub-dimension the Duration assesses for howlong (in relation to the lifetime of the system) the adaptation is held. Another way toformulate it would be how much time it is between adaptations. The chosen scale is:short term, medium term, long term and uncertain.

4.1.4 Effects

The objective of this dimension is to asses the effects the self-adaptation has on the sys-tem. According to [22] the important aspects are the criticality, the predictability, theoverhead, and the resilience of the adaptation process. However all these dimensions pro-posed in [22] are inappropriate for our situation because quantifying them would requirethe evaluation and comparison of different approaches to solve the same problem whichis not in the scope of this classification. One example of this is the overhead dimensionwhich measures the overhead added to the system on a scale from insignificant to failure,however, there are the following two problems: no one will propose a system or solu-tion that ends in failure and it is hard to quantify the overhead without comparing with adifferent solution to the same problem.

11

Page 16: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

4.1.5 Domain

This dimension is different from the others because it does not have a second layer andit is solely based on the extracted literature with no other support like [22]. Due to theaforementioned limitation this dimension is limited and will be updated with new degreesas the data appears. The extracted papers fall in the following fields: Transportation [4]-[7], Security [6]-[8]-[9], IoT [5]. A few other popular domains such as healthcare andfinancial will be added.

4.2 Developing the visualization tool

With the taxonomy established it is time to look back towards the tool. However there areseveral decisions to be made:

1. Should the tool be web based or native?

2. Should the tool be developed from scratch or an off-the-shelf solution be found andmodified?

One important factor in taking these decisions is finding what is good enough to solve theproblem.

4.2.1 Web vs Native App

The most important factors that are part of these decisions are the target userbase and theresources (time, human, etc.) available. Native applications are generally more resourceconsuming to develop due to platform specific features and limitations, and, most impor-tantly, they have a smaller reach compared to their web counterparts which are not limitedby any platform. A solution past the limited userbase is to develop several versions of theapp for multiple platforms, however, this only exacerbates the effort and resource issuessince it essentially requires developing and maintaining at least 3 different versions forWindows, MacOS, and Linux.

Web applications have no limitations regarding reach and there is no need for multipleplatform specific solutions, however, they are not without fault either. Two major concernsbeing security and performance, however, due to the nature of the tool neither of theseconcerns are relevant. As a result, the best choice is to build the tool as a web application.

4.2.2 Off-the-shelf or custom built?

After deciding on having the tool as a web application the next important decision is todecide whether it is worth the resources and the effort needed to build a new system fromscratch? According to [25] oftentimes the better solution to solving the need for a certainsoftware system is finding one that already fits the requirements rather than building yoursolution. As such, early on it was decided that, if possible, the visualization tool shouldbe built from/adapted from an already existing solution to a similar task.

Luckily a tool that satisfied the needs was found. BioVis Explorer [26] is a visualiza-tion for bioscience visualization techniques develop by ISOVIS Group. After receivingapproval to use the code as a base for our tool the only remaining step was to modify theexisting tool to use the taxonomy established. The tool is presented in Section 5.

12

Page 17: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

5 Taxonomy

This section presents and explains the taxonomy.

5.1 Goals

This dimensions specifically aims to classify the papers based on the goals the system istrying to achieve. It covers the multiplicity of the goals, their evolution, their dependencyon each other and finally for what period of time are they valid for the system. Thisdimension is important because the goals, or better said achieving them is what drives theneed for self adaptation.

5.1.1 Evolution

The evolution sub-dimensions refers to the likeliness that the goals of the system willchange over the system’s lifetime. There are two degrees:

1. Static - the goals of the system are not going to change.

2. Dynamic - the goals are likely to change over the lifetime of the system.

5.1.2 Duration

This sub-dimension looks at how long is a goal valid in the system. More specifically is agoal temporary or persistent. The degrees are:

1. Temporary - the goal is valid only for a limited period of time.

2. Permanent - the goal is valid for the entire lifetime of the system.

5.1.3 Multiplicity

This sub-dimension classifying the papers based on how many goals are present for thesystem. The degrees are:

1. Single - The system has a single goal.

2. Multiple - The system has multiple goals.

5.1.4 Dependency

Finally, this sub-dimension aims to classify based on the relation between the differentgoals (if multiple). The degrees are:

1. Not Applicable - there is a single goal inside the system.

2. Independent - the goals are independent to each other.

3. Dependent - two or more of the goals of the system depend on each other.

13

Page 18: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

5.2 Change

Changes to the environment, goals or even the system’s behaviour (for example, in caseof errors) are the stimuli that trigger adaptation in Self-Adaptive Systems. As such, theChange dimension seeks to classify the body of work based on the changes that can occurduring a system’s lifetime. This classification dimension covers aspects such as: sourceof the change, type of the change, the frequency at which changes happen and, finally, ifthe changes are anticipated or not.

5.2.1 Source

This sub-dimension is aimed at where the changes occurred, more exactly if the adaptationstimuli are coming from inside of the system and/or from outside of the system.

1. External - the stimulus is coming from outside of the system.

2. Internal - the stimulus is coming from inside of the system.

3. Both - The stimulus can be both external and internal.

5.2.2 Type

This sub-dimensions tackles the nature of the change that occurred. It can take any com-bination of the following values:

1. Functional - the purpose of the system has changed and as a result the system hasto adapt its functionality to reflect the change.

2. Non-Functional - the change impacts the non-functional requirements of the sys-tems (such as performance or stability) so the system needs to adapt to improvethem.

3. Technological - the change is aimed at the technological side of the system, i.e.:one of the modules used by the system requires a firmware update.

5.2.3 Frequency

This sub-dimension refers to how often do the changes take place.

1. Rare - the changes are rare.

2. Frequent - the changes are frequent.

3. Uncertain - it is impossible to specify.

5.2.4 Anticipation

This sub-dimension assesses whenever the change is anticipated or not. It has the follow-ing degrees:

1. Known-knowns - the change is certain to occur.

2. Known-unknowns - the change is planned for, but it is not certain to occur.

3. Unknowns-knowns - The change is not anticipated, however the system can adaptto it.

14

Page 19: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

5.3 Mechanism

The mechanism dimension classifies the body of work based on the adaptation mecha-nism implemented by the system. This dimension covers aspects such as the techniqueused, the type of adaptation, the autonomy, the organization, scope, etc. of the adaptationmechanism.

5.3.1 Type

What is the nature of the change, or more specifically what changes in the system? Thedegrees are:

1. Parametric - the adaptation is aimed at the parameters of the system.

2. Behavioural - the system changes its behaviour.

3. Structural - the system changes its structure.

Or any combination of the above.

5.3.2 Autonomy

Is the adaptation mechanism autonomous or assisted by an external entity (human inter-vention or another system)?

1. Autonomous - the system can change without any external interaction.

2. Assisted - the change mechanism needs external intervention in order to achieve theadaptation.

5.3.3 Organization

Is adaptation handled by a single component, or is it distributed across the system?

1. Centralized - a single component is responsible for handling the change

2. Decentralized - the responsibility for handling the adaptation is distributed acrossthe system.

5.3.4 Scope

This sub-dimension refers to where is the adaptation taking place.

1. Local - only one or a few components or subsystems are changing.

2. Global - the whole system is subject to adaptation.

5.3.5 Adaptation Time

This sub-dimension refers to the time passed from when the adaptation was triggered untilthe system is fully adapted. It has the following 2 degrees:

1. Guaranteed - the adaptation is guaranteed to take place within a certain time limit.

2. Best effort - no exact time limit can be guaranteed.

15

Page 20: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

5.3.6 Duration

As opposed to adaptation time, these dimensions handle the time between adaptations andit has the following degrees:

1. Short - the time between adaptations is short relative to the system’s lifetime.

2. Medium - the time between adaptations is medium relative to the system’s lifetime.

3. Long Term - the adaptation is maintained for a long time, relative to the system’slifetime.

4. Uncertain - it is uncertain how often a system adapts.

5.3.7 Triggering

Finally, this sub-dimension is aimed at how the change is triggered.

1. Event triggered - the adaptation is triggered by an event, for example an error oc-curring in the system.

2. Time triggered - the adaptation is triggered in relation to time, for example at acertain time interval.

5.4 Domain

This dimension covers the field of the application:

1. Telecommunications

2. Transportation

3. Healthcare

4. Security

5. Internet of Things

6. Financial and E-Commerce

16

Page 21: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

6 SaSVis: Features and Presentation

This section will present the Visualization tool which is the final objective of this thesisproject.

The tool, named SaSVis, is developed based on the BioVis Explorer1 tool [26]. It is asingle-page web application that is designed to be simple, intuitive, and easy to use. Thecode can be found on Github 2.

6.1 Why BioVis?

The choice to develop SaSVis based on the existing BioVis Explorer visualization toolwas taken because BioVis Explorer already achieves most of the objectives that SaSVisstarted out to achieve. First and foremost it presents its entries in a graphical mannerbased on a classification system. It also allows the user to filter and customise the papersthey are browsing based on their needs and interests.

Another advantage of using BioVis Explorer as a base is that it already implementsother features that would have proven costly and difficult to implement from scratch, forexample the similarity calculation based on Jaccard index.

6.2 Main Features

The entries in the tool are presented initially in an empty graph, each paper being a nodeor a vertex. The layout of this graph is based on a galaxy metaphor [26], which meansthat similar entries tend to be grouped closer together, thus allowing users to quickly getan idea of how cohesive the body of work is. The similarity calculation is based on theJaccard similarity coefficient, essentially calculating how different the entries are on ascale from 0 (completely different) to 1 (the same). The calculation is based on the yearof publication, the author(s) and where the paper fits in the taxonomy. The user can alterthis calculation by assigning different weights to the aforementioned aspects.

Figure 6.2: How similar entries are clustered together. Screenshot from BioVis Explorersince it has a larger dataset

1Available at: https://biovis.lnu.se/2Available at: https://github.com/cristianmtb/SaSVis

17

Page 22: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Furthermore the tool can draw edges between a selected entry and other entries thathave a similarity rating bigger than a certain limit called cutoff for similarity (that canbe adjusted by the user). This features allows the user to quickly and easily find papersrelated to the one that he or she is currently looking at.

Finally the tool supports comprehensive filtering of the entries based on a searchquery, based on time filtering and most importantly based on the taxonomy.

All these features result in a tool that makes it easy for the end user to visualize,explore and navigate the body of work on Self-Adaptive Systems based on their owninterests and needs.

6.3 Tool presentation and demonstration

Upon accessing the tool the user is presented with a view consisting of the following 3elements: on top a normal navigation bar (see section 5.3), on the left side a toolbar wherethe entries can be filtered as well as the weights of the connection between them adjusted(see section 5.2), and, finally, the main panel which contains the entries (see section 5.1).

Figure 6.3: View of the tool. The blue rectangle marks the main panel while the redrectangle marks the toolbar

6.3.1 The main panel

The main panel presents the entries as nodes in an empty graph [27] where the distancebetween the nodes is calculated based on the similarity between them (the smost similarones are grouped closer together), this calculation is based on the Jaccard Index. Thispanel can be navigated by clicking and dragging on an empty space and it can be zoomedwith the mouse scroll.

By hovering over an entry (Figure 5.2) edges will be drawn between it and otherentries that have the similarity above the cutoff rate (see section 5.2). On a right click theentry will be selected and the edges will be shown until the entry is deselected (either byright clicking it again or by selecting another entry).

18

Page 23: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Figure 6.4: Hover action on an entry

Another operation supported on the entries is left clicking them (Figure 5.3). Thiswill open a modal panel with detailed information on the selected entries such as the title,authors, link, and download for a .bib bibliography file.

Figure 6.5: Details modal

6.3.2 Toolbar

The toolbar is essentially the control panel of the application. The toolbar is composedof two tabs: The Home tab and the Advanced tab. The home tab is where entries canbe filtered by year, by category (by default all categories are included), and/or by searchquery.

19

Page 24: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Figure 6.6: Home tab Figure 6.7: Advanced tab

On the other hand, the advanced tab holds controls related to the similarity and layoutconfiguration. The first control is the Cutoff for similarity which alters what edges aredrawn between the entries. In figure 5.5 we see a cutoff of 0.31, which means that anedge will be drawn only between entries with a similarity higher than 0.31. The layoutconfiguration controls what "weight" each of the different factors (all the categories plusyear and author) have when calculating the similarity. Since the distance between entriesis based on the similarity rating changing the weights will also modify the layout of thegraph.

6.3.3 Navigation Bar

The navigation bar is a misnomer in this situation since there is no navigation goingon, however, it houses access to some of the important parts of the visualization tool.In Figure 5.1 one can see that there are 5 buttons on the navigation bar: Help, About,Summary, Add entry, and Other Surveys. The first 4 buttons open modal windows whilethe last one is a drop-down menu.

Help This modal window holds text that explains how to use the tool.

About This modal window holds information about the tool and the entries. It essen-tially holds statistics regarding the spread of the entries across categories as can be seenin Figure 5.6.

20

Page 25: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

Figure 6.8: Details modal

Summary This window (Figure 5.7) shows an overview of the entries and their assignedcategories.

Figure 6.9: Details modal

Add Entry This modal window holds a form with instructions towards adding yourown entry to the system.

Other Surveys This menu link towards visualization tools created by ISOVIS Group,the authors of Biovis Explorer [26].

6.4 Future Improvements

As with every software system there are several areas in which SaSVis can be improvedin the future. Right now there are two main drawbacks that the current approach has andboth have to do with how entries are managed.

21

Page 26: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

First of all the entries are stored in a JSON file on the disk. This makes handling largesets of entries difficult, furthermore it can pose a security risk if other agents are able toaccess the file in question. Ideally the entries will be moved into a secure database,

The second drawback is related to how new entries are created. After a user inputs anew entry, the administrator has to confirm and manually enter the data in the aforemen-tioned JSON file. A solution to this problem would be to automatise the entry process.The administrator confirmation is a step that also adds inefficiency in the process, howeverit prevents spam data from being entered in the system which is more important.

22

Page 27: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

7 Analysis and Discussion

Purely from a goal oriented point of view the tool achieves it desired purpose, namelyit allows the visualization of the state of the art of Self-Adaptive Systems. However itis very important to establish if the tool adds value to the day to day work of the targetaudience: the researchers and engineers interested in the field of Self-Adaptive Systems.

While "added value" is hard to quantify, the way success is measured in this discussionis based on whenever the tool helps researchers and engineers to navigate the body of workof Self-Adaptive Systems.

One of the main features that helps with the navigation of a large body of work is thedesign based on a galaxy metaphor [26], which means that entries are placed closer toother similar entries, thus creating clusters (or galaxies) of generally similar entries. Theeffect of this is twofold: first, by clustering based on similarity, it is easier for someone toidentify the groups of similar research assets. Secondly, as a consequence it is also easyto identify papers which are similar to the paper one is interested for just by looking atwhich papers are close by.

Another feature, that ties in with the previous argument, is the way the similarity cal-culation can be adjusted: the user can adjust the weight each aspect has on the similaritycalculation. For example if the user is only interested in the goals of the SaS he/she canturn the weights of the other aspects to 0 and the tool will only calculate the similaritybased on the goals of a system. This is important because it affects both the layout andthe edges that are drawn between entries.

Speaking of the edges drawn between entries, this is another important feature thathelps by clearly marking entries that have a similarity rating to the currently selectedpaper that is bigger than a certain limit. This helps the user to clearly identify similarpapers to the one selected.

Finally, the tool allows the user to filter the entries based on three criteria (time, searchquery and based on the the taxonomy). This should provide enough customization to suitthe interests of each the users.

However the tool has one drawback: its limited scope. The tool is visualizing the bodyof work based on the characteristics of the self adaptive system the paper discusses. As aresult the body of work that the tool takes into account is limited by the fact that it mustdiscuss the implementation of a Self-Adaptive System. Based on the data extracted forthe process of deriving the taxonomy only around 10% of the papers fulfill this restriction.

In spite of the limited scope, the tool does achieve it’s objective of "adding value"in the work of researchers and engineers by providing them with plenty useful featuresthat they can use to more easily navigate, explore and search the body of work on Self-Adaptive Systems.

23

Page 28: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

8 Conclusion and Future Work

The thesis project has achieved its objective of defining the objectives for and imple-menting the visualization tool, and, furthermore, the tool achieves its intended purpose.However, the scope of the tool is limited by the fact that it only takes in account papersthat discuss the implementation of a self adaptive mechanism and, as a result, it only cov-ers around 10% of the body of work. This limitation leaves room for other approachesthat tackle different aspects of the body of work, for example, based on the MAPE-Kstep(s) the paper discusses.

Ultimately the tool can help researchers and engineers to visualize the state of the artof the field of Self-Adaptive Systems and, as a result, it helps them to understand whatresearch has been done and to identify the gaps in current knowledge.

24

Page 29: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

References

[1] F. D. Macías-Escrivá, R. Haber, R. del Toro, and V. Hernandez, “Self-adaptive sys-tems: A survey of current approaches, research challenges and applications,” ExpertSystems with Applications, vol. 40, no. 18, 2013.

[2] S. Vegas, N. Juristo, and V. R. Basili, “Maturing software engineering knowledgethrough classifications: A case study on unit testing techniques,” IEEE Transactionson Software Engineering, vol. 35, no. 4, 2009.

[3] B. A. Kitchenham and S. Charters, “Guidelines for performing systematic literaturereviews in software engineering,” Technical Report EBSE-2007-01, 2007.

[4] I. Gerostathopoulos and E. Pournaras, “Trapped in traffic? a self-adaptive frame-work for decentralized traffic optimization,” in 2019 IEEE/ACM 14th Interna-tional Symposium on Software Engineering for Adaptive and Self-Managing Systems(SEAMS), 2019.

[5] F. Quin, D. Weyns, T. Bamelis, S. S. Buttar, and S. Michiels, “Efficient analysis oflarge adaptation spaces in self-adaptive systems using machine learning,” in 2019IEEE/ACM 14th International Symposium on Software Engineering for Adaptiveand Self-Managing Systems (SEAMS), 2019.

[6] J. Jones, J. D. Hiser, J. W. Davidson, and S. Forrest, “Defeating denial-of-serviceattacks in a self-managing n-variant system,” in 2019 IEEE/ACM 14th Interna-tional Symposium on Software Engineering for Adaptive and Self-Managing Systems(SEAMS), 2019.

[7] I. Gerostathopoulos and E. Pournaras, “Adapting a system with noisy outputs withstatistical guarantees,” in 2018 IEEE/ACM 13th International Symposium on Soft-ware Engineering for Adaptive and Self-Managing Systems (SEAMS), 2018.

[8] P. E. Sedgewick and R. de Lemos, “Self-adaptation made easy with blockchains,” in2018 IEEE/ACM 13th International Symposium on Software Engineering for Adap-tive and Self-Managing Systems (SEAMS), 2018.

[9] S. Iannucci and S. Abdelwahed, “Model-based response planning strategies forautonomic intrusion protection,” ACM Trans. Auton. Adapt. Syst., vol. 13, no. 1,Apr. 2018. [Online]. Available: https://doi-org.proxy.lnu.se/10.1145/3168446

[10] M. Brocanelli and X. Wang, “Sod: Making smartphone smart on demand withradio interface management,” ACM Trans. Auton. Adapt. Syst., vol. 13, no. 3, Mar.2019. [Online]. Available: https://doi-org.proxy.lnu.se/10.1145/3275521

[11] G. J. Lee and J. A. B. Fortes, “Improving data-analytics performance via autonomiccontrol of concurrency and resource units,” ACM Trans. Auton. Adapt. Syst., vol. 13,no. 3, Mar. 2019. [Online]. Available: https://doi-org.proxy.lnu.se/10.1145/3309539

[12] J. A. M. H., J. de Lope, and D. Maravall, “Adaptation, anticipation and rationality innatural and artificial systems: computational paradigms mimicking nature,” NaturalComputing, vol. 8, 2009.

25

Page 30: Bachelor Degree Project A Visualization Tool for the State of the …1470526/... · 2020. 9. 24. · Bachelor Degree Project A Visualization Tool for the State of the Art of Self

[13] Y. Brun, G. Di Marzo Serugendo, C. Gacek, H. Giese, H. Kienle, M. Litoiu,H. Müller, M. Pezzè, and M. Shaw, Engineering Self-Adaptive Systems throughFeedback Loops. Berlin, Heidelberg: Springer Berlin Heidelberg, 2009, pp.48–70. [Online]. Available: https://doi.org/10.1007/978-3-642-02161-9_3

[14] “An architectural blueprint for autonomic computing,” IBM, Tech. Rep., Jun. 2005.

[15] D. Garlan, S. . Cheng, A. . Huang, B. Schmerl, and P. Steenkiste, “Rainbow:architecture-based self-adaptation with reusable infrastructure,” Computer, vol. 37,no. 10, pp. 46–54, 2004.

[16] N. Bencomo, P. Grace, C. Flores, D. Hughes, and G. Blair, “Genie,” in 2008ACM/IEEE 30th International Conference on Software Engineering, 2008, pp. 811–814.

[17] T. Vogel, S. Neumann, S. Hildebrandt, H. Giese, and B. Becker, “Model-drivenarchitectural monitoring and adaptation for autonomic systems,” in Proceedings ofthe 6th International Conference on Autonomic Computing, ser. ICAC ’09. NewYork, NY, USA: Association for Computing Machinery, 2009, p. 67–68. [Online].Available: https://doi-org.proxy.lnu.se/10.1145/1555228.1555249

[18] D. Weyns and M. Georgeff, “Self-adaptation using multiagent systems,” IEEE Soft-ware, vol. 27, no. 1, pp. 86–91, 2010.

[19] J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Com-puting Systemss. Wiley-IEEE Press, 2004.

[20] G. F. Franklin, D. J. Powell, and A. Emami-Naeini, Feedback Control of DynamicSystems, 4th ed. USA: Prentice Hall PTR, 2001.

[21] Data visualization beginner’s guide: a definition, examples, and learning resources.accessed on 11th may 2020. [Online]. Available: https://www.tableau.com/learn/articles/data-visualization

[22] J. Andersson, R. de Lemos, S. Malek, and D. Weyns, “Modeling dimensions ofself-adaptive software systems,” in Software Engineering for Self-Adaptive Systems.LNCS 5525, B. H. C. Cheng, R. de Lemos, H. Giese, P. Inverardi, and J. Magee,Eds. Springer, Berlin, Heidelberg, 2009, pp. 27–47.

[23] "Adapt"., Cambridge Dictionary. Accessed May 9, 2020. [Online]. Available:https://dictionary.cambridge.org/dictionary/english/adapt.

[24] A. Sutcliffe and P. Sawyer, “Requirements elicitation: Towards the unknown un-knowns,” in 2013 21st IEEE International Requirements Engineering Conference(RE), 2013, pp. 92–104.

[25] Brooks, “No silver bullet essence and accidents of software engineering,” Computer,vol. 20, no. 4, pp. 10–19, 1987.

[26] A. Kerren, K. Kucher, Y.-F. Li, and F. Schreiber, “Biovis explorer: A visual guidefor biological data visualization techniques,” PLOS ONE, vol. 12, no. 11, pp. 1–14,11 2017. [Online]. Available: https://doi.org/10.1371/journal.pone.0187341

[27] Empty graph. accessed on 14th may 2020. [Online]. Available: https://mathworld.wolfram.com/EmptyGraph.html

26