Rebekka Wohlrab, Rômulo Meira-Góes, Michael Vierhauser
Self-adaptive systems typically operate in heterogeneous environments and need to optimize their behavior based on a variety of quality attributes to meet stakeholders’ needs. During adaptation planning, these quality attributes are considered in the form of constraints, describing requirements that must be fulfilled, and utility functions, which are used to select an optimal plan among several alternatives. Up until now, most automated planning approaches are not designed to adapt quality attributes, their priorities, and their trade-offs at run time. Instead, both utility functions and constraints are commonly defined at design time. There exists a clear lack of run-time mechanisms that support their adaptation in response to changes in the environment or in stakeholders’ preferences. In this paper, we present initial work that combines automated planning and adaptation of quality attributes to address this gap. The approach helps to semi-automatically adjust utility functions and constraints based on changes at run time. We present a preliminary experimental evaluation that indicates that our approach can provide plans with higher utility values while fulfilling changed or added constraints. We conclude this paper with our envisioned research outlook and plans for future empirical studies. CCS CONCEPTS • Computer systems organization $rightarrow$Robotic autonomy; • Hardware $rightarrow$ Safety critical systems; • Theory of computation $rightarrow$ Verification by model checking.
{"title":"Run-Time Adaptation of Quality Attributes for Automated Planning","authors":"Rebekka Wohlrab, Rômulo Meira-Góes, Michael Vierhauser","doi":"10.1145/3524844.3528063","DOIUrl":"https://doi.org/10.1145/3524844.3528063","url":null,"abstract":"Self-adaptive systems typically operate in heterogeneous environments and need to optimize their behavior based on a variety of quality attributes to meet stakeholders’ needs. During adaptation planning, these quality attributes are considered in the form of constraints, describing requirements that must be fulfilled, and utility functions, which are used to select an optimal plan among several alternatives. Up until now, most automated planning approaches are not designed to adapt quality attributes, their priorities, and their trade-offs at run time. Instead, both utility functions and constraints are commonly defined at design time. There exists a clear lack of run-time mechanisms that support their adaptation in response to changes in the environment or in stakeholders’ preferences. In this paper, we present initial work that combines automated planning and adaptation of quality attributes to address this gap. The approach helps to semi-automatically adjust utility functions and constraints based on changes at run time. We present a preliminary experimental evaluation that indicates that our approach can provide plans with higher utility values while fulfilling changed or added constraints. We conclude this paper with our envisioned research outlook and plans for future empirical studies. CCS CONCEPTS • Computer systems organization $rightarrow$Robotic autonomy; • Hardware $rightarrow$ Safety critical systems; • Theory of computation $rightarrow$ Verification by model checking.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133032156","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Vera Colombo, Alessandro Tundo, M. Ciavotta, L. Mariani
Monitoring is a critical component in fog environments: it promptly provides insights about the behavior of systems, reveals Service Level Agreements (SLAs) violations, enables the autonomous orchestration of services and platforms, calls for the intervention of operators, and triggers self-healing actions. In such environments, monitoring solutions have to cope with the heterogeneity of the devices and platforms present in the Fog, the limited resources available at the edge of the network, and the high dynamism of the whole Cloud-to-Thing continuum. This paper addresses the challenge of accurately and efficiently monitoring the Fog with a self-adaptive peer-to-peer (P2P) monitoring solution that can opportunistically adjust its behavior according to the collected data exploiting a lightweight rule-based expert system.Empirical results show that adaptation can improve monitoring accuracy, while reducing network and power consumption at the cost of higher memory consumption. CCS CONCEPTS • Computer systems organization → Self-organizing autonomic computing; Peer-to-peer architectures; • Information systems → Expert systems.
{"title":"Towards Self-Adaptive Peer-to-Peer Monitoring for Fog Environments","authors":"Vera Colombo, Alessandro Tundo, M. Ciavotta, L. Mariani","doi":"10.1145/3524844.3528055","DOIUrl":"https://doi.org/10.1145/3524844.3528055","url":null,"abstract":"Monitoring is a critical component in fog environments: it promptly provides insights about the behavior of systems, reveals Service Level Agreements (SLAs) violations, enables the autonomous orchestration of services and platforms, calls for the intervention of operators, and triggers self-healing actions. In such environments, monitoring solutions have to cope with the heterogeneity of the devices and platforms present in the Fog, the limited resources available at the edge of the network, and the high dynamism of the whole Cloud-to-Thing continuum. This paper addresses the challenge of accurately and efficiently monitoring the Fog with a self-adaptive peer-to-peer (P2P) monitoring solution that can opportunistically adjust its behavior according to the collected data exploiting a lightweight rule-based expert system.Empirical results show that adaptation can improve monitoring accuracy, while reducing network and power consumption at the cost of higher memory consumption. CCS CONCEPTS • Computer systems organization → Self-organizing autonomic computing; Peer-to-peer architectures; • Information systems → Expert systems.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116191486","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Collaborative robotic cells combine human skills with the latest advancements in robotic accuracy and reliability. Cobotic cell parts are distributed and adapt their behavior to changing tasks and environments. The specific missions of cobotic cells, depend on their field of application, but are critical for human safety, which introduces complexity, increasing testing and development effort. Component-based software engineering is used to manage complexity, but ensuring safety and correctness requires verification and validation, which is complex and demanding to re-ensure, when composed behavior changes. This also applies to the widely used middleware Robot Operating System (ROS), where existing approaches only model high level communication or integrate models. Also, verification of cobotic cells must reflect their context-adaptivity, to check safety critical reactions to contexts-changes. To overcome these inhibitors, a model-driven development approach based on Petri nets is proposed, modeling central aspects of ROS-based cobotic cells. By using formal models, the testing effort at development time is reduced, because global behavior remains formally proven, and only local components have to be retested. Within this work, the plans for this model-driven software approach are reported.CCS CONCEPTS• Software and its engineering $rightarrow$ Petri nets; Model-driven software engineering; Abstraction, modeling and modularity; • Human-centered computing $rightarrow$ Collaborative interaction.
{"title":"Safe Adaptation of Cobotic Cells based on Petri Nets","authors":"S. Ebert","doi":"10.1145/3524844.3528075","DOIUrl":"https://doi.org/10.1145/3524844.3528075","url":null,"abstract":"Collaborative robotic cells combine human skills with the latest advancements in robotic accuracy and reliability. Cobotic cell parts are distributed and adapt their behavior to changing tasks and environments. The specific missions of cobotic cells, depend on their field of application, but are critical for human safety, which introduces complexity, increasing testing and development effort. Component-based software engineering is used to manage complexity, but ensuring safety and correctness requires verification and validation, which is complex and demanding to re-ensure, when composed behavior changes. This also applies to the widely used middleware Robot Operating System (ROS), where existing approaches only model high level communication or integrate models. Also, verification of cobotic cells must reflect their context-adaptivity, to check safety critical reactions to contexts-changes. To overcome these inhibitors, a model-driven development approach based on Petri nets is proposed, modeling central aspects of ROS-based cobotic cells. By using formal models, the testing effort at development time is reduced, because global behavior remains formally proven, and only local components have to be retested. Within this work, the plans for this model-driven software approach are reported.CCS CONCEPTS• Software and its engineering $rightarrow$ Petri nets; Model-driven software engineering; Abstraction, modeling and modularity; • Human-centered computing $rightarrow$ Collaborative interaction.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131320603","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The dynamic forces that transit back and forth traditional boundaries of system development have led to the emergence of digital ecosystems. Within these, business gains are achieved through the development of intelligent control that requires a continuous design and runtime co-engineering process endangered by malicious attacks. The possibility of inserting specially crafted faults capable to exploit the nature of unknown evolving intelligent behavior raises the necessity of malicious behavior detection at runtime.Adjusting to the needs and opportunities of fast AI development within digital ecosystems, in this paper, we envision a novel method and framework for runtime predictive evaluation of intelligent robots’ behavior for assuring a cooperative safe adjustment.
{"title":"A Paradigm for Safe Adaptation of Collaborating Robots","authors":"Emilia Cioroaica, Barbora Buhnova, E. Tomur","doi":"10.1145/3524844.3528061","DOIUrl":"https://doi.org/10.1145/3524844.3528061","url":null,"abstract":"The dynamic forces that transit back and forth traditional boundaries of system development have led to the emergence of digital ecosystems. Within these, business gains are achieved through the development of intelligent control that requires a continuous design and runtime co-engineering process endangered by malicious attacks. The possibility of inserting specially crafted faults capable to exploit the nature of unknown evolving intelligent behavior raises the necessity of malicious behavior detection at runtime.Adjusting to the needs and opportunities of fast AI development within digital ecosystems, in this paper, we envision a novel method and framework for runtime predictive evaluation of intelligent robots’ behavior for assuring a cooperative safe adjustment.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131745065","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Research on uncertainty quantification and mitigation of software-intensive systems and (self-)adaptive systems, is increasingly gaining momentum, especially with the availability of statistical inference techniques (such as Bayesian reasoning) that make it possible to mitigate uncertain (quality) attributes of the system under scrutiny often encoded in the system model in terms of model parameters. However, to the best of our knowledge, the uncertainty about the choice of a specific system model did not receive the deserved attention.This paper focuses on self-adaptive systems and investigates how to mitigate the uncertainty related to the model selection process, that is, whenever one model is chosen over plausible alternative and competing models to represent the understanding of a system and make predictions about future observations. In particular, we propose to enhance the classical feedback loop of a self-adaptive system with the ability to tame the model uncertainty using Bayesian Model Averaging. This method improves the predictions made by the analyze component as well as the plan that adopts metaheuristic optimizing search to guide the adaptation decisions. Our empirical evaluation demonstrates the cost-effectiveness of our approach using an exemplar case study in the robotics domain.CCS CONCEPTS• Software and its engineering → Software system models; Software functional properties; • Computer systems organization → Self-organizing autonomic computing
{"title":"Taming Model Uncertainty in Self-adaptive Systems Using Bayesian Model Averaging","authors":"Matteo Camilli, R. Mirandola, P. Scandurra","doi":"10.1145/3524844.3528056","DOIUrl":"https://doi.org/10.1145/3524844.3528056","url":null,"abstract":"Research on uncertainty quantification and mitigation of software-intensive systems and (self-)adaptive systems, is increasingly gaining momentum, especially with the availability of statistical inference techniques (such as Bayesian reasoning) that make it possible to mitigate uncertain (quality) attributes of the system under scrutiny often encoded in the system model in terms of model parameters. However, to the best of our knowledge, the uncertainty about the choice of a specific system model did not receive the deserved attention.This paper focuses on self-adaptive systems and investigates how to mitigate the uncertainty related to the model selection process, that is, whenever one model is chosen over plausible alternative and competing models to represent the understanding of a system and make predictions about future observations. In particular, we propose to enhance the classical feedback loop of a self-adaptive system with the ability to tame the model uncertainty using Bayesian Model Averaging. This method improves the predictions made by the analyze component as well as the plan that adopts metaheuristic optimizing search to guide the adaptation decisions. Our empirical evaluation demonstrates the cost-effectiveness of our approach using an exemplar case study in the robotics domain.CCS CONCEPTS• Software and its engineering → Software system models; Software functional properties; • Computer systems organization → Self-organizing autonomic computing","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127986945","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Testing in the field is gaining momentum, as a means to detect those failures that escape in-house testing by continuing the testing even while a system is operating in production. Among several approaches that are proposed, this paper focuses on the important notion of self-adaptivity of testing in the field, as such techniques need to adapt in many ways their strategy to the context and the emerging behaviors of the system under test. In this work, we investigate the topic by conducting a scoping review of the literature on self-adaptive testing in the field. We rely on a taxonomy organized in some categories that include the object to adapt, the adaptation trigger, the temporal characteristics, the realization issues, the interaction concerns, the type of field-based approach, and the impact/cost. Our study sheds light on self-adaptive testing in the field by identifying related key concepts and key characteristics and extracting some knowledge gaps to better guide future research.
{"title":"Self-adaptive Testing in the Field: Are We There Yet?","authors":"Samira Silva, A. Bertolino, Patrizio Pelliccione","doi":"10.1145/3524844.3528050","DOIUrl":"https://doi.org/10.1145/3524844.3528050","url":null,"abstract":"Testing in the field is gaining momentum, as a means to detect those failures that escape in-house testing by continuing the testing even while a system is operating in production. Among several approaches that are proposed, this paper focuses on the important notion of self-adaptivity of testing in the field, as such techniques need to adapt in many ways their strategy to the context and the emerging behaviors of the system under test. In this work, we investigate the topic by conducting a scoping review of the literature on self-adaptive testing in the field. We rely on a taxonomy organized in some categories that include the object to adapt, the adaptation trigger, the temporal characteristics, the realization issues, the interaction concerns, the type of field-based approach, and the impact/cost. Our study sheds light on self-adaptive testing in the field by identifying related key concepts and key characteristics and extracting some knowledge gaps to better guide future research.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116908432","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Roberto Rodrigues Filho, Elvin Alberts, I. Gerostathopoulos, Barry Porter, F. Costa
Contemporary deployment environments are volatile, with conditions that are often hard to predict in advance, demanding solutions that are able to learn how best to design a system at runtime from a set of available alternatives. While the self-adaptive systems community has devoted significant attention to online learning, there is less research specifically directed towards learning for open-ended architectural adaptation – where individual components represent alternatives that can be added and removed dynamically. In this paper we present the Emergent Web Server (EWS), an architecture-based adaptive web server with 42 unique compositions of alternative components that present different utility when subjected to different workload patterns. This artefact allows the exploration of online learning techniques that are specifically able to consider the composition of logic that comprises a given system, and how each piece of logic contributes to overall utility. It also allows the user to add new components at runtime (and so produce new composition options), and to remove existing components; both are likely to occur in systems where developers (or automated code generators) deploy new code on a continuous basis and identify code which has never performed well. Our exemplar bundles together a fully-functional web server, a number of pre-packaged online learning approaches, and utilities to integrate, evaluate, and compare new online learning approaches.
{"title":"Emergent Web Server: An Exemplar to Explore Online Learning in Compositional Self-Adaptive Systems","authors":"Roberto Rodrigues Filho, Elvin Alberts, I. Gerostathopoulos, Barry Porter, F. Costa","doi":"10.1145/3524844.3528079","DOIUrl":"https://doi.org/10.1145/3524844.3528079","url":null,"abstract":"Contemporary deployment environments are volatile, with conditions that are often hard to predict in advance, demanding solutions that are able to learn how best to design a system at runtime from a set of available alternatives. While the self-adaptive systems community has devoted significant attention to online learning, there is less research specifically directed towards learning for open-ended architectural adaptation – where individual components represent alternatives that can be added and removed dynamically. In this paper we present the Emergent Web Server (EWS), an architecture-based adaptive web server with 42 unique compositions of alternative components that present different utility when subjected to different workload patterns. This artefact allows the exploration of online learning techniques that are specifically able to consider the composition of logic that comprises a given system, and how each piece of logic contributes to overall utility. It also allows the user to add new components at runtime (and so produce new composition options), and to remove existing components; both are likely to occur in systems where developers (or automated code generators) deploy new code on a continuous basis and identify code which has never performed well. Our exemplar bundles together a fully-functional web server, a number of pre-packaged online learning approaches, and utilities to integrate, evaluate, and compare new online learning approaches.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128389755","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The evolution of software systems into more complex ecosystems creates new challenges in ensuring their safe and secure behavior. As the complexity of software ecosystems is inherently higher than regular systems, existing safety mechanisms are no longer reliable in their context. This paper introduces a research path towards adaptive safety mechanisms that can support the degree of dynamism and high level of uncertainty introduced by these systems of systems. Our planned approach is to use runtime trust evaluation as a decision factor when enabling or disabling safety features on demand.
{"title":"From Systems to Ecosystems: Rethinking Adaptive Safety","authors":"David Halasz","doi":"10.1145/3524844.3528067","DOIUrl":"https://doi.org/10.1145/3524844.3528067","url":null,"abstract":"The evolution of software systems into more complex ecosystems creates new challenges in ensuring their safe and secure behavior. As the complexity of software ecosystems is inherently higher than regular systems, existing safety mechanisms are no longer reliable in their context. This paper introduces a research path towards adaptive safety mechanisms that can support the degree of dynamism and high level of uncertainty introduced by these systems of systems. Our planned approach is to use runtime trust evaluation as a decision factor when enabling or disabling safety features on demand.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117043274","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
L. Baresi, David Hu, G. Quattrocchi, L. Terracciano
Nowadays a wide range of applications is constrained by low-latency requirements that cloud infrastructures cannot meet. Multi-access Edge Computing (MEC) has been proposed as the reference architecture for executing applications closer to users and reducing latency, but new challenges arise: edge nodes are resource-constrained, the workload can vary significantly since users are nomadic, and task complexity is increasing (e.g., machine learning inference). To overcome these problems, the paper presents NEPTUNE, a serverless-based framework for managing complex MEC solutions. NEPTUNE i) places functions on edge nodes according to user locations, ii) avoids the saturation of single nodes, iii) exploits GPUs when available, and iv) allocates resources (CPU cores) dynamically to meet foreseen execution times. A prototype, built on top of K3S, was used to evaluate NEPTUNE on a set of experiments that demonstrate a significant reduction in terms of response time, network overhead, and resource consumption compared to three well-known approaches. CCS CONCEPTS • Theory of computation → Scheduling algorithms; • Computing methodologies →Distributed computing methodologies; • Computer systems organization →Distributed architectures.
{"title":"NEPTUNE: Network- and GPU-aware Management of Serverless Functions at the Edge","authors":"L. Baresi, David Hu, G. Quattrocchi, L. Terracciano","doi":"10.1145/3524844.3528051","DOIUrl":"https://doi.org/10.1145/3524844.3528051","url":null,"abstract":"Nowadays a wide range of applications is constrained by low-latency requirements that cloud infrastructures cannot meet. Multi-access Edge Computing (MEC) has been proposed as the reference architecture for executing applications closer to users and reducing latency, but new challenges arise: edge nodes are resource-constrained, the workload can vary significantly since users are nomadic, and task complexity is increasing (e.g., machine learning inference). To overcome these problems, the paper presents NEPTUNE, a serverless-based framework for managing complex MEC solutions. NEPTUNE i) places functions on edge nodes according to user locations, ii) avoids the saturation of single nodes, iii) exploits GPUs when available, and iv) allocates resources (CPU cores) dynamically to meet foreseen execution times. A prototype, built on top of K3S, was used to evaluate NEPTUNE on a set of experiments that demonstrate a significant reduction in terms of response time, network overhead, and resource consumption compared to three well-known approaches. CCS CONCEPTS • Theory of computation → Scheduling algorithms; • Computing methodologies →Distributed computing methodologies; • Computer systems organization →Distributed architectures.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129326200","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Internet of Things (IoT) is a pivotal technology in application domains that require connectivity and interoperability between large numbers of devices. IoT systems predominantly use a software-defined network (SDN) architecture as their core communication backbone. This architecture offers several advantages, including the flexibility to make IoT networks self-adaptive through software programmability. In general, self-adaptation solutions need to periodically monitor, reason about, and adapt a running system. The adaptation step involves generating an adaptation strategy and applying it to the running system whenever an anomaly arises. In this paper, we argue that, rather than generating individual adaptation strategies, the goal should be to adapt the logic / code of the running system in such a way that the system itself would learn how to steer clear of future anomalies, without triggering self-adaptation too frequently. We instantiate and empirically assess this idea in the context of IoT networks. Specifically, using genetic programming (GP), we propose a self-adaptation solution that continuously learns and updates the control constructs in the data-forwarding logic of SDN-based IoT networks. Our evaluation, performed using open-source synthetic and industrial data, indicates that, compared to a baseline adaptation technique that attempts to generate individual adaptations, our GP-based approach is more effective in resolving network congestion, and further, reduces the frequency of adaptation interventions over time. In addition, we compare our approach against a standard data-forwarding algorithm from the network literature, demonstrating that our approach significantly reduces packet loss.
{"title":"Learning Self-adaptations for IoT Networks: A Genetic Programming Approach","authors":"Jia Li, S. Nejati, M. Sabetzadeh","doi":"10.1145/3524844.3528053","DOIUrl":"https://doi.org/10.1145/3524844.3528053","url":null,"abstract":"Internet of Things (IoT) is a pivotal technology in application domains that require connectivity and interoperability between large numbers of devices. IoT systems predominantly use a software-defined network (SDN) architecture as their core communication backbone. This architecture offers several advantages, including the flexibility to make IoT networks self-adaptive through software programmability. In general, self-adaptation solutions need to periodically monitor, reason about, and adapt a running system. The adaptation step involves generating an adaptation strategy and applying it to the running system whenever an anomaly arises. In this paper, we argue that, rather than generating individual adaptation strategies, the goal should be to adapt the logic / code of the running system in such a way that the system itself would learn how to steer clear of future anomalies, without triggering self-adaptation too frequently. We instantiate and empirically assess this idea in the context of IoT networks. Specifically, using genetic programming (GP), we propose a self-adaptation solution that continuously learns and updates the control constructs in the data-forwarding logic of SDN-based IoT networks. Our evaluation, performed using open-source synthetic and industrial data, indicates that, compared to a baseline adaptation technique that attempts to generate individual adaptations, our GP-based approach is more effective in resolving network congestion, and further, reduces the frequency of adaptation interventions over time. In addition, we compare our approach against a standard data-forwarding algorithm from the network literature, demonstrating that our approach significantly reduces packet loss.","PeriodicalId":227173,"journal":{"name":"2022 International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131241493","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}