arXiv:2101.00125v1 [cs.SE] 1 Jan 2021 • ercsltost yai,pocie tutrlsoluti structural proactive, par dynamic, reactive, [147]. to static, solutions SASs metric from on range theory approaches foundational Self-adaptive establishing the as of well establishment (ICAC) as as Computing the Autonomic to on such Conference led International challenge properties This an protection. self-management self-healing, self-optimization, provide self-configuration, to were a called [199]. is [149], system (SAS) a system Such the self-adaptive goals. ensure its to run of environment) at (or achievement behavior context continual its its adapt in to changes able and to be time is to functionality system it increased a Hence, for the systems. desirable information de- to modern be due of can is over- connectedness a than This are specify states for. there to system signed because beneficial potential time more longer design whelmingly no at is behavior It system’s outdated. s these are of requirements tems in-isolation original the evolved, these with expect integrated Users highly downtime. and PCs). minimal connected complex always or be more to phones and systems mobile networks) distributed current sensor more (e.g., servers, become have cloud systems (e.g., these t In age, PCs). narrowly or current phones a mobile with early (e.g., devices function de- other prescribed increased from operated systems isolation and these in past, of the standalone quantity In systems. increased these the on mands to due is This I I 1 efAatv ytm:ASseai Literature Systematic A Systems: Self-Adaptive r rwn oecmlxadmr evsv nsociety. in pervasive more and complex more growing are NFORMATION .Wn,M anr n .Ted r ihteSho fComput of School the [email protected] markus.wagner@a with 5005. [email protected], are SA, Treude E-mail: Adelaide, Adelaide, C. of and University Wagner, Science, M. Wong, T. ntegadcalnepeetdb B 19,SASs [149], IBM by presented challenge grand the In rapidly has systems information of nature the As eo h ytmo ntecnet(revrnet.Teunder The environment). (or context the on or cont system being the by on characterized be are systems computin These autonomic (SAS). the system to contributed have and established nrae eerhatvt vrtels 0yas Several years. 20 last the over activity research increased Abstract eiwit efaatv ytm sn the using t systems of self-adaptive understanding into systematic review r a literature lack of we number attributes, a quality Despite environment. its in changes xmlr,apidt ra uha ewrig e service web networking, as such im areas practical to over applied tha papers exemplars, review theoretical literature from the area of research basis the the havi formed category contents each its with of categories, pape five Each of papers. relevant consisted 293 matrix at arrive to steps successive NTRODUCTION eiwArs aeoisadDomains and Categories Across Review Capoe yIMsvso fatnmccmuigpprin paper computing autonomic of vision IBM’s by —Championed ytm n h eie htcnanthem contain that devices the and systems eec og aksWge,adCrsohTreude Christoph and Wagner, Markus Wong, Terence bpcmue cec bibliography science computer dblp delaide.edu.au, ecretsaeo h r.Ti ae otiue systema a contributes paper This art. the of state current he self- d pne 0yas(9022) ecaatrz h maturat the characterize We (1990-2020). years 30 spanned t ofrne SAS AO CC n okhp SSY have (SISSY) workshops and ICAC) SASO, (SEAMS, conferences lmnain omr oitcadgnrcapoce,fra approaches, generic and holistic more to plementations gmlil trbts h trbtso ahppr along paper, each of attributes The attributes. multiple ng veso pcfi set fSS agn rmterrequire their from ranging SASs of aspects specific on eviews nweg aei erho e ido ytm–aself-adap a – system of kind new a of search in base knowledge g ons. ,adrbtc,wt uho h eetwr ouigo o a IoT on focusing work recent the of much with robotics, and s, a rtclyaaye n aeoie noa attribute an into categorized and analyzed critically was r ys- x-wr n a c nta wrns.Teatoscarried actions The awareness. that on act can and ext-aware he a- yn olo A stessandaheeeto t ol d goals its of achievement sustained the is SAS a of goal lying er ✦ es bpcnan itrclsasoso h database the of snapshots historical pro- contains the Dblp from literature cess. effectiv science point, non-computer starting science a eliminating computer on as dblp database review the (dblp) systematic bibliography used our we in systems, include self-adaptive to literature select To ytm ntels v er.Blw efis rsn our present overview systems. first self-adaptive chronological on we a research Below, of provide years. we five before last methodology In- the and in self-adapt (IoT) dominated systems Things have (IaaS) of Service a much Internet as for frastructure years, domain foundational application featuring the as of field period the in up services prevalent web While were ramping exemplars. and the frameworks forthwith to were extended which to approaches, generic 2000s and holistic more early frameworks the and implementations in practical papers and based 1990s model the and in theoretical from years, 30 over area categories, time, attributes. across related developments and and trends sum and marizes Empirical) systems Analytical, self-adaptive Perspective, (Technologic of Methodology, categories into five lack into papers review categorizes a which literature is contribu systematic we work, there this a In [234], all systems. of self-adaptive SAS overview of an self- aspects providing of machine and of spanning context and work aspects systematic [168], the attributes specific in quality claims of learning [295], [281], [251], art evidence requirements the and as such of systems adaptive state the acterize [279]. commonly AI/ML approaches of power plans latter the predetermined the leverage in while based configurations are and approaches former The M 2 u eiwcaatrzstedvlpeto research a of development the characterizes review Our char- to conducted been have reviews systematic While 03 h uooi optn eerhfil a seen has field research computing autonomic the 2003, ETHODOLOGY sadtbs.W lee h eod ytmtclyin systematically records the filtered We database. a as ihtesummary the with i literature tic eok,and meworks, arx This matrix. o rcs of process ion et to ments dIaaS. nd u could out been espite tive ive ely al, te 1 - 2

TABLE 1 TABLE 3 Words after self- Words after self-organizing

Word Frequency Word Frequency organizing 2,981 maps 706 adaptive 1,682 map 582 stabilizing 632 neural 165 organization 564 feature 109 organized 515 networks 79

TABLE 2 TABLE 4 Words after autonom* Words after self-adaptive

Word Frequency Word Frequency vehicles 576 systems 159 mobile 554 differential 77 driving 407 software 76 systems 399 and 31 agents 399 evolutionary 27

enabling reproducibility of results. All results in this review was deemed as acceptable. Disagreements were resolved were produced using the snapshot file dblp-2020-03-02.xml. after confirming any ambiguities and biases. This step re- The methodology is broken down into five main stages: Pre- sulted in a list of words to exclude from the final data set. filtering, word frequency filtering, venue selection, abstract After omitting papers with the excluded phrases in the title, reading, and snowballing to reduce a first subset of 35,903 the number of publications reduced to 20,137. publications to 293 publications. The titles of the 20,137 publications were manually scanned for relevance, resulting in 872 articles. We again 2.1 Pre-Filtering assessed the validity of this step using Cohen’s κ by having two authors identify relevant papers in a randomly selected The dblp data containing 4,964,345 papers was filtered to subset of 50 papers. The value calculated was 0.73 which include only journal articles and papers published in confer- was deemed acceptable. ence proceedings, with a page count of over five to focus our analysis on substantial and fully evaluated research contri- butions which appeared in peer-reviewed venues. Capital- 2.3 Venue Selection ization was removed to assist with the filtering process. This As a quality gate, we only considered papers published in established the base dataset. The base dataset was searched A*/A conferences or journals, as determined by the CORE with grep for two terms: self-* and autonom-* to produce ranking.1 46% of all journals and 55% of all conferences two separate datasets. These two keywords were deemed listed by CORE are ranked as A*/A. Papers published in as broadly relevant to the study area. The total number of B-ranked venues were included if they came from a journal publications matching these keywords was 35,903. or conference that was relevant to the study area. This step reduced the number of candidate papers to 298. 2.2 Word Frequency Filtering Since the number of papers was too large to categorize man- 2.4 Abstract Reading and Attribute Matrix ually, we further filtered papers based on additional words The abstracts of the 298 candidate papers were then read in the paper titles. We first determined the distribution of to categorize each paper into one of five categories based words after the keywords self-* and autonom*. Tables 1 off the paper categorization introduced by the ICSE 2014 and 2 show the distribution of the five most frequent words conference:2 for self-* and for autonom*. • Because we observed that self-organizing and self- Analytical: A paper in which the main contribution adaptive frequently co-occurred with terms irrelevant to relies on new algorithms or mathematical theory. • self-adaptive systems (such as self-organizing teams), we Empirical: A paper in which the main contribution conducted a second word frequency analysis to identify is the empirical study of a software engineering common words appearing after self-organizing and self- technology or phenomenon. • adaptive. The top results are shown in Tables 3 and 4. Technological: A paper in which the main contribu- Two of the authors manually and independently an- tion is of a technical nature. alyzed all words occurring after ‘self-’, ‘autonom*’, ‘self- 1. The CORE rankings http://portal.core.edu.au/conf-ranks/ and organizing’, and ‘self-adaptive’ at least 20 times to indicate http://portal.core.edu.au/jnl-ranks/ are maintained by the Comput- those that were out of scope (such as self-organizing teams) ing Research and Education Association of Australasia and are used for exclusion. To ensure the validity of this process, we world-wide. κ 2. The categories published in the ICSE 2014 call for papers at calculated inter-rater reliability using Cohen’s , see Table 5. https://2014.icse-conferences.org/research provide one of the most The Cohen’s κ value was greater than 0.7 in all cases which comprehensive categorization schemes for software-related papers. 3

TABLE 5 TABLE 6 Inter-rater agreement Papers per category

Dataset Cohen’s κ Category Count Autonom* 0.828 Technological 105 Self-* 0.748 Methodology 79 Self-organizing * 1.000 Perspective 51 Self-adaptive * 1.000 Analytical 35 Empirical 23 50 randomly sampled titles 0.730 Total 293

• Methodological: A paper in which the main contri- bution is a coherent system of broad principles and tributions (26%) and frameworks (14%). Like other practices to interpret or solve a problem. categories, the number of case studies vs. simulations • Perspectives: A paper in which the main contribution follows roughly a 60/40 split. A substantial number is a novel perspective on the field as a whole, or part of papers are extensions of previous work (31%), and thereof. almost all (94%) papers provide a formalization. In terms of evaluation methods, the largest group are Once each paper was categorized, an attribute matrix quantitative (37%), followed by case studies (29%) for each category was developed. Within each category, the and comparisons (17%). abstract and a pass of the full paper was read to develop • Empirical: Most of the empirical papers focus on run- an understanding of the common types of attributes for a time (74%) instead of design-time, with an explicit category. This was done in an iterative approach. Once the monitoring (83%) and/or adaptation (87%) strategy. attribute matrix was finalized, all the papers from each cat- Studies again follow the 60/40 split between case egory were categorized using the matrix. This step resulted studies and simulations. The adaptation techniques in 28 papers being discarded as irrelevant. Note that each focus on parameters (87%) rather than components category has its own attribute matrix since not all attributes (9%), and evaluation is mostly quantitative (57%) or apply to all categories. The complete matrices with the done through case studies (39%). characterizations of all papers are shown at the end of the paper and summarized here: We further identified the application domain of each paper, if applicable. The application domains are shown in • Technological: 81% of papers in this category follow the attribute matrices at the end of the paper and the top a closed circle approach as opposed to human in 10 most common application domains are summarized in the loop, and implementations cover tools (24%), Table 7. models (23%), frameworks (22%), languages, archi- tectures, and algorithms. 60% of the papers can be 2.5 Snowballing characterized as case studies, the remaining 40% rely on simulations. The vast majority of contributions To capture additional papers, snowballing was used on the are novel (87%), compared to a few extensions of papers included in the attribute matrix. Where possible, previous work. The methods for evaluation range each paper was added to a Scopus list where the references from quantitative approaches (44%) and case studies were extracted automatically. This step captured 90% of the (35%) to comparisons (15%). papers in the matrix. Any paper that was referenced more • Methodology: The majority of papers in this category than five times was eligible to be considered. These papers (70%) introduce new approaches for self-adaptive were then filtered through the same criteria as the original systems, followed by frameworks (15%), analysis papers from the dblp step (i.e., abstracts, CORE rankings). techniques (8%), and architectures (4%). The ratio of From this step, 23 new papers were added. These papers simulations (20%) is lower than in the Technological were categorized into the five categories following the same category, and the vast amount of papers provide approach as before. The final counts for each category are new contributions (90%) here as well. Evaluation shown in Table 6 and are considered in the ratios reported follows a similar pattern to the Technological cate- in the previous section. gory, with quantitative evaluations (41%) being the most common, followed by case studies (38%) and 3 SELF-ADAPTIVE SYSTEMS OVER THE YEARS comparisons (16%). In the following, we provide a chronological overview of • Perspective: Many of the papers in this category can research on self-adaptive systems based on our system- be classified as reflections (35%), reviews (31%), and atic literature review. We identify trends and summarize surveys (20%), with papers outlining future work contributions and developments in the following five time (71%), challenges (33%), and requirements (16%), or periods: providing a taxonomy (14%). Evaluation methods, if applicable, in this category are mostly focused on • 1990-2002 - Initial Stages, Section 3.1 comparisons (31%) and case studies (29%). • 2003-2005 - Foundational Years, Section 3.2 • Analytical: Many papers in this category focus on • 2006-2010 - Ramping up, Section 3.3 algorithms (46%), followed by mathematical con- • 2011-2015 - The last decade - First Half, Section 3.4 4

TABLE 7 TABLE 9 Papers per application domain Application domains during initial stages

Application Domain Count Application Domain Count Web Services 48 Networking 2 IoT 36 Software Engineering 1 Review 25 IoT 1 Robotics 23 Speech Recognition 1 Networking 19 Robotics 1 IaaS 17 Intelligence Surveillance Reconnaissance 13 Software Engineering 12 Automotive 10 Mobile Systems 10 self-configuration, self-optimization, self-healing, and self- Service-Oriented Systems 10 protection in computing systems. It foretasted the rising need for these systems in the modern age. Shortly after this, an implementation of these concepts was developed, TABLE 8 Categories during initial stages known as the RAINBOW framework [109]. This framework was architecture based and extensible, meaning existing Category Count architectures could be imbued with self-adaptive properties. To this day, the RAINBOW framework is used as a standard, Technological 4 test bed, extensible tool in self-adaptive systems research. Analytical 2 Many papers were published during this time period Total 6 that were in the perspective category (42%). As the ex- citement of a new field grew, many researchers sought to publish their thoughts and ideas as to how the field should • 2016-2020 - The last decade - Second Half, Section 3.5 and could develop. During this period, there were fewer As an orthogonal perspective, the tables at the end of practical demonstrations and implementations compared to this paper group all 293 papers by category and list their future time periods as the field had to have time to grow attributes. and mature. This application domain distribution of this period was 3.1 1990-2002 - Initial Stages skewed towards review papers. Of the eight review papers, four were on autonomic computing [107], [108], [148], [149] According to our literature review, the earliest reference to and four were on self-* properties [12], [64], [78], [120]. The self-adaptive systems was in 1990. The period of 1990-2003 key messages of these papers were that a new challenge was the phase before ‘The Vision of Autonomic Comput- was emerging in the field of autonomic computing and self- ing’ [149], was published. This was where the field was in * computing. Due to the rise in system complexity, it was its beginning stages. necessary to develop a new kind of system that was self- References in this phase contained theoretical and model adaptive. These papers also envisioned what such realized based papers such as a model for dynamic change manage- systems might look like. ment [155], self-stabilizing real-time rule based systems [60], The most immediate application domain for self- and convergence for self-stabilizing systems [25]. These adaptive systems was web services. At the time, technolo- papers were focused on presenting a theoretical model gies such as IaaS and IoT had not fully emerged yet. Web or proving a proposed theorem to advance self-adaptive services were a prominent tool used in software engineer- systems theory. ing. By 1998, practical implementations were seen such as architecture based run-time software evolution [199], self- The improvement of the system administrator role was supervised category detection [291], and self-adaptive con- a focus area of research by improving collaboration and trol software [209]. The papers were among the first to dis- coordination, rehearsal and planning, maintaining situation cuss terms like evolution, self-supervision, control theory, awareness, and managing multitasking, interruptions, and and run-time design in the context of self-adaptive systems. diversions [19]. Utility functions emerged as a potential Thirty years later, these terms are commonplace and part of metric to solve self-adaptive problems [271]. In later years, the general understanding of the field. this would prove to be true. The automatic management Tables 8 and 9 characterize this time period in terms of of web services was an important test bed to develop self- the prevalent paper categories and application domains. adaptive algorithms and theory [126], [145], [290]. There was a major parallel between autonomic comput- ing, self-* computing, and biological systems, and a branch 3.2 2003-2005 - Foundational Years of research was formed to gain inspiration from nature to In the subsequent years after 2002, two seminal works bring to these systems [125], [140], [197]. As a precursor to were produced that formed the foundations of self-adaptive the cloud based systems of the present day, load balanc- systems. In 2003, The Vision of Autonomic Computing [149] ing was an area of research focus. Work forecasting [28], was published which kick-started the field of Autonomic scheduling algorithms [159], and managing system level Computing. The paper presented a grand challenge of properties [287] were all part of the groundwork of this 5

TABLE 10 with good results [61]. In the latter half of this period, the Categories during foundational years focus of web services grew to become more holistic with concepts such as architectural self-reconfiguration and self- Category Count tuning [72], [113], behavioral adaptations [142], expansion Perspective 14 into more self-* properties [143], and adaption logic based Technological 8 approaches [210]. The emphasis was on adaptation of the Methodology 5 entire system as opposed to individual components. Analytical 3 Empirical 3 IoT papers were initially focused on solvers [65], [191] Total 33 with a key driver being dynamic behavior [45], [127]. Fault tolerance [127] and multi-agent models [65] were important themes to establish in IoT due to their distributed and TABLE 11 Application domains during foundational years always-on nature. A tool called RELAX was developed to handle requirements and uncertainty in a smart home self- Application Domain Count adaptive system domain [288]. Requirements and uncer- tainty are important in any self-adaptive system, not just Review 8 IoT systems [236]. The requirements of the system determine Web Services 6 Load Balancing 3 the goals of the adaptations. Appropriately managing uncer- Bio-inspired 3 tainty gives a system flexibility and dynamism. As with web IoT 3 services, a holistic approach to self-adaptation using archi- Networking 2 Software Engineering 2 tectural self-reconfiguration was a part of the research [76]. Adaption logic in IoT was addressed using heuristics in availability and response time [176] and in a tool called research area, as was the placement of replicants in an edge FUSION [92]. The research efforts of IoT compared with web computing scenario [244]. services in this phase share a parallel. Initially, solvers and IoT and IaaS papers were present during this time. languages were created and tested, then various research Concepts like autonomous deployment [178], generic con- concepts were explored like distributed solutions for web trol frameworks [144], and self-healing distributed architec- services or fault tolerance for IoT. Then, a shift in focus tures [242] were explored, as was the concept of self-aware to more holistic approaches to self-adaptability were em- systems [7] in general. These two fields would emerge as phasized such as architectural self-reconfiguration, or the strong research fields in later years. adaptation logic. Other research areas include Robotics [301], Automo- This phase was the first time robotics was seen as tive [79], Computer [248], Software Stack [289], Network- an application domain with seven papers. Robotics rep- ing [39], [119], Software Engineering [174], and Intelligence resented a high potential area for the application of self- Surveillance Reconnaissance [42]. adaptive systems. By their nature, robots are intended to Tables 10 and 11 characterize this time period in terms automatically do the tasks of humans and so self-adaptive of the prevalent paper categories and application domains, robots are a natural progression of the goals. Requirements confirming the large number of perspective papers. and modelling [181], [255] were the early emphasis with a progression to adaptable software architectures [255], [273] 3.3 2006-2010 - Ramping up and self-organized and distributed systems [235]. Tools to The distribution of the years 2006-2010 showed a more even compare adaptation approaches were developed [283]. This spread across the categories. Technological, Perspective, and started to become necessary as the popularity of the field Methodology papers were evenly spread. There was still gave rise to multiple different adaptation techniques. Learn- a high demand for perspective type papers but enough ing and planning was a component of the research of this time had passed since 2003 for technology and methodology phase [87], [257]. Using reinforcement learning, planning papers to emerge. and architecture self-management was explored [87]. The Web services was still the highest polling application learning research theme was in its early stages in this phase. domain but in this period IoT papers surfaced as the In future years, learning would prove to be key to widely second most frequent domain. Web services in this phase used tools like machine and deep learning. focused on the principles and ideas of autonomic and self- This phase also gave rise to nine review papers. Com- adaptive systems developed in the previous phase. These pared to the previous phase, review papers made up a manifested initially in new languages [63], utility func- smaller proportion of the total papers in the group. The tions [63], and distributed solutions as opposed to cen- reviews were conducted on self-organization [146], [192], tralized solutions [175]. There was a clear focus on run autonomic computing [131], [162], [222], self-healing [115], time instead of design time solutions [93], [243] as well as and self-adaptation [91], [231], as well as a general overview making systems dynamic in their configuration and adap- of self-* properties [30]. The common theme of this work tation [20], [31], [204]. Self-healing was an important part was to highlight the current work and future needs of the of web services research during this time, highlighting the field. One remark confirms the trend highlighted above of use in workarounds [54] and composition cycles [57]. The needing a more holistic approach to self-adaptation: ”but RAINBOW framework was evaluated on a signature case what is missing is an holistic approach focusing explicitly on pro- study: Znn.com to assess the effectiveness of self-adaptation viding autonomic properties” [222]. Written in 2009, it perhaps 6

TABLE 12 ranking with seven papers. This was the first time period Categories during ramping up stage where IaaS made it in to the top domains. This is in line with the timeline of cloud based services as they rose to Category Count prominence. Methodology 23 Web services papers in this time period displayed a Technological 20 slightly different flavor to the previous time periods. Forms Perspective 18 Analytical 8 of validation were more popular in this phase. Perfor- Empirical 6 mance [18] and integration [73] testing, probabilistic model Total 75 checking [51], [69], [183], quality assurance [165], and eval- uation [49] indicate that more emphasis was now being put on verifying the outcomes of self-adaptive solutions. It was TABLE 13 Application domains during ramping up stage not enough to claim that a system was self-adaptive, but the claims had to be backed up and tested. Frameworks formed part of the contributions to the research. With the Application Domain Count push towards more holistic self-adaptive solutions, this was Web Services 14 a natural progression. Multi-model [206], dynamic alloca- IoT 9 Review 8 tion [166], monitoring [258], and behavioral [228] frame- Robotics 7 works highlight the variety of holistic generic approaches E-Commerce 3 being explored. The RAINBOW framework still held influ- Service Oriented Systems 3 Automated Traffic Control 3 ence during this period, with a framework called REFRACT Automotive 3 extending RAINBOW to target fault avoidance [252]. Plan- Intelligence Surveillance Reconnaissance 2 ning was a key component of this phase – automatic recon- Mobile Systems 2 figuration plans [203], adapting manager optimization [4], Computer 2 Software Engineering 2 and plan generation techniques [66] all highlight the con- tinued importance of forecasting in self-adaptive systems. Distributed techniques [233], fault localization [55], and explains the trend toward holistic solutions to self-adaptive architecture based self-adaptation [58] all were continued systems in the literature. self-adaptive themes from the previous phase. This phase showed a variety of other application Robotics papers also shared an emphasis on building domains. Decentralized solutions were popular in auto- generic frameworks for self-adaptation. Architectural com- mated traffic control [284], e-Commerce [264], water net- pilers [193], reference models [285], and testing frame- works [88], service oriented systems [47], and load bal- works [101] highlight some of the work done here. There ancing solutions [16]. Learning was a prominent theme was a continued focus on dynamic [194] and run-time [135] for automotive [89], traffic management control [90], and applications as well as verification of systems [137]. The e-Commerce [132]. The ability for a system to adapt its modelling of uncertainty became a strong focus during adaptation logic was a strong area of focus for mobile sys- this phase. As decisions in the system are pushed from tems [300], ISR [254], e-Commerce [9], software engineering design time to run time, the amount of possible outcomes applications [8], [106], and systems on chip [29]. Evalu- for the system dramatically increases. The behavior of the ation [41], [247], self-organization [86], [123], [277], self- system also becomes non-deterministic. Verification [293], protection [163], self-healing [238], resource allocation [2], consequence modelling [229], and latency modelling [183] reflection [5], as well as dynamic solutions [262] were all all attest to this effort. A strong research theme of the explored during this time. Consistent with the theme of robotics domain in self-adaptive systems is goal modelling. holistic solutions, generic architectures were developed in The goals of a robot and associated utility functions are speech recognition tools [154] as well as generic frameworks highly important to successful behavior. Dealing with fuzzy such as SASSY [169]. Other application domains not listed goals [17], interactions [229], and learning [253] all con- include UML [14], Holonic Systems [227], Video Encod- tributed to this focus. ing [22], task scheduling [260], and Physics [245]. Networking was a domain that was well represented Tables 12 and 13 characterize this time period in terms during this time period. With the explosion of the Internet of the prevalent paper categories and application domains, and always-on devices, networking was a ripe domain to underlining that papers in the ‘Methodology’ category and apply self-adaptive principles to. Consistent with the theme about Web Services were becoming increasingly dominant. of frameworks during this time period, mathematical [13], scheduling [261], sensor modelling [21], and testing [104] 3.4 2011-2015 - The last decade - First Half frameworks were created. There was a similar emphasis The first half of the 2010s showed a bimodal result, with on validation [105] and fault tolerance [171]. The RAIN- technological and methodology papers being the most fre- BOW framework was again used as an exemplar during quent. The proportion of perspective papers decreased, per- this phase. It was applied to manage and monitor highly haps attributed to the saturation of them in previous time populated networks of devices [48]. Consistent with the periods. themes from previous phases, self-organization [80] and Web services still dominated the domain distribution, self-reconfiguration [82], [141] were popular research areas followed by robotics and networking. IoT still had a high in networking. 7

TABLE 14 TABLE 15 Categories during first half of the last decade Application domains during first half of the last decade

Category Count Application Domain Count Technological 37 Web Services 19 Methodology 29 Robotics 11 Empirical 9 Networking 10 Analytical 8 IoT 7 Perspective 8 Intelligence Surveillance Reconnaissance 6 Service Oriented Systems 5 Total 91 Software Engineering 5 Review 5 IaaS 4 Mobile Systems 4 The IoT domain shares a high overlap with the net- Bio-inspired 2 working domain as IoT solutions are essentially localized Control Engineering 2 networks. The trends of the IoT research in this phase is consistent with the themes of generic frameworks [1], [160], [172], [180], [297] and validation [129], [130]. 3.5 2016-2020 - The last decade - Second Half The IaaS domain entered the top domains in this phase. In the second half of the decade its popularity would ex- The second half of the 2010s displayed a similar distribution plode. During this time, IaaS papers focused on regression to the first half, with technological and methodology papers testing [152], control theory [6], decision making [27], [133], being most frequent, followed by analytical, perspective, transaction management [116], and on benchmarking and and empirical. This is not surprising as the developments elasticity [124]. These themes would later on be developed of the field were at a comparable maturation stage. and expanded. The distribution of the domains during this period shows an interesting trend. Web services are no longer the There were only six reviews in this time period, the most frequent domain, rather IoT and IaaS are the most fre- lowest proportion of any time period so far. This could quent domains. There is a distinct trend of these cloud based be due to the reduced need because of the ongoing work. technologies from obscurity (1990-2003) to niche (2003-2010) Reviews in this period focused on self-healing [217], [237], to growth (2011-2015) to now in the 2020s where cloud based self-adaptation [158], [282], self-protection [298], and on services are mainstream. This trend is reflected in the rise of control engineering approaches to self-adaptive system de- IoT and IaaS in the domain distribution of the papers. sign [205]. IoT has become a popular application domain in the last Frameworks in ISR [150], [263], service oriented sys- five years of the 2010s. The number of devices with access tems [43], [173], [267], software engineering [62], [95], and to the Internet has increased exponentially in quantity but mobile systems [99], [114] highlight the trend of the theme also variety. Devices are not just limited to phones and com- in developing holistic solutions to self-adaptive systems. puters but extend to watches, cars, buildings, sensors, and Continued trends are requirements [96], [220], dynamic so- more. The research in this phase gave rise to a number of lutions [208], multi-agent systems [35], [53], and utility [211] exemplars in IoT. Exemplars can be generic such as artifacts as well as reliability [75], with more abstract ideas like or address specific self-adaptive problems. They are used as systems evaluation [265], uncertainty handling [94], [121], a demonstration of a working solution in the problem space. and feedback loops [207], [270] now getting covered. This was the period of time where exemplars began to be Bio-inspired approaches were again present in this widely seen and used. DeltaIoT [134], an evaluation exem- phase. These approaches have the understanding that self- plar and DingNet [216], a simulation exemplar highlight the adaptive systems are much like biological systems and work done. Carrying on from the work done in the previous that there is much inspiration to draw from nature. Pa- time periods, frameworks and generic architectures were pers discuss chemically inspired architectures for reusable seen in HAFLoop [299], decentralized approaches [214], models [259], as well as cloud based applications inspired [278], and modelling frameworks [32]. Behavioral modelling by biological principles [56] and multi-objective control for of IoT behavior was a continued trend [10], [24], [139], self-adaptive software design [98]. These biological inspired [280]. Specifically, emergent behaviors were explored [198]. approaches are a potential growth area for self-adaptive Emergent behavior is an important concept in self-adaptive systems. systems. These behaviors are the byproduct of allowing Other domain applications not listed include e- decisions to be made at run time. When this occurs, the Commerce [232], UML [164], automotive [122], water net- system may display new behavior not previously conceived works [117], automated traffic management [286], fault or seen before. The appropriate handling of these behaviors recovery [275], video encoding [97], application contain- is important to a large scale self-adaptive system like IoT. ers [128], and human participation [71]. Common research focuses like new languages [11], evalu- Tables 14 and 15 characterize this time period in terms ation and testing [70], [221], modelling [85], learning [50], of the prevalent paper categories and application domains, [219], [249], recovery [23], uncertainty [246], and integra- showing a large number of papers in the categories ‘Tech- tion [44] were seen in this phase. A general review of self- nological’ and ‘Methodology’, again dominated by the ap- improving system integration can be found in [26] and plication area of Web Services. industrial experience reports in [161], [250]. 8

IaaS became more of a focus during this period. As it them to be embedded into any physical tool. The success- went further into the decade, cloud based solutions became ful integration [276] and the tracability of these compo- more and more common in business and hence in research. nents [110] are critical to the field. It became cheaper to rent out infrastructure in the cloud Continuing on with the last time period, bio inspired ap- and outsource maintenance costs than to handle everything proaches were seen in this time period, addressing emergent in-house. This is also reflected in research focusing on con- behavior [223] and artificial DNA [40]. Security was a focus current approaches [167], [266] or hierarchical systems [84]. of this theme with guarantees [170] and verifications [46] From the previous time period, the research areas of being explored. The self-protection aspect of self-adaptive testing [212], control theory [214], decision making [100], systems has been sprinkled amongst the time periods (with [153], [201], and elasticity [219] in IaaS were expanded on. works focusing on trust [239], [274], [292] and on situational New areas of research, such as trust [177], structural and awareness [296]), however as these systems gain traction parametric adaptation [157], monitoring [15], [85], mod- and popularity, there will be an increased need to secure elling [59], [230], and service level maintenance [213] were these systems in the same fashion as micro-transactions are established in the field. Trust in self-adaptive systems is an secured in financial institutions. It would not be surprising important concept. Even if the self-adaptation loops are ro- if in the next decade, security became a more prominent bust and effective, without establishing trust for the system, application domain. using these systems in large scale or critical environments There was a paper in this time period on smart factory or is infeasible. This has to to with the understood error rate industry 4.0 [272]. Seen as the next progression in industrial of the self-adaptive system and the tolerance of the user. In activity, this application domain has potential to grow going some cases it may be acceptable to have a 20% error rate in to the next decade. Exemplars were again seen in this in a non-critical scenario but for another critical scenario period across other domains using architectural self-healing like a Defence setting, even a 5% error rate may not be and self-optimization [268]. acceptable given the possible consequences. The research The frequencies of robotics and networking decreased efforts in self-adaptive systems are usually split between in this phase. This could be because they are less popular structural and parametric adaptation. Structural adaptation or that there is some overlap between these domains and involves modifying or improving the components of the the top two domains, IoT and IaaS. The second reason is system whereas parametric adaptation involves optimising more likely. Planning [186], [202], [224], [294], testing [103], the configurable parameters of the system, leaving the com- fault tolerance [33], and uncertainty [102], [182] all highlight ponents unchanged. Addressing both of the styles at once is common research trends seen before in the timelines, as is an area of need and potential [157]. model-predictive control [136]. Mobile systems most likely The research into web services has benefited from a 20 also share the same similarities with overlap as networking plus year build up. Consistent with the trend of this time pe- and robotics to IoT and IaaS. They have been a consistent riod, exemplars were used to demonstrate the capabilities of theme across the timelines and have a presence in this one self-adaptive web services using TCP communication [187]. with dynamic decisions [196], input space mapping [218] Multi-agent systems [37], uncertainty [189], planning [200], and emotion measurement [68]. A review of self-adaptive models [179], [269], and programming concepts [67], [184] systems in the context of mobile systems is given in [118], were all continued research themes into web services. The one on monitoring self-adaptive applications within edge state of web services after 20 plus years has moved from computing frameworks in [256], and one on learning in self- foundational theory to generic frameworks and to exem- adaptive systems in [77]. plars. Even despite this trend, the various research themes are still being explored and mined for use after 20 years The automotive application domain increased in this which indicates that there is more to learn. time period compared to the previous time period. This may Cyber-Physical Systems (CPS) are a combination of be explained by the new found viability of smart cars and computation, networking, and physical processes where a self-driving cars in recent years. Key trends for this domain physical component is controlled by a chip or software were adaptive, scalable, and robust systems. These systems component. This time period is the first time CPS are seen. are proactively aware of latency and can act in swarms [34], This indicates that they are a relatively new research area [52], [81], [151], [188]. to self-adaptive systems. The dominating application (24%) ISR has had a consistent presence across the timelines. to CPS is energy and the dominant adaptation mecha- Resilience [215], goal theory [240], control theory [241], and nism is MAPE-K [190]. A new language, Adaptive CSP assurance [226] highlight the research efforts in this time was developed to support compositional verification of period. ISR is an important application domain to self- systems [36]. Continuing with the trend of exemplars in adaptive systems. It enables real time situational awareness this phase, DARTSim represents a simulation of UAVs on and allows analysts to make decisions based off current and a reconnaissance mission communicating via TCP [185]. useful information. In a Defence context, generating this According to [111], a central concept in these systems is intelligence from data is extremely important to the decision homeostasis, the capacity to maintain an operational state makers. despite run-time uncertainty. This is addressed by four Other application domains included clonal plastic- principles: collaborative sensing, faulty component isolation ity [195], smart travels [138], agriculture [38], UML [74], sys- from adaptation, enhancing mode switching, and adjusting tem on chip [225], MAPE-K [112], traffic management [156], guards in mode switching. CPS are naturally employed holonic systems [83], and managing support of recoonfig- in safety-critical environments as their small nature allows urable software components [3]. 9

TABLE 16 5 LIMITATIONS Categories during second half of the last decade This systematic literature review was conducted with some assumptions. The dblp database was a suitable database to Category Count capture self-adaptive systems. Dblp is a Technological 36 bibliography, and the review would not capture papers Methodology 22 Analytical 14 outside this bibliography in fields like medicine, science, Perspective 11 and other engineering fields. Empirical 5 The application domains mentioned in this paper are Total 88 subject to the interpretation of the papers. A paper may have multiple application domains but only one was chosen TABLE 17 for each paper. This means there is some overlap across the Application domains during second half of the last decade domains. At best, it is useful to get a flavor of the types of papers in self-adaptive systems across the 30 year time Application Domain Count period but it is not a comprehensive survey of all the types of domains. IoT 16 IaaS 12 Web Services 9 Cyber Physical Systems 6 6 CONCLUSION Automotive 5 Review 4 A systematic literature review was conducted using the Mobile Systems 4 Intelligence Surveillance Reconnaissance 4 dblp computer science bibliography. In a series of steps, Robotics 3 the database was filtered to 293 relevant papers on self- Networking 3 adaptive systems. These papers were organized into an Load Balancing 2 attribute matrix of five categories: Analytical, Technological, Service Oriented Systems 2 Software Engineering 2 Methodological, Empirical, and Perspective. The domain of Security 2 each paper was extracted and put in a frequency table across Bio-inspired 2 a 30-year time period and the gradual rise of self-adaptive systems as a research field was characterized.

Tables 16 and 17 characterize this time period in terms of the prevalent paper categories and application domains, REFERENCES underlining the trend towards IoT and IaaS in recent years. [1] U. Adeel, S. Yang, and J. A. McCann. Self-optimizing citizen- centric mobile urban sensing systems. In International Conference 4 TRENDSANDFUTUREPROJECTIONS on Autonomic Computing (ICAC), pages 161–167. USENIX Associ- ation, 2014. Self-adaptive systems research dates back to the 1990s where [2] J. Almeida, V. Almeida, D. Ardagna, C. Francalanci, and M. Tru- bian. Resource management in the autonomic service-oriented theoretical and model based papers established founda- architecture. In International Conference on Autonomic Computing tional self-adaptive theory. These theories gave rise to prac- (ICAC), pages 84–92, 2006. tical implementations and frameworks such as the RAIN- [3] F. Alvares, G. Delaval, E.´ Rutten, and L. Seinturier. Language sup- BOW framework in the early 2000s. During this time several port for modular autonomic managers in reconfigurable software components. In International Conference on Autonomic Computing perspective papers were published such as the seminal work (ICAC), pages 271–278. IEEE, 2017. ‘The Vision of Autonomic Computing’ which outlined the [4] F. Alvares, E. Rutten, and L. Seinturier. Behavioural model-based grand challenges of the field moving forward. The ramping control for autonomic software components. In International up years of 2006-2010 were characterized by principles Conference on Autonomic Computing (ICAC), pages 187–196, 2015. [5] J. Andersson, R. de Lemos, S. Malek, and D. Weyns. Reflecting on and ideas leading up to a need for more holistic generic self-adaptive software systems. In ICSE Workshop on Software En- approaches. In the first half of the 2010s the need for holistic gineering for Adaptive and Self-Managing Systems (SEAMS), pages generic approaches was met with several new frameworks. 38–47, 2009. By the second half of the 2010s, these frameworks were [6] S. S. Andrade and R. J. d. A. Macˆedo. A search-based approach for architectural design of feedback control concerns in self- extended to become exemplars, working solutions with real adaptive systems. In International Conference on Self-Adaptive and use cases. In the 2020s, if the popularity of self-adaptive Self-Organizing Systems (SASO), pages 61–70, 2013. systems continues to grow, these exemplars are likely to turn [7] P. Andr´as and B. G. Charlton. Self-aware software - will it become a reality? In Self-star Properties in Complex Information Systems, into mainstream adopted solutions. Conceptual and Practical Foundations, pages 229–259. Springer, The ebb and flow of the application domains across the 2005. time period show web services being most popular in the [8] R. Anthony. Policy-based autonomic computing with integral 2000s before IoT and IaaS papers joined them as the most support for self-stabilisation. International Journal of Autonomic Computing, 1, 2009. popular in the 2010s. In the late 2010s domains like bio- [9] R. J. Anthony. A policy-definition language and prototype inspired approaches, security, and cyber physical systems implementation library for policy-based autonomic systems. In showed promise to grow heading into the 2020s. As time International Conference on Autonomic Computing (ICAC), pages goes on, often an unknown disruptive solution arises that 265–276, 2006. [10] D. Arellanes and K. Lau. Workflow variability for autonomic slowly makes its way to the top of the domains. In the 2020s iot systems. In International Conference on Autonomic Computing technologies could arise like this from unlikely sources. (ICAC), pages 24–30. IEEE, 2019. 10

TABLE 18 Analytical

Type Applic. Contrib. Formaliz. Evaluation Method Reference Year Algorithm Architecture Framework Mathematical Language Definition Case study Simulated Extension Novel Yes No Preliminary Case Study Industrial Comparison Human Subject Quantitative Unknown/None Domain [60] 1992 ✓ ✓ ✓ ✓ ✓ Networking [25] 1999 ✓ ✓ ✓ ✓ Networking [39] 2005 ✓ ✓ ✓ ✓ ✓ Networking [290] 2005 ✓ ✓ ✓ ✓ ✓ Web Services [301] 2005 ✓ ✓ ✓ ✓ ✓ Robotics [274] 2006 ✓ ✓ ✓ ✓ ✓ Security [227] 2007 ✓ ✓ ✓ ✓ ✓ Holonic Systems [243] 2008 ✓ ✓ ✓ ✓ ✓ Web Services [245] 2009 ✓ ✓ ✓ ✓ ✓ Physics [30] 2009 ✓ ✓ ✓ ✓ Other [191] 2009 ✓ ✓ ✓ ✓ ✓ IoT [132] 2010 ✓ ✓ ✓ ✓ ✓ e-Commerce [142] 2010 ✓ ✓ ✓ ✓ ✓ Web Services [259] 2011 ✓ ✓ ✓ ✓ ✓ Bio-inspired [220] 2011 ✓ ✓ ✓ ✓ ✓ IoT [13] 2011 ✓ ✓ ✓ ✓ ✓ Networking [95] 2011 ✓ ✓ ✓ ✓ ✓ Software Engineering [96] 2011 ✓ ✓ ✓ ✓ ✓ Service-Oriented Systems [263] 2012 ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [21] 2012 ✓ ✓ ✓ ✓ ✓ Networking [253] 2013 ✓ ✓ ✓ ✓ ✓ Robotics [23] 2016 ✓ ✓ ✓ ✓ ✓ IoT [223] 2016 ✓ ✓ ✓ ✓ ✓ Bio-inspired [177] 2016 ✓ ✓ ✓ ✓ ✓ IaaS [33] 2016 ✓ ✓ ✓ ✓ ✓ Networking [266] 2016 ✓ ✓ ✓ ✓ ✓ Other [202] 2017 ✓ ✓ ✓ ✓ ✓ IaaS [198] 2017 ✓ ✓ ✓ ✓ ✓ ✓ IoT [52] 2018 ✓ ✓ ✓ ✓ ✓ Automotive [153] 2018 ✓ ✓ ✓ ✓ ✓ IaaS [85] 2018 ✓ ✓ ✓ ✓ ✓ IoT [294] 2018 ✓ ✓ ✓ ✓ ✓ Robotics [224] 2018 ✓ ✓ ✓ ✓ ✓ Robotics [170] 2018 ✓ ✓ ✓ ✓ ✓ Security [200] 2019 ✓ ✓ ✓ ✓ ✓ Web Services

[11] C. Aygalinc, E. Gerbert-Gaillard, G. Vega, P. Lalanda, and S. Chol- [19] R. Barrett, P. P. Maglio, E. Kandogan, and J. Bailey. Usable let. Autonomic service-oriented context for pervasive applica- autonomic computing systems: The system administrators’ per- tions. In International Conference on Services Computing (SCC), spective. Advanced Engineering Informatics, 19(3):213 – 221, 2005. pages 491–498. IEEE, 2016. Autonomic Computing. [12] O. Babaoglu, M. Jelasity, A. Montresor, C. Fetzer, S. Leonardi, [20] N. Bartolini, G. Bongiovanni, and S. Silvestri. Self-* through self- A. van Moorsel, and M. van Steen. The self-star vision. In Self-star learning: Overload control for distributed web systems. Computer Properties in Complex Information Systems, pages 1–20. Springer, Networks, 53:727–743, 2009. 2005. [21] K. Bartos and M. Rehak. Self-organized mechanism for dis- [13] S. Balasubramanian, R. Desmarais, H. M ¨uller, U. Stege, and tributed setup of multiple heterogeneous intrusion detection S. Venkatesh. Characterizing problems for realizing policies in systems. In International Conference on Self-Adaptive and Self- self-adaptive and self-managing systems. In International Confer- Organizing Systems (SAASO) Workshops, pages 31–38, 2012. ence on Software Engineering (ICSE), pages 70–79, 2011. [22] L. Bauer, M. Shafique, D. Teufel, and J. Henkel. A self-adaptive extensible embedded processor. In International Conference on Self- [14] C. Ballagny, N. Hameurlain, and F. Barbier. Mocas: A state-based Adaptive and Self-Organizing Systems (SASO), pages 344–350, 2007. component model for self-adaptation. In International Conference on Self-Adaptive and Self-Organizing Systems (SASO), pages 206– [23] J. Beal, M. Viroli, D. Pianini, and F. Damiani. Self-adaptation to 215, 2009. device distribution changes. In International Conference on Self- Adaptive and Self-Organizing Systems (SASO), pages 60–69. IEEE, [15] D. M. Barbosa, R. G. de Moura Lima, P. H. M. Maia, and 2016. E. C. Junior. Lotus@runtime: A tool for runtime monitoring and [24] J. Beal, M. Viroli, D. Pianini, and F. Damiani. Self-adaptation to verification of self-adaptive systems. In International Symposium device distribution in the internet of things. ACM Transactions on on Software Engineering for Adaptive and Self-Managing Systems Autonomous and Adaptive Systems, 12(3):12:1–12:29, 2017. (SEAMS), pages 24–30. IEEE, 2017. [25] J. Beauquier, B. Berard, and L. Fribourg. A new rewrite method [16] L. Baresi, S. Guinea, and G. Tamburrelli. Towards decentral- for convergence of self-stabilizing systems. In Distributed Com- ized self-adaptive component-based systems. In ICSE Workshop puting (DISC), pages 240–253. Springer, 1999. on Software Engineering for Adaptive and Self-Managing Systems [26] K. L. Bellman, C. Gruhl, C. Landauer, and S. Tomforde. Self- (SEAMS) , pages 57–64. ACM, 2008. improving system integration - on a definition and characteristics [17] L. Baresi, L. Pasquale, and P. Spoletini. Fuzzy goals for of the challenge. In International Workshops on Foundations and requirements-driven adaptation. In International Requirements Applications of Self* Systems (FAS*W@SASO/ICCAC), pages 1–3. Engineering Conference (RE), pages 125–134, 2010. IEEE, 2019. [18] C. Barna, M. Litoiu, and H. Ghanbari. Autonomic load-testing [27] N. Bencomo, A. Belaggoun, and V. Issarny. Dynamic decision net- framework. In International Conference on Autonomic Computing works for decision-making in self-adaptive systems: a case study. (ICAC), page 91–100. ACM, 2011. In International Symposium on Software Engineering for Adaptive and 11 TABLE 19 Technological (1/2)

Type Implementation Applic. Contrib. Goals Evaluation Method Reference Year Human in the loop Closed circle Tool Model Framework Language Architecture Algorithm Case Study Simulated Extension Novel Goals Utility Preliminary Case Study Industrial Comparison Human Subject Quantitative Unknown/None Domain [155] 1990 ✓ ✓ ✓ ✓ ✓ Software Engineering [199] 1998 ✓ ✓ ✓ ✓ ✓ IoT [291] 1999 ✓ ✓ ✓ ✓ ✓ Speech Recognition [209] 2000 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [109] 2004 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Software Engineering [159] 2004 ✓ ✓ ✓ ✓ ✓ Load Balancing [178] 2004 ✓ ✓ ✓ ✓ ✓ ✓ IaaS [197] 2004 ✓ ✓ ✓ ✓ ✓ ✓ Bio-inspired [271] 2004 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Web Services [126] 2005 ✓ ✓ ✓ ✓ ✓ Web Services [289] 2005 ✓ ✓ ✓ ✓ ✓ Software Stack [140] 2005 ✓ ✓ ✓ ✓ ✓ Bio-inspired [9] 2006 ✓ ✓ ✓ ✓ ✓ ✓ e-Commerce [31] 2006 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Networking [63] 2006 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [292] 2006 ✓ ✓ ✓ ✓ ✓ Security [254] 2007 ✓ ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [22] 2007 ✓ ✓ ✓ ✓ ✓ Video Encoding [175] 2007 ✓ ✓ ✓ ✓ ✓ Web Services [16] 2008 ✓ ✓ ✓ ✓ ✓ ✓ Load Balancing [127] 2008 ✓ ✓ ✓ ✓ ✓ ✓ IoT [181] 2008 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [14] 2009 ✓ ✓ ✓ ✓ ✓ ✓ UML [288] 2009 ✓ ✓ ✓ ✓ ✓ ✓ IoT [76] 2009 ✓ ✓ ✓ ✓ ✓ ✓ IoT [273] 2009 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [57] 2009 ✓ ✓ ✓ ✓ ✓ Web Services [93] 2009 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [264] 2010 ✓ ✓ ✓ ✓ ✓ e-Commerce [45] 2010 ✓ ✓ ✓ ✓ ✓ ✓ ✓ IoT [283] 2010 ✓ ✓ ✓ ✓ ✓ Robotics [257] 2010 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [75] 2011 ✓ ✓ ✓ ✓ ✓ Programmer [53] 2011 ✓ ✓ ✓ ✓ ✓ ✓ Resource Management [275] 2011 ✓ ✓ ✓ ✓ ✓ Software Stack [180] 2011 ✓ ✓ ✓ ✓ ✓ ✓ ✓ IoT [130] 2011 ✓ ✓ ✓ ✓ ✓ ✓ IoT [193] 2011 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [43] 2011 ✓ ✓ ✓ ✓ ✓ Service-Oriented Systems [173] 2011 ✓ ✓ ✓ ✓ ✓ ✓ Service-Oriented Systems [18] 2011 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [206] 2011 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [166] 2011 ✓ ✓ ✓ ✓ ✓ Web Services [56] 2012 ✓ ✓ ✓ ✓ ✓ Bio-inspired [172] 2012 ✓ ✓ ✓ ✓ ✓ ✓ IoT [150] 2012 ✓ ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [80] 2012 ✓ ✓ ✓ ✓ ✓ ✓ Networking [285] 2012 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [270] 2012 ✓ ✓ ✓ ✓ ✓ Software Engineering [62] 2012 ✓ ✓ ✓ ✓ ✓ ✓ Software Engineering [122] 2013 ✓ ✓ ✓ ✓ ✓ Automotive [27] 2013 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Other [114] 2013 ✓ ✓ ✓ ✓ ✓ ✓ Mobile Systems [137] 2013 ✓ ✓ ✓ ✓ ✓ Robotics [128] 2013 ✓ ✓ ✓ ✓ ✓ Software Engineering [258] 2013 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [160] 2014 ✓ ✓ ✓ ✓ ✓ IoT [1] 2014 ✓ ✓ ✓ ✓ ✓ Mobile Systems [101] 2014 ✓ ✓ ✓ ✓ ✓ Robotics [135] 2014 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Robotics [17] 2014 ✓ ✓ ✓ ✓ ✓ ✓ Robotics [58] 2014 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [252] 2014 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [71] 2015 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [35] 2015 ✓ ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [171] 2015 ✓ ✓ ✓ ✓ ✓ ✓ Networking [233] 2015 ✓ ✓ ✓ ✓ ✓ Web Services [4] 2015 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [183] 2015 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Web Services [272] 2016 ✓ ✓ ✓ ✓ ✓ Smart Factory [11] 2016 ✓ ✓ ✓ ✓ ✓ ✓ IoT [139] 2016 ✓ ✓ ✓ ✓ ✓ IoT [215] 2016 ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [196] 2016 ✓ ✓ ✓ ✓ ✓ ✓ Mobile Systems [102] 2016 ✓ ✓ ✓ ✓ ✓ Networking [167] 2016 ✓ ✓ ✓ ✓ ✓ Software Engineering [67] 2016 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [184] 2016 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Web Services 12 TABLE 20 Technological (2/2)

Type Implementation Applic. Contrib. Goals Evaluation Method Reference Year Human in the loop Closed circle Tool Model Framework Language Architecture Algorithm Case Study Simulated Extension Novel Goals Utility Preliminary Case Study Industrial Comparison Human Subject Quantitative Unknown/None Domain [112] 2017 ✓ ✓ ✓ ✓ ✓ ✓ ✓ MAPE-K [138] 2017 ✓ ✓ ✓ ✓ ✓ ✓ Smart Traveller [34] 2017 ✓ ✓ ✓ ✓ ✓ Automotive [59] 2017 ✓ ✓ ✓ ✓ ✓ ✓ IaaS [134] 2017 ✓ ✓ ✓ ✓ ✓ ✓ IoT [32] 2017 ✓ ✓ ✓ ✓ ✓ IoT [278] 2017 ✓ ✓ ✓ ✓ ✓ IoT [214] 2017 ✓ ✓ ✓ ✓ ✓ ✓ IoT [241] 2017 ✓ ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [136] 2017 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Load Balancing [15] 2017 ✓ ✓ ✓ ✓ ✓ Service-Oriented Systems [3] 2017 ✓ ✓ ✓ ✓ ✓ Web Services [37] 2017 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [179] 2017 ✓ ✓ ✓ ✓ ✓ Web Services [156] 2018 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Automated Traffic Management Control [81] 2018 ✓ ✓ ✓ ✓ ✓ ✓ Automotive [36] 2018 ✓ ✓ ✓ ✓ ✓ Cyber Physical Systems [268] 2018 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Software Engineering [187] 2018 ✓ ✓ ✓ ✓ ✓ ✓ Web Services [38] 2019 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Agriculture [185] 2019 ✓ ✓ ✓ ✓ ✓ Cyber Physical Systems [213] 2019 ✓ ✓ ✓ ✓ ✓ IaaS [216] 2019 ✓ ✓ ✓ ✓ ✓ ✓ IoT [219] 2019 ✓ ✓ ✓ ✓ ✓ ✓ ✓ IoT [10] 2019 ✓ ✓ ✓ ✓ ✓ ✓ IoT [249] 2019 ✓ ✓ ✓ ✓ ✓ Load Balancing [299] 2020 ✓ ✓ ✓ ✓ ✓ ✓ ✓ IoT

Self-Managing Systems (SEAMS), pages 113–122. IEEE, 2013. In International Conference on Autonomic Computing (ICAC), pages [28] M. N. Bennani and D. A. Menasce. Assessing the robustness 11–17. IEEE, 2019. of self-managing computer systems under highly variable work- [39] D. Breitgand, Ealan Henis, and Onn Shehory. Automated and loads. In International Conference on Autonomic Computing (ICAC), adaptive threshold setting: Enabling technology for autonomy pages 62–69. IEEE, 2004. and self-management. In International Conference on Autonomic [29] A. Bernauer, O. Bringmann, and W. Rosenstiel. Generic self- Computing (ICAC), pages 204–215. IEEE, 2005. adaptation to reduce design effort for system-on-chip. In In- [40] U. Brinkschulte. An artificial dna for self-descripting and self- ternational Conference on Self-Adaptive and Self-Organizing Systems building embedded real-time systems. Concurrency and Computa- (SASO), pages 126–135, 2009. tion: Practice and Experience, 28(14):3711–3729, 2016. [30] A. Berns and S. Ghosh. Dissecting self-* properties. In Inter- [41] Y. Brun. Improving impact of self-adaptation and self- national Conference on Self-Adaptive and Self-Organizing Systems management research through evaluation methodology. In ICSE (SASO), pages 10–19. IEEE, 2009. Workshop on Software Engineering for Adaptive and Self-Managing [31] V. Bhat, M. Parashar, H. Liu, M. Khandekar, N. Kandasamy, Systems (SEAMS), pages 1–9. ACM, 2010. and S. Abdelwahed. Enabling self-managing applications using [42] N. Bulusu, J. Heidemann, D. Estrin, and T. Tran. Self-configuring model-based online control strategies. In International Conference localization systems: Design and experimental evaluation. ACM on Autonomic Computing (ICAC), pages 15–24. IEEE, 2006. Transactions on Embedded Computing Systems, 3(1):24–60, 2004. [32] L. Birdsey, C. Szabo, and K. Falkner. Identifying self-organization [43] S. Burg and E. Dolstra. A self-adaptive deployment framework and adaptability in complex adaptive systems. In International for service-oriented systems. In International Conference on Soft- Conference on Self-Adaptive and Self-Organizing Systems (SASO), ware Engineering (ICSE), pages 208–217, 2011. pages 131–140. IEEE, 2017. [44] F. Burzlaff and C. Bartelt. A conceptual architecture for enabling [33] R. Bloem, N. Braud-Santoni, and S. Jacobs. Synthesis of self- future self-adaptive service systems. In Hawaii International stabilising and byzantine-resilient distributed systems. In Com- Conference on System Sciences (HICSS), pages 1–10. ScholarSpace, puter Aided Verification (CAV), pages 157–176. Springer, 2016. 2019. [34] J. Boes and F. Migeon. Self-organizing multi-agent systems for [45] R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and the control of complex systems. Journal of Systems and Software, G. Tamburrelli. Dynamic qos management and optimization in 134:12–28, 2017. service-based systems. IEEE Transactions on Software Engineering, [35] J. Bonnet, M. Gleizes, E. Kaddoum, S. Rainjonneau, and 37(3):387–409, 2011. G. Flandin. Multi-satellite mission planning using a self-adaptive [46] R. Calinescu, D. Weyns, S. Gerasimou, M. U. Iftikhar, I. Habli, multi-agent system. In International Conference on Self-Adaptive and and T. Kelly. Engineering trustworthy self-adaptive software Self-Organizing Systems (SASO), pages 11–20, 2015. with dynamic assurance cases. IEEE Transactions on Software [36] A. Borda, L. Pasquale, V. Koutavas, and B. Nuseibeh. Compo- Engineering, 44(11):1039–1069, 2018. sitional verification of self-adaptive cyber-physical systems. In [47] J. Camara, C. Canal, and G. Salaun. Behavioural self-adaptation International Symposium on Software Engineering for Adaptive and of services in environments. In ICSE Self-Managing Systems (SEAMS), pages 1–11, 2018. Workshop on Software Engineering for Adaptive and Self-Managing [37] S. Bosse and D. Lehmhus. Towards large-scale material- Systems, pages 28–37, 2009. integrated computing: Self-adaptive materials and agents. In [48] J. C´amara, P. Correia, R. de Lemos, D. Garlan, P. Gomes, B. R. International Workshops on Foundations and Applications of Self* Schmerl, and R. Ventura. Evolving an adaptive industrial soft- Systems (FAS*W@SASO/ICCAC), pages 70–78. IEEE, 2017. ware system to use architecture-based self-adaptation. In Inter- [38] J. Boubin, J. Chumley, C. Stewart, and S. Khanal. Autonomic national Symposium on Software Engineering for Adaptive and Self- computing challenges in fully autonomous precision agriculture. Managing Systems (SEAMS), pages 13–22. IEEE, 2013. 13

TABLE 21 Perspective

Type Content Evaluation Method Reference Year Survey Review Evaluation of framework Reflection Roadmap Comparison Taxonomy Challenges Future Work Requirements Preliminary Case Study Industrial Comparison Human Subject Quantitative Unknown/None Domain [107] 2003 ✓ ✓ ✓ ✓ ✓ Review [125] 2003 ✓ ✓ ✓ Bio-inspired [149] 2003 ✓ ✓ ✓ ✓ ✓ Review [7] 2004 ✓ ✓ ✓ IoT [19] 2004 ✓ ✓ ✓ Web Services [108] 2004 ✓ ✓ ✓ Review [119] 2004 ✓ ✓ ✓ Networking [120] 2004 ✓ ✓ ✓ Review [78] 2004 ✓ ✓ ✓ Review [174] 2004 ✓ ✓ ✓ ✓ ✓ Software Engineering [12] 2005 ✓ ✓ ✓ Review [64] 2005 ✓ ✓ ✓ ✓ Review [148] 2005 ✓ ✓ ✓ Review [248] 2005 ✓ ✓ ✓ Computer [192] 2006 ✓ ✓ ✓ Review [162] 2006 ✓ ✓ ✓ Review [115] 2007 ✓ ✓ ✓ Review [106] 2008 ✓ ✓ ✓ Software Engineering [146] 2008 ✓ ✓ ✓ Review [131] 2008 ✓ ✓ ✓ ✓ Review [8] 2009 ✓ ✓ ✓ Software Engineering [5] 2009 ✓ ✓ ✓ Automated Traffic Management Control [222] 2009 ✓ ✓ ✓ Review [231] 2009 ✓ ✓ ✓ ✓ Review [239] 2009 ✓ ✓ ✓ ✓ Security [61] 2009 ✓ ✓ ✓ Web Services [41] 2010 ✓ ✓ ✓ Management [284] 2010 ✓ ✓ ✓ Automated Traffic Management Control [236] 2010 ✓ ✓ ✓ IoT [176] 2010 ✓ ✓ ✓ IoT [91] 2010 ✓ ✓ ✓ Review [143] 2010 ✓ ✓ ✓ Web Services [217] 2011 ✓ ✓ ✓ Review [205] 2012 ✓ ✓ ✓ Control Engineering [282] 2012 ✓ ✓ ✓ Review [298] 2012 ✓ ✓ ✓ Review [48] 2013 ✓ ✓ ✓ Networking [237] 2015 ✓ ✓ ✓ Review [158] 2015 ✓ ✓ ✓ ✓ ✓ Review [66] 2015 ✓ ✓ ✓ ✓ Web Services [83] 2016 ✓ ✓ ✓ Holonic Systems [190] 2016 ✓ ✓ ✓ Cyber Physical Systems [157] 2016 ✓ ✓ ✓ ✓ IaaS [221] 2017 ✓ ✓ ✓ Software Engineering [74] 2018 ✓ ✓ ✓ UML [256] 2018 ✓ ✓ ✓ ✓ IaaS [250] 2018 ✓ ✓ ✓ ✓ Review [26] 2018 ✓ ✓ ✓ Review [84] 2018 ✓ ✓ ✓ Review [118] 2019 ✓ ✓ ✓ ✓ Mobile Systems [77] 2019 ✓ ✓ ✓ Review

[49] J. C´amara, R. de Lemos, M. Vieira, R. Almeida, and R. Ven- Adaptive and Self-Organizing Systems (SASO), pages 119–128, 2011. tura. Architecture-based resilience evaluation for self-adaptive [54] A. Carzaniga, A. Gorla, and M. Pezz`e. Self-healing by means systems. Computing, 95(8):689–722, 2013. of automatic workarounds. In International Workshop on Software [50] J. C´amara, A. Lopes, D. Garlan, and B. R. Schmerl. Adapta- Engineering for Adaptive and Self-Managing Systems, page 17–24. tion impact and environment models for architecture-based self- ACM, 2008. adaptive systems. Science of Computer Programming, 127:50–75, [55] P. Casanova, D. Garlan, B. Schmerl, and R. Abreu. Diagnosing 2016. unobserved components in self-adaptive systems. In International [51] J. C´amara, G. A. Moreno, and D. Garlan. Stochastic game Symposium on Software Engineering for Adaptive and Self-Managing analysis and latency awareness for proactive self-adaptation. In Systems (SEAMS), page 75–84. ACM, 2014. International Symposium on Software Engineering for Adaptive and [56] P. Champrasert, J. Suzuki, and C. Lee. Exploring self- Self-Managing Systems (SEAMS), page 155–164. ACM, 2014. optimization and self-stabilization properties in bio-inspired au- [52] M. Camilli, A. Gargantini, and P. Scandurra. Zone-based formal tonomic cloud applications. Concurrency and Computation: Practice specification and timing analysis of real-time self-adaptive sys- and Experience, 24(9):1015–1034, 2012. tems. Science of Computer Programming, 159:28–57, 2018. [57] K. Chan and J. Bishop. The design of a self-healing composition [53] A. Campbell, C. Riggs, and A. Wu. On the impact of variation cycle for web services. In ICSE Workshop on Software Engineering on self-organizing systems. In International Conference on Self- for Adaptive and Self-Managing Systems (SEAMS), pages 20 – 27, 14 TABLE 22 Methodology

Type Applic. Contrib. Evaluation Method Reference Year General architecture New Framework Analysis Technique New Pattern Formal Criteria New Approach Case study Simulated Extension Novel Preliminary Case Study Industrial Comparison Human Subject Quantitative Unknown/None Domain [287] 2004 ✓ ✓ ✓ ✓ Load Balancing [79] 2005 ✓ ✓ ✓ Automotive [144] 2005 ✓ ✓ ✓ ✓ IoT [145] 2005 ✓ ✓ ✓ ✓ Web Services [242] 2005 ✓ ✓ ✓ IoT [262] 2006 ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [300] 2006 ✓ ✓ ✓ ✓ ✓ Mobile Systems [154] 2006 ✓ ✓ ✓ ✓ Speech Recognition [296] 2006 ✓ ✓ ✓ ✓ Security [163] 2007 ✓ ✓ ✓ ✓ Programmer [86] 2008 ✓ ✓ ✓ ✓ Computer [123] 2008 ✓ ✓ ✓ ✓ Computer [65] 2008 ✓ ✓ ✓ ✓ IoT [255] 2008 ✓ ✓ ✓ ✓ Robotics [235] 2008 ✓ ✓ ✓ ✓ Robotics [260] 2008 ✓ ✓ ✓ ✓ Networking [204] 2008 ✓ ✓ ✓ ✓ Web Services [54] 2008 ✓ ✓ ✓ ✓ Web Services [20] 2008 ✓ ✓ ✓ ✓ Web Services [29] 2009 ✓ ✓ ✓ ✓ System on Chip [47] 2009 ✓ ✓ ✓ ✓ Service-Oriented Systems [169] 2009 ✓ ✓ ✓ ✓ Service-Oriented Systems [87] 2009 ✓ ✓ ✓ ✓ Robotics [72] 2009 ✓ ✓ ✓ ✓ Web Services [238] 2010 ✓ ✓ ✓ ✓ Automotive [247] 2010 ✓ ✓ ✓ ✓ Mobile Systems [92] 2010 ✓ ✓ ✓ ✓ IoT [210] 2010 ✓ ✓ ✓ ✓ Web Services [152] 2011 ✓ ✓ ✓ ✓ IaaS [261] 2011 ✓ ✓ ✓ ✓ Networking [94] 2011 ✓ ✓ ✓ ✓ Robotics [229] 2011 ✓ ✓ ✓ ✓ Robotics [265] 2011 ✓ ✓ ✓ ✓ Other [73] 2011 ✓ ✓ ✓ ✓ Web Services [141] 2012 ✓ ✓ ✓ ✓ Networking [194] 2012 ✓ ✓ ✓ ✓ Robotics [208] 2012 ✓ ✓ ✓ ✓ Software Engineering [116] 2012 ✓ ✓ ✓ ✓ Service-Oriented Systems [69] 2012 ✓ ✓ ✓ Web Services [165] 2012 ✓ ✓ ✓ ✓ Web Services [164] 2013 ✓ ✓ ✓ ✓ UML [6] 2013 ✓ ✓ ✓ ✓ IaaS [99] 2013 ✓ ✓ ✓ ✓ Mobile Systems [267] 2013 ✓ ✓ ✓ ✓ Service-Oriented Systems [49] 2013 ✓ ✓ ✓ ✓ Web Services [228] 2013 ✓ ✓ ✓ ✓ Web Services [97] 2014 ✓ ✓ ✓ ✓ Video Encoding [297] 2014 ✓ ✓ ✓ ✓ IoT [293] 2014 ✓ ✓ ✓ ✓ Robotics [55] 2014 ✓ ✓ ✓ Web Services [51] 2014 ✓ ✓ ✓ ✓ Web Services [129] 2015 ✓ ✓ ✓ ✓ IoT [121] 2015 ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [98] 2015 ✓ ✓ ✓ ✓ Mobile Systems [104] 2015 ✓ ✓ ✓ ✓ Networking [183] 2015 ✓ ✓ ✓ Web Services [203] 2015 ✓ ✓ ✓ ✓ Web Services [40] 2016 ✓ ✓ ✓ ✓ Bio-inspired [50] 2016 ✓ ✓ ✓ ✓ Web Services [110] 2016 ✓ ✓ ✓ ✓ Cyber Physical Systems [100] 2016 ✓ ✓ ✓ ✓ IaaS [201] 2016 ✓ ✓ ✓ ✓ IaaS [240] 2016 ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [218] 2016 ✓ ✓ ✓ ✓ Mobile Systems [280] 2016 ✓ ✓ ✓ ✓ Service-Oriented Systems [225] 2017 ✓ ✓ ✓ ✓ System on Chip [188] 2017 ✓ ✓ ✓ ✓ Automotive [230] 2017 ✓ ✓ ✓ ✓ IaaS [70] 2017 ✓ ✓ ✓ ✓ IoT [195] 2018 ✓ ✓ ✓ ✓ Clonal Plasticity [161] 2018 ✓ ✓ ✓ ✓ Retrofitting systems with self-adaptation [276] 2018 ✓ ✓ ✓ ✓ Cyber Physical Systems [226] 2018 ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [182] 2018 ✓ ✓ ✓ ✓ Networking [46] 2018 ✓ ✓ ✓ ✓ Security [269] 2018 ✓ ✓ ✓ ✓ Web Services [111] 2019 ✓ ✓ ✓ ✓ Cyber Physical Systems [246] 2019 ✓ ✓ ✓ ✓ IoT [44] 2019 ✓ ✓ ✓ ✓ IoT 15

TABLE 23 Empirical

Monitoring Adaptation Adaptation Evaluation Testing Strategy Strategy Applic. Technique Method Reference Year Design-time Run-time Present Present Case Study Simulated Parameter Component Preliminary Case Study Industrial Comparison Human Subject Quantitative Unknown/None Domain [28] 2004 ✓ ✓ ✓ ✓ Load Balancing [42] 2004 ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [244] 2005 ✓ ✓ ✓ ✓ ✓ Web Services [2] 2006 ✓ ✓ ✓ ✓ ✓ ✓ ✓ Service-Oriented Systems [277] 2009 ✓ ✓ ✓ ✓ ✓ ✓ Automotive [89] 2009 ✓ ✓ ✓ ✓ ✓ Automotive [90] 2009 ✓ ✓ ✓ ✓ ✓ ✓ Automated Traffic Management Control [113] 2009 ✓ ✓ ✓ ✓ Web Services [88] 2010 ✓ ✓ ✓ ✓ ✓ Water Networks [211] 2011 ✓ ✓ ✓ ✓ ✓ Intelligence Surveillance Reconnaissance [232] 2012 ✓ ✓ ✓ ✓ ✓ ✓ ✓ e-Commerce [207] 2012 ✓ ✓ ✓ ✓ ✓ ✓ Control Engineering [82] 2012 ✓ ✓ ✓ ✓ Networking [286] 2013 ✓ ✓ ✓ ✓ ✓ ✓ Automated Traffic Management Control [117] 2013 ✓ ✓ ✓ ✓ ✓ Water Networks [133] 2014 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ IaaS [124] 2015 ✓ ✓ ✓ ✓ ✓ ✓ IaaS [105] 2015 ✓ ✓ ✓ ✓ ✓ ✓ Networking [186] 2017 ✓ ✓ ✓ ✓ ✓ ✓ IaaS [68] 2017 ✓ ✓ ✓ ✓ ✓ ✓ Mobile Systems [151] 2018 ✓ ✓ Automotive [212] 2018 ✓ ✓ ✓ ✓ ✓ ✓ IaaS [103] 2018 ✓ ✓ ✓ ✓ ✓ ✓ Robotics

2009. International Workshop on Emotion Awareness in Software Engineer- [58] B. Chen, X. Peng, Y. Yu, B. Nuseibeh, and W. Zhao. Self- ing (SEmotion), pages 15–21. IEEE, 2017. adaptation through incremental generative model transforma- [69] J. C´amara and R. de Lemos. Evaluation of resilience in self- tions at runtime. In International Conference on Software Engineer- adaptive systems using probabilistic model-checking. In Inter- ing (ICSE), page 676–687. ACM, 2014. national Symposium on Software Engineering for Adaptive and Self- [59] T. Chen and R. Bahsoon. Self-adaptive and online qos modeling Managing Systems (SEAMS), pages 53–62, 2012. for cloud-based software services. IEEE Transactions on Software [70] J. C´amara, R. de Lemos, N. Laranjeiro, R. Ventura, and M. Vieira. Engineering, 43(5):453–475, 2017. Robustness-driven resilience evaluation of self-adaptive software [60] A. Cheng. Self-stabilizing real-time rule-based systems. In systems. IEEE Transactions on Dependable and Secure Computing, Symposium on Reliable Distributed Systems (SRDS), pages 172–179. 14(1):50–64, 2017. IEEE, 1992. [71] J. C´amara, G. Moreno, and D. Garlan. Reasoning about human [61] S. Cheng, D. Garlan, and B. Schmerl. Evaluating the effectiveness participation in self-adaptive systems. In International Symposium of the rainbow self-adaptive system. In ICSE Workshop on Soft- on Software Engineering for Adaptive and Self-Managing Systems ware Engineering for Adaptive and Self-Managing Systems (SEAMS), (SEAMS), pages 146–156, 2015. pages 132–141, 2009. [72] C. E. da Silva and R. de Lemos. Using dynamic workflows for coordinating self-adaptation of software systems. In ICSE [62] S.-W. Cheng and D. Garlan. Stitch: A language for Workshop on Software Engineering for Adaptive and Self-Managing architecture-based self-adaptation. Journal of Systems and Software, Systems (SEAMS), pages 86–95, 2009. 85(12):2860–2875, 2012. [73] C. E. da Silva and R. de Lemos. Dynamic plans for integration [63] S.-W. Cheng, D. Garlan, and B. Schmerl. Architecture-based self- testing of self-adaptive software systems. In ICSE Symposium adaptation in the presence of multiple objectives. In International on Software Engineering for Adaptive and Self-Managing Systems Workshop on Self-Adaptation and Self-Managing Systems (SEAMS), (SEAMS), pages 148–157. ACM, 2011. page 2–8. ACM, 2006. [74] J. P. S. da Silva, M. Ecar, M. S. Pimenta, G. T. A. Guedes, L. P. [64] S.-W. Cheng, D. Garlan, and B. R. Schmerl. Making self- Franz, and L. Marchezan. A systematic literature review of adaptation an engineering reality. In Self-star Properties in Complex uml-based domain-specific modeling languages for self-adaptive Information Systems, Conceptual and Practical Foundations, pages systems. In International Conference on Software Engineering for 158–173. Springer, 2005. Adaptive and Self-Managing Systems (SEAMS), pages 87–93. ACM, [65] G. Clair, E. Kaddoum, M. Gleizes, and G. Picard. Self-regulation 2018. in self-organising multi-agent systems for adaptive and intelli- [75] Y. Dai, Y. Xiang, Y.-F. Li, L. Xing, and G. Zhang. Consequence ori- gent manufacturing control. In International Conference on Self- ented self-healing and autonomous diagnosis for highly reliable Adaptive and Self-Organizing Systems, pages 107–116, 2008. systems and software. IEEE Transactions on Reliability, 60:369–380, [66] Z. Coker, D. Garlan, and C. L. Goues. Sass: Self-adaptation using 2011. stochastic search. In International Symposium on Software Engi- [76] F. Dalpiaz, P. Giorgini, and J. Mylopoulos. An architecture for neering for Adaptive and Self-Managing Systems (SEAMS), pages requirements-driven self-reconfiguration. In Advanced Information 168–174, 2015. Systems Engineering (CAiSE). Springer, 2009. [67] K. Colson, R. Dupuis, L. Montrieux, Z. Hu, S. Uchitel, and [77] M. D’Angelo, S. Gerasimou, S. Ghahremani, J. Grohmann, P. Schobbens. Reusable self-adaptation through bidirectional I. Nunes, E. Pournaras, and S. Tomforde. On learning in collective programming. In International Symposium on Software Engineering self-adaptive systems: state of practice and a 3d framework, 2019. for Adaptive and Self-Managing Systems (SEAMS), pages 4–15. [78] R. de Lemos. The conflict between self-* capabilities and pre- ACM, 2016. dictability. In Self-star Properties in Complex Information Systems, [68] N. Condori-Fern´andez and F. S. Lopez. Using emotions to Conceptual and Practical Foundations, pages 219–228. Springer, empower the self-adaptation capability of software services. In 2005. 16

[79] T. De Wolf, G. Samaey, T. Holvoet, and D. Roose. Decentralised adaptive mobile applications. Software Practuce and Experience, autonomic computing: Analysing self-organising emergent be- 43(3):359–388, 2013. haviour using advanced numerical methods. In International [100] J. M. Franco, F. Correia, R. Barbosa, M. Zenha-Rela, B. Schmerl, Conference on Autonomic Computing (ICAC), pages 52–63. IEEE, and D. Garlan. Improving self-adaptation planning through 2005. software architecture-based stochastic modeling. The Journal of [80] B. Debbabi, A. Diaconescu, and P. Lalanda. Controlling self- Systems and Software, 115:42–60, 2016. organising software applications with archetypes. In International [101] E. Fredericks, B. DeVries, and B. Cheng. Towards run-time Conference on Self-Adaptive and Self-Organizing Systems (SASO), adaptation of test cases for self-adaptive systems in the face of pages 69–78, 2012. uncertainty. International Symposium on Software Engineering for [81] B. DeVries and B. Cheng. Run-time monitoring of self-adaptive Adaptive and Self-Managing Systems (SEAMS), 2014. systems to detect n-way feature interactions and their causes. In [102] E. M. Fredericks. Automatically hardening a self-adaptive system International Conference on Software Engineering for Adaptive and against uncertainty. In International Symposium on Software Engi- Self-Managing Systems (SEAMS), pages 94–100, 2018. neering for Adaptive and Self-Managing Systems (SEAMS), pages [82] E. Di Nitto, D. Dubois, and A. Margara. Reconfiguration prim- 16–27. ACM, 2016. itives for self-adapting overlays in distributed publish-subscribe [103] E. M. Fredericks. An empirical analysis of the mutation operator systems. In International Conference on Self-Adaptive and Self- for run-time adaptive testing in self-adaptive systems. pages 59– Organizing Systems (SASO), 2012. 66, 2018. [83] A. Diaconescu, S. Frey, C. M ¨uller-Schloer, J. Pitt, and S. Tomforde. [104] E. M. Fredericks and B. H. C. Cheng. Automated generation Goal-oriented holonics for complex system (self-)integration: of adaptive test plans for self-adaptive systems. In International Concepts and case studies. In International Conference on Self- Symposium on Software Engineering for Adaptive and Self-Managing Adaptive and Self-Organizing Systems (SASO), pages 100–109. Systems (SEAMS), pages 157–167. IEEE, 2015. IEEE, 2016. [105] E. M. Fredericks and B. H. C. Cheng. An empirical analysis of [84] A. Diaconescu, B. Porter, R. Rodrigues, and E. Pournaras. Hier- providing assurance for self-adaptive systems at different levels archical self-awareness and authority for scalable self-integrating of abstraction in the face of uncertainty. In International Workshop systems. In International Workshops on Foundations and Applications on Search-Based Software Testing (SBST), pages 8–14. IEEE, 2015. of Self* Systems (FAS*W), pages 168–175. IEEE, 2018. [106] C. Gacek, H. Giese, and E. Hadar. Friends or foes? a conceptual [85] Z. Ding, Y. Zhou, and M. Zhou. Modeling self-adaptive software analysis of self-adaptation and it change management. In ICSE systems by fuzzy rules and petri nets. IEEE Transactions on Fuzzy Workshop on Software Engineering for Adaptive and Self-Managing Systems, 26(2):967–984, 2018. Systems (SEAMS), pages 121–128. ACM, 2008. [86] S. Dolev and R. Yagel. Towards self-stabilizing operating systems. [107] A. G. Ganek and T. A. Corbi. The dawning of the autonomic IEEE Transactions on Software Engineering, 34(4):564–576, 2008. computing era. IBM Systems Journal, 42(1):5–18, 2003. [87] Dongsun Kim and S. Park. Reinforcement learning-based dy- [108] A. G. Ganek, C. P. Hilkner, J. W. Sweitzer, B. Miller, and J. L. namic adaptation planning method for architecture-based self- Hellerstein. The response to it complexity: autonomic computing. managed software. In ICSE Workshop on Software Engineering for In International Symposium on Network Computing and Applications Adaptive and Self-Managing Systems (SEAMS), pages 76–85, 2009. (NCA), pages 151–157, 2004. [88] F. D¨otsch, J. Denzinger, H. Kasinger, and B. Bauer. Decentral- [109] D. Garlan, S. . Cheng, A. . Huang, B. Schmerl, and P. Steenkiste. ized Real-Time Control of Water Distribution Networks Using Self- Rainbow: architecture-based self-adaptation with reusable infras- Organizing Multi-agent Systems. IEEE, 2010. tructure. Computer, 37(10):46–54, 2004. [110] I. Gerostathopoulos, T. Bures, P. Hnetynka, J. Keznikl, M. Kit, [89] I. Dusparic and V. Cahill. Distributed w-learning: Multi-policy F. Plasil, and N. Plouzeau. Self-adaptation in software-intensive optimization in self-organizing systems. In International Confer- cyber-physical systems: From system goals to architecture con- ence on Self-Adaptive and Self-Organizing Systems (SASO), pages figurations. Journal of Systems and Software, 122:378–397, 2016. 20–29, 2009. [111] I. Gerostathopoulos, D. Skoda, F. Plasil, T. Bures, and A. Knauss. [90] I. Dusparic and V. Cahill. Using reinforcement learning for multi- Tuning self-adaptation in cyber-physical systems through archi- policy optimization in decentralized autonomic systems — an tectural homeostasis. Journal of Systems and Software, 148:37–55, experimental evaluation. In International Conference on Autonomic 2019. and Trusted Computing (ATC), page 105–119. Springer, 2009. [112] S. Ghahremani, H. Giese, and T. Vogel. Efficient utility-driven [91] S. Dustdar, C. Dorn, F. Li, L. Baresi, G. Cabri, C. Pautasso, and self-healing employing adaptation rules for large dynamic archi- F. Zambonelli. A roadmap towards sustainable self-aware service tectures. International Conference on Autonomic Computing (ICAC), systems. In ICSE Workshop on Software Engineering for Adaptive and pages 59–68, 2017. Self-Managing Systems (SEAMS), pages 10–19. ACM, 2010. [113] H. Ghanbari and M. Litoiu. Identifying implicitly declared self- [92] A. Elkhodary, N. Esfahani, and S. Malek. Fusion: A framework tuning behavior through dynamic analysis. In ICSE Workshop for engineering self-tuning self-adaptive software systems. pages on Software Engineering for Adaptive and Self-Managing Systems 7–16, 2010. (SEAMS), pages 48–57. IEEE, 2009. [93] I. Epifani, C. Ghezzi, R. Mirandola, and G. Tamburrelli. Model [114] C. Ghezzi, L. S. Pinto, P. Spoletini, and G. Tamburrelli. Managing evolution by run-time parameter adaptation. In International non-functional uncertainty via model-driven adaptivity. In 35th Conference on Software Engineering (ICSE), pages 111–121, 2009. International Conference on Software Engineering (ICSE), pages 33– [94] N. Esfahani, E. Kouroshfar, and S. Malek. Taming uncertainty in 42, 2013. self-adaptive software. In Symposium and the European Conference [115] D. Ghosh, R. Sharman, H. Raghav Rao, and S. Upadhyaya. Self- on Foundations of Software Engineering (ESEC/FSE), page 234–244. healing systems - survey and synthesis. Decision Support Systems, ACM, 2011. 42(4):2164–2185, 2007. [95] A. Filieri, C. Ghezzi, and G. Tamburrelli. Run-time efficient [116] H. Gomaa and K. Hashimoto. Dynamic self-adaptation for dis- probabilistic model checking. In 33rd International Conference on tributed service-oriented transactions. In International Symposium Software Engineering (ICSE), page 341–350. ACM, 2011. on Software Engineering for Adaptive and Self-Managing Systems [96] A. Filieri, C. Ghezzi, and G. Tamburrelli. A formal approach (SEAMS), pages 11–20, 2012. to adaptive software: continuous assurance of non-functional [117] P. Grosselfinger, J. Denzinger, and B. Bauer. An advisor concept requirements. Formal Asp. Comput, 24(2):163–186, 2012. for distributed self-organizing systems acting in highly connected [97] A. Filieri, H. Hoffmann, and M. Maggio. Automated design environments. In International Conference on Self-Adaptive and Self- of self-adaptive software with control-theoretical formal guaran- Organizing Systems (SASO), pages 121–130, 2013. tees. In International Conference on Software Engineering (ICSE), [118] E. M. Grua, I. Malavolta, and P. Lago. Self-adaptation in mobile page 299–310. ACM, 2014. apps: a systematic literature study. In International Symposium [98] A. Filieri, H. Hoffmann, and M. Maggio. Automated multi- on Software Engineering for Adaptive and Self-Managing Systems objective control for self-adaptive software design. In Foundations (SEAMS), pages 51–62, 2019. of Software Engineering (FSE), page 13–24. ACM, 2015. [119] I. Gupta, S. Ko, N. Thompson, M. Nagda, C. Devaraj, R. Morales, [99] J. Floch, C. Fr`a, R. Fricke, K. Geihs, M. Wagner, J. L. Gallardo, and J. Patel. A case for design methodology research in self-* E. S. Cantero, S. Mehlhase, N. Paspallis, H. Rahnama, P. A. Ruiz, distributed systems. In Self-star Properties in Complex Information and U. Scholz. Playing music - building context-aware and self- Systems, pages 260–272, 2005. 17

[120] D. Hales. Sociologically inspired approaches for self-*: Exam- [139] W. Jiao and Y. Sun. Self-adaptation of multi-agent systems in ples and prospects. In Self-star Properties in Complex Informa- dynamic environments based on experience exchanges. Journal tion Systems, Conceptual and Practical Foundations, pages 433–445. of Systems and Software, 122:165–179, 2016. Springer, 2005. [140] Jingmei Yang, Huoping Chen, Salim Hariri, and Manish [121] S. Hassan, N. Bencomo, and R. Bahsoon. Minimizing nasty Parashar. Autonomic runtime manager for adaptive distributed surprises with better informed decision-making in self-adaptive applications. In International Symposium on High Performance systems. In International Symposium on Software Engineering for Distributed Computing (HPDC), pages 69–78, 2005. Adaptive and Self-Managing Systems (SEAMS), pages 134–145, [141] S. Junuzovic and P. Dewan. Towards self-optimizing collabora- 2015. tive systems. In Computer Supported Cooperative Work (CSCW), [122] C. Heinzemann, J. Rieke, and W. Sch¨afer. Simulating self- pages 1421–1430. ACM, 2012. adaptive component-based systems using matlab/simulink. In [142] N. H. Kacem, A. H. Kacem, and K. Drira. A formal approach to International Conference on Self-Adaptive and Self-Organizing Sys- enforcing consistency in self-adaptive systems. In European Con- tems (SASO), pages 71–80, 2013. ference on Software Architecture (ECSA), pages 279–294. Springer, [123] H. Hemmati and R. Jalili. Self-reconfiguration in highly available 2010. pervasive computing systems. In Autonomic and Trusted Comput- [143] E. Kaddoum, C. Raibulet, J.-P. Georg´e, G. Picard, and M.-P. ing (ATC), volume 5060, pages 289–301. Springer, 2008. Gleizes. Criteria for the evaluation of self-* systems. In ICSE [124] N. R. Herbst, S. Kounev, A. Weber, and H. Groenda. Bungee: An Workshop on Software Engineering for Adaptive and Self-Managing elasticity benchmark for self-adaptive iaas cloud environments. Systems (SEAMS), page 29–38. ACM, 2010. In International Symposium on Software Engineering for Adaptive and [144] N. Kandasamy, S. Abdelwahed, G. C. Sharp, and J. P. Hayes. Self-Managing Systems (SEAMS), pages 46–56, 2015. An online control framework for designing self-optimizing com- [125] F. Heylighen, C. Gershenson, S. Staab, G. W. Flake, D. M. puting systems: Application to power management. In Self-star Pennock, D. C. Fain, D. De Roure, K. Aberer, Wei-Min Shen, Properties in Complex Information Systems, Conceptual and Practical O. Dousse, and P. Thiran. Neurons, viscose fluids, freshwater Foundations, pages 174–188. Springer, 2005. polyp hydra-and self-organizing information systems. IEEE [145] V. Kapoor. Services and autonomic computing: A practical Intelligent Systems, 18(4):72–86, 2003. approach for designing manageability. In International Conference [126] G.-J. Houben, Z. Fiala, K. van der Sluijs, and M. Hinz. Build- on Autonomic Computing (ICAC), pages 41–48. IEEE, 2005. ing self-managing web information systems from generic com- [146] H. Kasinger, B. Bauer, and J. Denzinger. The meaning of ponents. In Advanced Information Systems Engineering (CAiSE) semiochemicals to the design of self-organizing systems. In In- Workshops, pages 53–67. FEUP Edic¸˜oes, Porto, 2005. ternational Conference on Self-Adaptive and Self-Organizing Systems [127] P. Hu, J. Indulska, and R. Robinson. An autonomic context (SASO), pages 139–148, 2008. management system for pervasive computing. In International [147] J. Kephart, M. Parashar, V. Sunderam, and R. Das. Message from Conference on Pervasive Computing and Communications (PerCom), the general chairs and program chairs. In International Conference pages 213–223, 2008. on Autonomic Computing, pages x–x, Los Alamitos, CA, USA, 2004. IEEE Computer Society. [128] W. Huang and W. J. Knottenbelt. Self-adaptive containers: Building resource-efficient applications with low programmer [148] J. O. Kephart. Research challenges of autonomic computing. In International Conference on Software Engineering (ICSE) overhead. In International Symposium on Software Engineering , pages 15– for Adaptive and Self-Managing Systems (SEAMS), pages 123–132, 22, 2005. 2013. [149] J. O. Kephart and D. M. Chess. The vision of autonomic comput- ing. Computer, 36(1):41–50, 2003. [129] J. Hudson and J. Denzinger. Risk management for self-adapting [150] N. Khakpour, S. Jalili, C. Talcott, M. Sirjani, and M. Mousavi. self-organizing emergent multi-agent systems performing dy- Formal modeling of evolving self-adaptive systems. Science of namic task fulfillment. Autonomous Agents and Multi-Agent Sys- Computer Programming, 78(1), 2012. tems, 29(5):973–1022, 2015. [151] D. King and G. L. Peterson. A macro-level order metric for self- [130] J. Hudson, J. Denzinger, H. Kasinger, and B. Bauer. Dependable organizing adaptive systems. In International Conference on Self- risk-aware efficiency improvement for self-organizing emergent Adaptive and Self-Organizing Systems (SASO), pages 60–69. IEEE, systems. In International Conference on Self-Adaptive and Self- 2018. Organizing Systems (SASO), pages 11–20, 2011. [152] T. M. King, A. A. Allen, R. Cruz, and P. J. Clarke. Safe runtime [131] M. C. Huebscher and J. A. McCann. A survey of autonomic validation of behavioral adaptations in autonomic software. In computing—degrees, models, and applications. ACM Computing Autonomic and Trusted Computing (ATC), pages 31–46. Springer, Surveys, 40(3), 2008. 2011. [132] N. H¨oning and H. La Poutr´e. Designing comprehensible self- [153] C. Kinneer, Z. Coker, J. Wang, D. Garlan, and C. L. Goues. organising systems. In International Conference on Self-Adaptive Managing uncertainty in self-adaptive systems with plan reuse and Self-Organizing Systems (SASO), pages 233–242, 2010. and stochastic search. In International Conference on Software En- [133] P. Idziak and S. Clarke. An analysis of decision-making tech- gineering for Adaptive and Self-Managing Systems (SEAMS), pages niques in dynamic, self-adaptive systems. In International Con- 40–50. ACM, 2018. ference on Self-Adaptive and Self-Organizing Systems (SASO) Work- [154] H. Klus and A. Rausch. A general architecture for self-adaptive shops, pages 137–143, 2014. ami components applied in speech recognition. In International [134] M. U. Iftikhar, G. S. Ramachandran, P. Bollans´ee, D. Weyns, and Workshop on Self-Adaptation and Self-Managing Systems (SEAMS), D. Hughes. Deltaiot: A self-adaptive internet of things exemplar. page 72–78. ACM, 2006. In International Symposium on Software Engineering for Adaptive and [155] J. Kramer and J. Magee. The evolving philosophers problem: Self-Managing Systems (SEAMS), pages 76–82. IEEE, 2017. dynamic change management. IEEE Transactions on Software [135] M. U. Iftikhar and D. Weyns. Activforms: Active formal models Engineering, 16(11):1293–1306, 1990. for self-adaptation. In International Symposium on Software En- [156] C. Krupitzer, M. Pfannem ¨uller, J. Kaddour, and C. Becker. Satisfy: gineering for Adaptive and Self-Managing Systems (SEAMS), page Towards a self-learning analyzer for time series forecasting in 125–134. ACM, 2014. self-improving systems. In International Workshops on Foundations [136] E. Incerto, M. Tribastone, and C. Trubiani. Software performance and Applications of Self* Systems (FAS*W), pages 182–189. IEEE, self-adaptation through efficient model predictive control. In 2018. International Conference on Automated Software Engineering (ASE), [157] C. Krupitzer, F. M. Roth, M. Pfannem ¨uller, and C. Becker. Com- pages 485–496. IEEE, 2017. parison of approaches for self-improvement in self-adaptive sys- [137] J. F. Ingl´es-Romero and C. Vicente-Chicote. Towards a formal tems. In International Conference on Autonomic Computing (ICAC), approach for prototyping and verifying self-adaptive systems. pages 308–314. IEEE, 2016. In Advanced Information Systems Engineering Workshops (CAIiSE) [158] C. Krupitzer, F. M. Roth, S. VanSyckel, G. Schiele, and C. Becker. Workshops, volume 148, pages 432–446. Springer, 2013. A survey on engineering approaches for self-adaptive systems. [138] S. Jahan, A. Marshall, and R. F. Gamble. Embedding verification Pervasive and , 17(PB):184–206, 2015. concerns in self-adaptive system code. In International Conference [159] Z. Kurmas and K. Keeton. Using the distiller to direct the devel- on Self-Adaptive and Self-Organizing Systems (SASO), pages 121– opment of self-configuration software. In International Conference 130. IEEE, 2017. on Autonomic Computing (ICAC), pages 172–179. IEEE, 2004. 18

[160] P. Lalanda, C. Escoffier, and C. Hamon. Cilia: An autonomic [181] M. Morandini, L. Penserini, and A. Perini. Towards goal-oriented service bus for pervasive environments. pages 488–495, 2014. development of self-adaptive systems. In International Workshop [161] H. Li, T.-H. P. Chen, A. E. Hassan, M. N. Nasser, and P. Flora. on Software Engineering for Adaptive and Self-Managing Systems Adopting autonomic computing capabilities in existing large- (SEAMS), page 9–16. ACM, 2008. scale systems: an industrial experience report. In International [182] G. A. Moreno, J. C´amara, D. Garlan, and M. Klein. Uncertainty Conference on Software Engineering: Software Engineering in Practice reduction in self-adaptive systems. In International Conference (SEIP@ICSE), pages 1–10. ACM, 2018. on Software Engineering for Adaptive and Self-Managing Systems [162] X. Li, H. Kang, P. Harrington, and J. Thomas. Autonomic and (SEAMS), pages 51–57. ACM, 2018. trusted computing paradigms. pages 143–152, 2006. [183] G. A. Moreno, J. C´amara, D. Garlan, and B. Schmerl. Proactive [163] D. Lorenzoli, L. Mariani, and M. Pezz`e. Towards self-protecting self-adaptation under uncertainty: A probabilistic model check- enterprise applications. In International Symposium on Software ing approach. In Foundations of Software Engineering (ESEC/FSE), Reliability Engineering (ISSRE), pages 39–48, 2007. page 1–12. ACM, 2015. [164] M. Luckey and G. Engels. High-quality specification of self- [184] G. A. Moreno, J. C´amara, D. Garlan, and B. R. Schmerl. Efficient adaptive software systems. In International Symposium on Soft- decision-making under uncertainty for proactive self-adaptation. ware Engineering for Adaptive and Self-Managing Systems (SEAMS), In International Conference on Autonomic Computing (ICAC), pages pages 143–152, 2013. 147–156. IEEE, 2016. [165] M. Luckey, C. Thanos, C. Gerth, and G. Engels. Multi-staged [185] G. A. Moreno, C. Kinneer, A. Pandey, and D. Garlan. Dartsim: quality assurance for self-adaptive systems. In International an exemplar for evaluation and comparison of self-adaptation Conference on Self-Adaptive and Self-Organizing Systems (SASO) approaches for smart cyber-physical systems. In International Workshops, pages 111–118, 2012. Symposium on Software Engineering for Adaptive and Self-Managing [166] G. Lulli, P. Potena, and C. Raibulet. Resource allocation, trading Systems (SEAMS), pages 181–187. ACM, 2019. and adaptation in self-managing systems. In Advanced Information [186] G. A. Moreno, A. V. Papadopoulos, K. Angelopoulos, J. C´amara, Systems Engineering Workshops (CAiSE) Workshops, volume 83, and B. R. Schmerl. Comparing model-based predictive ap- pages 385–396. Springer, 2011. proaches to self-adaptation: Cobra and PLA. In International [167] C.-H. Lung, X. Zhang, and P. Rajeswaran. Improving software Symposium on Software Engineering for Adaptive and Self-Managing performance and reliability in a distributed and concurrent en- Systems (SEAMS), pages 42–53. IEEE, 2017. vironment with an architecture-based self-adaptive framework. [187] G. A. Moreno, B. R. Schmerl, and D. Garlan. Swim: an exemplar Journal of Systems and Software, 121:311–328, 2016. for evaluation and comparison of self-adaptation approaches for [168] S. Mahdavi-Hezavehi, V. H. Durelli, D. Weyns, and P. Avgeriou. web applications. In International Conference on Software Engineer- A systematic literature review on methods that handle multiple ing for Adaptive and Self-Managing Systems (SEAMS), pages 137– quality attributes in architecture-based self-adaptive systems. 143. ACM, 2018. Information and Software Technology, 90:1–26, 2017. [188] G. A. Moreno, O. Strichman, S. Chaki, and R. Vaisman. Decision- [169] S. Malek, N. Esfahani, D. A. Menasce, J. P. Sousa, and H. Gomaa. making with cross-entropy for self-adaptation. In International Self-architecting software systems (sassy) from qos-annotated Symposium on Software Engineering for Adaptive and Self-Managing activity models. In ICSE Workshop on Principles of Engineering Systems (SEAMS), pages 90–101. IEEE, 2017. Service Oriented Systems , pages 62–69, 2009. [189] J. C. Moreno, A. Lopes, D. Garlan, and B. R. Schmerl. Impact [170] A. Marshall, S. Jahan, and R. F. Gamble. Toward evaluating the models for architecture-based self-adaptive systems. In Formal impact of self-adaptation on security control certification. In Aspects of Component Software - International Symposium, (FACS) International Conference on Software Engineering for Adaptive and Revised Selected Papers, volume 8997, pages 89–107. Springer, 2014. Self-Managing Systems (SEAMS), pages 149–160. ACM, 2018. [190] H. Muccini, M. Sharaf, and D. Weyns. Self-adaptation for cyber- [171] A. Martin, T. Smaneoto, T. Dietze, A. Brito, and C. Fetzer. User- physical systems: a systematic literature review. In International constraint and self-adaptive fault tolerance for event stream pro- Symposium on Software Engineering for Adaptive and Self-Managing cessing systems. In International Conference on Dependable Systems Systems (SEAMS), pages 75–81. ACM, 2016. and Networks (DSN), pages 462–473. IEEE, 2015. [191] F. Nafz, F. Ortmeier, H. Seebach, J.-P. Stegh¨ofer, and W. Reif. [172] Y. Maurel, S. Chollet, V. Lestideau, J. Bardin, P. Lalanda, and A universal self-organization mechanism for role-based organic A. Bottaro. fanfare: Autonomic framework for service-based computing systems. In Autonomic and Trusted Computing (ATC), pervasive environment. In International Conference on Services pages 17–31. Springer, 2009. Computing (SCC), pages 65–72, 2012. [173] Y. Maurel, P. Lalanda, and A. Diaconescu. Towards a service- [192] R. Nagpal, F. Zambonelli, E. Sirer, H. Chaouchi, and M. Smirnov. oriented component model for autonomic management. In In- Interdisciplinary research: Roles for self-organization. Intelligent ternational Conference on Services Computing (SCC), pages 544–551, Systems, 21:50 – 58, 2006. 2011. [193] H. Nakagawa, A. Ohsuga, and S. Honiden. gocc: a configuration [174] P. K. McKinley, S. M. Sadjadi, E. P. Kasten, and B. H. C. Cheng. compiler for self-adaptive systems using goal-oriented require- Composing adaptive software. Computer, 37(7):56–64, 2004. ments description. In ICSE Symposium on Software Engineering for [175] H. Meling. An architecture for self-healing autonomous object Adaptive and Self-Managing Systems (SEAMS), pages 40–49. ACM, groups. In Autonomic and Trusted Computing (ATC), pages 156– 2011. 168. Springer, 2007. [194] H. Nakagawa, A. Ohsuga, and S. Honiden. Towards dynamic [176] D. A. Menasce, J. a. P. Sousa, S. Malek, and H. Gomaa. Qos evolution of self-adaptive systems based on dynamic updating architectural patterns for self-architecting software systems. In of control loops. In International Conference on Self-Adaptive and International Conference on Autonomic Computing (ICAC), page Self-Organizing Systems (SASO), pages 59–68, 2012. 195–204. ACM, 2010. [195] V. Nallur and S. Clarke. Clonal plasticity: an autonomic mecha- [177] F. Messina, G. Pappalardo, D. Rosaci, C. Santoro, and G. M. L. nism for multi-agent systems to self-diversify. Autonomous Agents Sarn`e. A trust-aware, self-organizing system for large-scale and Multi-Agent Systems, 32(2):275–311, 2018. federations of utility computing infrastructures. Future Generation [196] N. Z. Naqvi, J. Devlieghere, D. Preuveneers, and Y. Berbers. Computer Systems, 56:77–94, 2016. Mascot: Self-adaptive opportunistic offloading for cloud-enabled [178] M. Mikic-Rakic and N. Medvidovic. Support for disconnected smart mobile applications with probabilistic graphical models operation via architectural self-reconfiguration. In International at runtime. In Hawaii International Conference on System Sciences Conference on Autonomic Computing (ICAC), pages 114–121. IEEE, (HICSS), pages 5701–5710. IEEE, 2016. 2004. [197] M. Nowostawski, M. Purvis, and A. Gecow. Software self- [179] F. A. Moghaddam, R. Deckers, G. Procaccianti, P. Grosso, and adaptability by means of artificial evolution. In Computational P. Lago. A domain model for self-adaptive software systems. In Science (ICCS), pages 552–559. Springer, 2004. European Conference on Software Architecture (ECSA), pages 16–22. [198] F. Oquendo. Software architecture of self-organizing systems- ACM, 2017. of-systems for the internet-of-things with sosadl. In System of [180] R. W. Moore and B. R. Childers. Inflation and deflation of self- Systems Engineering Conference (SoSE), pages 1–6. IEEE, 2017. adaptive applications. In ICSE Symposium on Software Engineering [199] P. Oreizy, N. Medvidovic, and R. N. Taylor. Architecture-based for Adaptive and Self-Managing Systems (SEAMS), pages 228–237. runtime software evolution. In International Conference on Software ACM, 2011. Engineering (ICSE), pages 177–186, 1998. 19

[200] J. Palmerino, Q. Yu, T. Desell, and D. Krutz. Improving the In Advanced Information Systems Engineering (CAiSE), pages 33–47. decision-making process of self-adaptive systems by accounting Springer, 2011. for tactic volatility. In International Conference on Automated [221] C. Raibulet and F. A. Fontana. Evaluation of self-adaptive Software Engineering (ASE), pages 949–961, 2019. systems: a women perspective. In European Conference on Software [201] A. Pandey, G. A. Moreno, J. C´amara, and D. Garlan. Hybrid Architecture (ECSA), pages 23–30. ACM, 2017. planning for decision making in self-adaptive systems. In In- [222] M. Rambold, H. Kasinger, F. Lautenbacher, and B. Bauer. Towards ternational Conference on Self-Adaptive and Self-Organizing Systems Autonomic Service Discovery A Survey and Comparison. IEEE, 2009. (SASO), pages 130–139. IEEE, 2016. [223] F.-J. Rammig and K. Stahl. Online behavior classification for [202] A. Pandey, I. Ruchkin, B. R. Schmerl, and J. C´amara. Towards anomaly detection in self-x real-time systems. Concurrency and a formal framework for hybrid planning in self-adaptation. In Computation: Practice and Experience, 28(14):3751–3772, 2016. International Symposium on Software Engineering for Adaptive and [224] A. Reichstaller and A. Knapp. Risk-based testing of self-adaptive Self-Managing Systems (SEAMS), pages 109–115. IEEE, 2017. systems using run-time predictions. In International Conference [203] G. Pascual, M. Pinto, and L. Fuentes. Self-adaptation of mobile on Self-Adaptive and Self-Organizing Systems (SASO), pages 80–89. systems driven by the common variability language. Future IEEE, 2018. Generation Computer Systems, 47, 2014. [225] M. S. Reorda, L. Sterpone, and A. Ullah. An error-detection [204] J. L. Pastrana, E. Pimentel, and M. Katrib. Composition of self- and self-repairing method for dynamically and partially reconfig- adapting components for customizable systems. The Computer urable systems. IEEE Transactions on Computers, 66(6):1022–1033, Journal, 51(4):481–496, 2008. 2017. [205] T. Patikirikorala, A. Colman, J. Han, and L. Wang. A sys- [226] A. Rodrigues, R. D. Caldas, G. N. Rodrigues, T. Vogel, and P. Pel- tematic survey on the design of self-adaptive software systems liccione. A learning approach to enhance assurances for real- using control engineering approaches. In International Symposium time self-adaptive systems. In International Conference on Software on Software Engineering for Adaptive and Self-Managing Systems Engineering for Adaptive and Self-Managing Systems (SEAMS), page (SEAMS), pages 33–42, 2012. 206–216. ACM, 2018. [206] T. Patikirikorala, A. W. Colman, J. Han, and L. Wang. A multi- [227] S. Rodriguez, V. Hilaire, P. Gruer, and A. Koukam. A formal model framework to implement self-managing control systems holonic framework with proved self-organizing capabilities. In- for qos management. In ICSE Symposium on Software Engineering ternational Journal of Cooperative Information Systems, 16(1):7–25, for Adaptive and Self-Managing Systems (SEAMS), pages 218–227. 2007. ACM, 2011. [228] L. Rosa, L. Rodrigues, A. Lopes, M. Hiltunen, and R. Schlichting. [207] T. Patikirikorala, A. W. Colman, J. Han, and L. Wang. An Self-management of adaptable component-based applications. evaluation of multi-model self-managing control schemes for IEEE Transactions on Software Engineering, 39(3):403–421, 2013. adaptive performance management of software systems. Journal [229] N. Rosemann, W. Brockmann, and C. Lintze. Controlling the of Systems and Software, 85(12):2678–2696, 2012. learning dynamics of interacting self-adapting systems. In In- [208] X. Peng, B. Chen, Y. Yu, and W. Zhao. Self-tuning of software sys- ternational Conference on Self-Adaptive and Self-Organizing Systems tems through dynamic quality tradeoff and value-based feedback (SASO), pages 1–10, 2011. control loop. 85(12):2707–2719, 2012. [230] M. Salama and R. Bahsoon. Analysing and modelling runtime ar- [209] T. Q. Pham, K. R. Dixon, and P. K. Khosla. Software systems chitectural stability for self-adaptive software. Journal of Systems facilitating self-adaptive control software. In International Con- and Software, 133:95–112, 2017. ference on Intelligent Robots and Systems (IROS), volume 2, pages [231] M. Salehie and L. Tahvildari. Self-adaptive software: Landscape 1094–1100 vol.2, 2000. and research challenges. ACM Transactions on Autonomous and Adaptive Systems., 4(2), 2009. [210] J. Philippe, N. De Palma, F. Boyer, and O. Gruber. Self-adaptation of service level in distributed systems. Software: Practice and [232] M. Salehie and L. Tahvildari. Towards a goal-driven approach to Software: Practice and Experience, 40:259–283, 2010. action selection in self-adaptive software. Experienceer., 42(2):211–233, 2012. [211] E. Piel, A. Gonzalez-Sanchez, H.-G. Gross, and A. Gemund. [233] G. Salvaneschi, C. Ghezzi, and M. Pradella. Contexterlang: A lan- Spectrum-based health monitoring for self-adaptive systems. guage for distributed context-aware self-adaptive applications. pages 99–108, 2011. Science of Computer Programming, 102, 2015. [212] V. Podolskiy, A. Jindal, M. Gerndt, and Y. Oleynik. Forecast- [234] T. R. D. Saputri and S.-W. Lee. The application of machine ing models for self-adaptive cloud applications: A compara- learning in self-adaptive systems: A systematic literature review. tive study. In International Conference on Self-Adaptive and Self- IEEE Access, 8:205948–205967, 2020. Organizing Systems (SASO), pages 40–49. IEEE, 2018. [235] B. Satzger, A. Pietzowski, W. Trumler, and T. Ungerer. Using au- [213] V. Podolskiy, M. Mayo, A. Koay, M. Gerndt, and P. Patros. tomated planning for trusted self-organising organic computing Maintaining SLOs of cloud-native applications via self-adaptive systems. In Autonomic and Trusted Computing (ATC), pages 60–72. resource sharing. In International Conference on Self-Adaptive and Springer, 2008. Self-Organizing Systems (SASO), pages 72–81. IEEE, 2019. [236] P. Sawyer, N. Bencomo, J. Whittle, E. Letier, and A. Finkelstein. [214] E. Pournaras, M. Yao, and D. Helbing. Self-regulating supply- Requirements-aware systems: A research agenda for re for self- demand systems. Future Generation Computer Systems, 76:73–91, adaptive systems. In International Requirements Engineering Con- 2017. ference (RE), pages 95–103, 2010. [215] S. Pradhan, A. Dubey, T. Levendovszky, P. S. Kumar, W. A. Emfin- [237] C. Schneider, A. Barker, and S. A. Dobson. A survey of self- ger, D. Balasubramanian, W. Otte, and G. Karsai. Achieving re- healing systems frameworks. Software: Practice and Experience, silience in distributed software systems via self-reconfiguration. 45(10):1375–1398, 2015. The Journal of Systems and Software, 122:344–363, 2016. [238] H. Seebach, F. Nafz, J. Holtmann, J. Meyer, M. Tichy, W. Reif, [216] M. Provoost and D. Weyns. Dingnet: a self-adaptive internet- and W. Sch¨afer. Designing self-healing in automotive systems. of-things exemplar. In International Symposium on Software En- In Autonomic and Trusted Computing (ATC), pages 47–61. Springer, gineering for Adaptive and Self-Managing Systems (SEAMS), pages 2010. 195–201. ACM, 2019. [239] M. Serrano, S. van der Meer, J. Strassner, S. D. Paoli, A. Kerr, [217] H. Psaier and S. Dustdar. A survey on self-healing systems: and C. Storni. Trust and reputation policy-based mechanisms for Approaches and systems. Computing, 91:43–73, 2011. self-protection in autonomic communications. In Autonomic and [218] Y. Qin, C. Xu, P. Yu, and J. Lu. Sit: Sampling-based interactive Trusted Computing (ATC), pages 249–267. Springer, 2009. testing for self-adaptive apps. Journal of Systems and Software, [240] S. Shevtsov and D. Weyns. Keep it simplex: satisfying multiple 120:70–88, 2016. goals with guarantees in control-based self-adaptive systems. [219] F. Quin, D. Weyns, T. Bamelis, S. S. Buttar, and S. Michiels. In International Symposium on Foundations of Software Engineering Efficient analysis of large adaptation spaces in self-adaptive (FSE), pages 229–241. ACM, 2016. systems using machine learning. In International Symposium [241] S. Shevtsov, D. Weyns, and M. Maggio. Handling new and on Software Engineering for Adaptive and Self-Managing Systems changing requirements with guarantees in self-adaptive systems (SEAMS), pages 1–12. ACM, 2019. using simca. In International Symposium on Software Engineering for [220] N. A. Qureshi, I. Jureta, and A. Perini. Requirements engineering Adaptive and Self-Managing Systems (SEAMS), pages 12–23. IEEE, for self-adaptive systems: Core ontology and problem statement. 2017. 20

[242] M. E. Shin. Self-healing components in robust software ar- [261] L. Tom´as, A. Caminero, M. Carri´on, and B. Caminero. Network- chitecture for concurrent and distributed systems. Science of aware meta-scheduling in advance with autonomous self-tuning Computer Programming, 57(1):27 – 44, 2005. System and Software system. Future Generation Computer Systems, 27:486–497, 2011. Architectures. [262] J. B. van Veelen. Smds: a top-down approach to self-management [243] S. Sicard, F. Boyer, and N. De Palma. Using components for for dynamic collaboration systems. pages 58–64, 2006. architecture-based management: The self-repair case. In Inter- [263] E. Vassev and M. Hinchey. The ASSL approach to specifying national Conference on Software Engineering (ICSE), page 101–110. self-managing embedded systems. Concurrency and Computation: ACM, 2008. Practice and Experience, 24:1860 – 1878, 2012. [244] S. Sivasubramanian, G. Pierre, and M. van Steen. Autonomic data [264] X. Vilajosana, J. Marques, A. Juan, D. Lazaro, R. Krishnaswamy, placement strategies for update-intensiveweb applications. In and L. Navarro. A self-* auction server: design principles, ar- International Workshop on Advanced Architectures and Algorithms for chitecture and implementation. International Journal of Autonomic Internet Delivery and Applications (AAA-IDEA), pages 2–9. IEEE, Computing, 1:374–390, 2010. 2005. [265] N. M. Villegas, H. A. M ¨uller, G. Tamura, L. Duchien, and [245] G. Smith and J. W. Sanders. Formal development of self- R. Casallas. A framework for evaluating quality-driven self- organising systems. In Autonomic and Trusted Computing (ATC), adaptive software systems. In International Symposium on Software pages 90–104. Springer, 2009. engineering for adaptive and self-managing systems (SEAMS), pages [246] G. F. Solano, R. D. Caldas, G. N. Rodrigues, T. Vogel, and 80–89, 2011. P. Pelliccione. Taming uncertainty in the assurance process of [266] P. C. Vinh. Concurrency of self-* in autonomic systems. Future self-adaptive systems: A goal-oriented approach. In International Generation Computer Systems, 56:140–152, 2016. Symposium on Software Engineering for Adaptive and Self-Managing [267] M. Viroli. On competitive self-composition in pervasive services. Systems (SEAMS), page 89–99. IEEE, 2019. Science of Computer Programming, 78(5):556–568, 2013. [247] B. Solomon, D. Ionescu, M. Litoiu, and G. Iszlai. Autonomic [268] T. Vogel. mrubis: An exemplar for model-based architectural self- computing control of composed web services. In International healing and self-optimization (artifact). Dagstuhl Artifacts Series, Conference on Software Engineering (ICSE), pages 94–103, 2010. 4, 2018. [248] J. P. Sousa, V. Poladian, D. Garlan, and B. R. Schmerl. Capi- [269] T. Vogel and H. Giese. Adaptation and abstract runtime models. talizing on awareness of user tasks for guiding self-adaptation. In International Conference on Software Engineering (ICSE), pages In Advanced Information Systems Engineering (CAiSE) Workshops, 39–48, 2010. pages 83–96. FEUP Edic¸˜oes, Porto, 2005. [270] T. Vogel and H. Giese. A language for feedback loops in self- [249] S. Spinner, J. Grohmann, S. Eismann, and S. Kounev. Online adaptive systems: Executable runtime megamodels. In Interna- model learning for self-aware computing infrastructures. Journal tional Symposium on Software Engineering for Adaptive and Self- of Systems and Software, 147:1–16, 2019. Managing Systems (SEAMS), pages 129–138, 2012. [250] M. Staron, W. Meding, M. Tichy, J. Bjurhede, H. Giese, and [271] W. E. Walsh, G. Tesauro, J. O. Kephart, and R. Das. Utility O. Soder. Industrial experiences from evolving measurement sys- functions in autonomic systems. In International Conference on tems into self-healing systems for improved availability. Software: Autonomic Computing (ICAC), pages 70–77. IEEE, 2004. Practice and Experience, 48(3):719–739, 2018. [272] S. Wang, J. Wan, D. Zhang, D. Li, and C. Zhang. Towards smart factory for industry 4.0: a self-organized multi-agent system with [251] S. Sucipto and R. S. Wahono. A systematic literature review of big data based feedback and coordination. Computer Networks, requirements engineering for self-adaptive systems. Journal of 101:158–168, 2016. Software Engineering, 1(1):17–27, 2015. [273] Y. Wang and J. Mylopoulos. Self-repair through reconfiguration: [252] J. Swanson, M. B. Cohen, M. B. Dwyer, B. J. Garvin, and J. Fire- A requirements engineering approach. In International Conference stone. Beyond the rainbow: Self-adaptive failure avoidance in on Automated Software Engineering (ASE), pages 257–268, 2009. configurable systems. In International Symposium on Foundations [274] Y. Wang, F. Xu, Y. Tao, C. Cao, and J. L ¨u. Toward trust manage- of Software Engineering (FSE), page 377–388. ACM, 2014. ment in autonomic and coordination applications. In Autonomic [253] D. Sykes, D. Corapi, J. Magee, J. Kramer, A. Russo, and K. Inoue. and Trusted Computing (AATC), pages 236–245. Springer, 2006. Learning revised models for planning in adaptive systems. In [275] T. Weis and A. Wacker. Self-stabilizing embedded systems. In International Conference on Software Engineering (ICSE) , pages 63– Workshop on Organic computing (OC@ICAC), pages 59–66. ACM, 71, 2013. 2011. [254] D. Sykes, W. Heaven, J. Magee, and J. Kramer. Plan-directed [276] G. Weiss, P. Schleiss, D. Schneider, and M. Trapp. Towards architectural change for autonomous systems. In Conference integrating undependable self-adaptive systems in safety-critical Specification and Verification of Component-Based Systems (SAVCBS), environments. In International Conference on Software Engineering pages 15–21. ACM, 2007. for Adaptive and Self-Managing Systems (SEAMS), pages 26–32. [255] D. Sykes, W. Heaven, J. Magee, and J. Kramer. From goals ACM, 2018. to components: A combined approach to self-management. In [277] G. Weiss, M. Zeller, D. Eilers, and R. Knorr. Towards self- International Workshop on Software Engineering for Adaptive and Self- organization in automotive embedded systems. In Autonomic and Managing Systems (SEAMS), page 1–8. ACM, 2008. Trusted Computing (ATC), pages 32–46. Springer, 2009. [256] S. Taherizadeh, A. Jones, I. J. Taylor, Z. Zhao, and V. Stankovski. [278] M. Weißbach, P. Chrszon, T. Springer, and A. Schill. Decentrally Monitoring self-adaptive applications within edge computing coordinated execution of adaptations in distributed self-adaptive frameworks: A state-of-the-art review. Journal of Systems and software systems. In International Conference on Self-Adaptive and Software, 136:19–38, 2018. Self-Organizing Systems (SASO), pages 111–120. IEEE, 2017. [257] H. Tajalli, J. Garcia, G. Edwards, and N. Medvidovic. Plasma: [279] D. Weyns. Engineering self-adaptive software systems – an a plan-based layered architecture for software model-driven organized tour. In 3rd International Workshops on Foundations and adaptation. In International Conference on Automated Software Applications of Self* Systems (FAS*W), pages 1–2, 2018. Engineering (ASE), pages 467–476. ACM, 2010. [280] D. Weyns and M. U. Iftikhar. Model-based simulation at runtime [258] G. Tamura, N. M. Villegas, H. A. Muller, L. Duchien, and for self-adaptive systems. In International Conference on Autonomic L. Seinturier. Improving context-awareness in self-adaptation Computing (ICAC), pages 364–373. IEEE, 2016. using the dynamico reference model. In International Symposium [281] D. Weyns, M. U. Iftikhar, S. Malek, and J. Andersson. Claims and on Software Engineering for Adaptive and Self-Managing Systems supporting evidence for self-adaptive systems: A literature study. (SEAMS), pages 153–162, 2013. In 7th International Symposium on Software Engineering for Adaptive [259] A.-E. Tchao, M. Risoldi, and G. Di Marzo Serugendo. Modeling and Self-Managing Systems (SEAMS), pages 89–98. IEEE, 2012. self-* systems using chemically-inspired composable patterns. [282] D. Weyns, M. U. Iftikhar, S. Malek, and J. Andersson. Claims and In International Conference on Self-Adaptive and Self-Organizing supporting evidence for self-adaptive systems: A literature study. Systems (SASO), pages 109–118, 2011. In International Symposium on Software Engineering for Adaptive and [260] T. Tidwell, R. Glaubius, C. Gill, and W. D. Smart. Scheduling Self-Managing Systems (SEAMS), pages 89–98, 2012. for reliable execution in autonomic systems. In International [283] D. Weyns, S. Malek, and J. Andersson. Forms: A formal reference Conference on Autonomic and Trusted Computing (ATC), pages 149– model for self-adaptation. In International Conference on Autonomic 161. Springer, 2008. Computing (ICAC), page 205–214. ACM, 2010. 21

[284] D. Weyns, S. Malek, and J. Andersson. On decentralized self- [293] W. Yang, C. Xu, Y. Liu, C. Cao, X. Ma, and J. Lu. Verifying adaptation: Lessons from the trenches and challenges for the self-adaptive applications suffering uncertainty. In International future. In ICSE Workshop on Software Engineering for Adaptive and Conference on Automated Software Engineering (ASE), page 199–210. Self-Managing Systems (SEAMS), page 84–93. ACM, 2010. ACM, 2014. [285] D. Weyns, S. Malek, and J. Andersson. Forms: Unifying refer- [294] W. Yang, C. Xu, M. Pan, C. Cao, X. Ma, and J. Lu. Efficient valida- ence model for formal specification of distributed self-adaptive tion of self-adaptive applications by counterexample probability systems. ACM Transactions on Autonomous and Adaptive Systems., maximization. Journal of Systems and Software, 138:82–99, 2018. 7(1), 2012. [295] Z. Yang, Z. Li, Z. Jin, and Y. Chen. A systematic literature review [286] D. Weyns, M. Usman Iftikhar, and J. S¨oderlund. Do external of requirements modeling and analysis for self-adaptive systems. feedback loops improve the design of self-adaptive systems? a In International Working Conference on Requirements Engineering: controlled experiment. In International Symposium on Software En- Foundation for Software Quality, pages 55–71. Springer, 2014. gineering for Adaptive and Self-Managing Systems (SEAMS), pages [296] S. S. Yau, Y. Yao, and M. Yan. Development and runtime 3–12, 2013. support for situation-aware security in autonomic computing. In [287] S. R. White, J. E. Hanson, I. Whalley, D. M. Chess, and J. O. Autonomic and Trusted Computing (ATC), pages 173–182. Springer, Kephart. An architectural approach to autonomic computing. 2006. In International Conference on Autonomic Computing (ICAC), pages [297] E. Yuan, N. Esfahani, and S. Malek. Automated mining of soft- 2–9. IEEE, 2004. ware component interactions for self-adaptation. In International [288] J. Whittle, P. Sawyer, N. Bencomo, B. H. C. Cheng, and J. Bruel. Symposium on Software Engineering for Adaptive and Self-Managing Relax: Incorporating uncertainty into the specification of self- Systems (SEAMS), page 27–36. ACM, 2014. adaptive systems. In International Requirements Engineering Con- [298] E. Yuan and S. Malek. A taxonomy and survey of self-protecting ference (RE), pages 79–88, 2009. software systems. In International Symposium on Software En- [289] J. Wildstrom, P. Stone, E. Witchel, R. J. Mooney, and M. Dahlin. gineering for Adaptive and Self-Managing Systems (SEAMS), page Towards self-configuring hardware for distributed computer sys- 109–118. IEEE, 2012. tems. In International Conference on Autonomic Computing (ICAC), [299] E. Zavala, X. Franch, J. Marco, and C. Berger. Hafloop: An ar- pages 241–249. IEEE, 2005. chitecture for supporting highly adaptive feedback loops in self- [290] K. Wolter. Self-management of systems through automatic adaptive systems. Future Generation Computer Systems, 105:607– restart. In Self-star Properties in Complex Information Systems, 630, 2020. Conceptual and Practical Foundations, pages 189–203. Springer, [300] J. Zhang and B. H. C. Cheng. Model-based development of 2005. dynamically adaptive software. In International Conference on [291] K. Yamauchi, M. Oota, and N. Ishii. A self-supervised learning Software Engineering (ICSE), pages 371–380. ACM, 2006. system for pattern recognition by sensory integration. Neural [301] Y. Zhao, M. Kardos, S. Oberth ¨ur, and F. J. Rammig. Comprehen- Networks, 12(10):1347 – 1358, 1999. sive verification framework for dependability of self-optimizing [292] Z. Yan and R. MacLaverty. Autonomic trust management in systems. In Automated Technology for Verification and Analysis a component based software system. In Autonomic and Trusted (ATVA), pages 39–53. Springer, 2005. Computing (ATC), pages 279–292. Springer, 2006.