Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3643915.3644097acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Learning Recovery Strategies for Dynamic Self-healing in Reactive Systems

Published: 07 June 2024 Publication History

Abstract

Self-healing systems depend on following a set of predefined instructions to recover from a known failure state. Failure states are generally detected based on domain specific specialized metrics. Failure fixes are applied at predefined application hooks that are not sufficiently expressive to manage different failure types. Self-healing is usually applied in the context of distributed systems, where the detection of failures is constrained to communication problems, and resolution strategies often consist of replacing complete components. However, current complex systems may reach failure states at a fine granularity not anticipated by developers (for example, value range changes for data streaming in IoT systems), making them unsuitable for existing self-healing techniques. To counter these problems, in this paper we propose a new self-healing framework that learns recovery strategies for healing fine-grained system behavior at run time. Our proposal targets complex reactive systems, defining monitors as predicates specifying satisfiability conditions of system properties. Such monitors are functionally expressive and can be defined at run time to detect failure states at any execution point. Once failure states are detected, we use a Reinforcement Learning-based technique to learn a recovery strategy based on users' corrective sequences. Finally, to execute the learned strategies, we extract them as Context-oriented Programming variations that activate dynamically whenever the failure state is detected, overwriting the base system behavior with the recovery strategy for that state. We validate the feasibility and effectiveness of our framework through a prototypical reactive application for tracking mouse movements, and the DeltaIoT exemplar for self-healing systems. Our results demonstrate that with just the definition of monitors, the system is effective in detecting and recovering from failures between 55% -- 92% of the cases in the first application, and at par with the predefined strategies in the second application.

References

[1]
M. Mousa Al-Zawi, A. Hussain, D. Al-Jumeily, and A. Taleb-Bendiab. 2009. Using Adaptive Neural Networks in Self-Healing Systems. In 2009 Second International Conference on Developments in eSystems Engineering. 227--232.
[2]
Thara Angskun, Graham Fagg, George Bosilca, Jelena Pješivac-Grbović, and Jack Dongarra. 2010. Self-healing network for scalable fault-tolerant runtime environments. Future Generation Computer Systems 26, 3 (2010), 479--485.
[3]
Nicolás Cardozo and Ivana Dusparic. 2018. Generating Software Adaptations using Machine Learning. In Workshop on Machine Learning for Programming Languages (ML4PL'18). 1--2.
[4]
Nicolás Cardozo and Ivana Dusparic. 2022. Next Generation Context-oriented Programming: Embracing Dynamic Generation of Adaptations. Journal of Object Technology 21, 2 (2022), 1--6.
[5]
Nicolás Cardozo and Ivana Dusparic. 2023. Auto-COP: Adaptation Generation in Context-Oriented Programming using Reinforcement Learning Options. Information and Software Technology 164 (2023).
[6]
Nicolás Cardozo, Ivana Dusparic, and Jorge H Castro. 2017. Peace COrP: Learning to solve conflicts between contexts. In Proceedings of the 9th International Workshop on Context-Oriented Programming. 1--6.
[7]
Yuanshun Dai, Yanping Xiang, and Gewei Zhang. 2009. Self-healing and Hybrid Diagnosis in Cloud Computing. In Cloud Computing, Martin Gilje Jaatun, Gansen Zhao, and Chunming Rong (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 45--56.
[8]
Eric M Dashofy, André Van der Hoek, and Richard N Taylor. 2002. Towards architecture-based self-healing systems. In Proceedings of the first workshop on Self-healing systems. 21--26.
[9]
Francis M David and Roy H Campbell. 2007. Building a self-healing operating system. In Third IEEE International Symposium on Dependable, Autonomic and Secure Computing (DASC 2007). IEEE, 3--10.
[10]
Edsger W. Dijkstra. 1974. Self-Stabilizing Systems in Spite of Distributed Control. Commun. ACM 17, 11 (Nov. 1974), 643--644.
[11]
Bahadir Dundar, Merve Astekin, and Mehmet S Aktas. 2016. A big data processing framework for self-healing internet of things applications. In International Conference on Semantics, Knowledge and Grids (SKG). IEEE, 62--68.
[12]
Conal Elliott and Paul Hudak. 1997. Functional Reactive Animation. In International Conference on Functional Programming. http://conal.net/papers/icfp97/
[13]
David Garlan and Bradley Schmerl. 2002. Model-Based Adaptation for Self-Healing Systems. In Proceedings of the First Workshop on Self-Healing Systems (Charleston, South Carolina) (WOSS '02). Association for Computing Machinery, New York, NY, USA, 27--32.
[14]
Sertan Girgin and Faruk Polat. 2005. Option discovery in reinforcement learning using frequent common subsequences of actions. In International Conference on Computational Intelligence for Modelling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce (CIMCA-IAWTIC'06), Vol. 1. IEEE, 371--376.
[15]
Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. 2008. Context-oriented programming. Journal of Object technology 7, 3 (2008), 125--151.
[16]
Muhammad Usman Iftikhar, Gowri Sankar Ramachandran, Pablo Bollansée, Danny Weyns, and Danny Hughes. 2017. Deltaiot: A self-adaptive internet of things exemplar. In 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). IEEE, 76--82.
[17]
R. Kawamura, K.-I. Sato, and I. Tokizawa. 1994. Self-healing ATM networks based on virtual path concept. IEEE Journal on Selected Areas in Communications 12, 1 (1994), 120--127.
[18]
Philip Koopman. 2003. Elements of the Self-Healing System Problem Space.
[19]
Henri Naccache and Gerald C Gannod. 2007. A self-healing framework for web services. In IEEE International Conference on Web Services (ICWS 2007). IEEE, 398--345.
[20]
Harald Psaier and Schahram Dustdar. 2010. A survey on self-healing systems: approaches and systems. Computing 91, 1 (Aug. 2010), 43--73.
[21]
Jette Randlov. 1998. Learning macro-actions in reinforcement learning. Advances in Neural Information Processing Systems 11 (1998).
[22]
R. Razavi, S. Klein, and H. Claussen. 2010. Self-optimization of capacity and coverage in LTE networks using a fuzzy reinforcement learning approach. In IEEE International Symposium on Personal, Indoor and Mobile Radio Communications. 1865--1870.
[23]
Gabi Dreo Rodosek, Kurt Geihs, Hartmut Schmeck, and Burkhard Stiller. 2009. Self-Healing Systems: Foundations and Challenges. Self-Healing and Self-Adaptive Systems 09201 (2009).
[24]
Sutton R. S. and Barto A. G. 1998. Reinforcement Learning: An Introduction. Bradford Book. The MIT Press, Cambridge, Massachusetts.
[25]
Arsalan Saeed, Osianoh Glenn Aliu, and Muhammad Ali Imran. 2012. Controlling self healing cellular networks using fuzzy logic. In IEEE Wireless Communications and Networking Conference (WCNC'12). 3080--3084.
[26]
Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. 2012. Context-oriented Programming: A Software Engineering Perspective. Journal of Systems and Software 85, 8 (August 2012), 1801--1817.
[27]
Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. 2015. ContextErlang: A language for distributed context-aware self-adaptive applications. Science of Computer Programming 102 (2015), 20--43.
[28]
Guido Salvaneschi, Gerold Hintz, and Mira Mezini. 2014. REScala: Bridging between object-oriented and functional style in reactive applications. In Proceedings of the 13th international conference on Modularity. 25--36.
[29]
Chris Schneider, Adam Barker, and Simon Dobson. 2015. A survey of self-healing systems frameworks. Software: Practice and Experience 45, 10 (2015), 1375--1398.
[30]
Martin Stolle and Doina Precup. 2002. Learning options in reinforcement learning. In International Symposium on abstraction, reformulation, and approximation. Springer, 212--223.
[31]
Richard S Sutton, Doina Precup, and Satinder P Singh. 1998. Intra-Option Learning about Temporally Abstract Actions. In ICML, Vol. 98. 556--564.
[32]
Amitabh Trehan. 2013. Algorithms for Self-Healing Networks. CoRR abs/1305.4675 (2013). arXiv:1305.4675 http://arxiv.org/abs/1305.4675
[33]
Zhanyong Wan and Paul Hudak. 2000. Functional reactive programming from first principles. In Proceedings of the conference on Programming language design and implementation. 242--252.
[34]
Danny Weyns. 2017. Software engineering of self-adaptive systems: an organised tour and future challenges. Chapter in Handbook of Software Engineering (2017), 2.
[35]
Mingyue Zhang, Jialong Li, Haiyan Zhao, Kenji Tei, Shinichi Honiden, and Zhi Jin. 2021. A meta reinforcement learning-based approach for self-adaptive system. In 2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS). IEEE, 1--10.
[36]
Tianqi Zhao, Wei Zhang, Haiyan Zhao, and Zhi Jin. 2017. A reinforcement learning-based framework for the generation and evolution of adaptation rules. In 2017 IEEE International Conference on Autonomic Computing (ICAC). IEEE, 103--112.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SEAMS '24: Proceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
April 2024
233 pages
ISBN:9798400705854
DOI:10.1145/3643915
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 June 2024

Check for updates

Author Tags

  1. self-healing systems
  2. context-oriented programming
  3. functional-reactive programming
  4. RL

Qualifiers

  • Research-article

Conference

SEAMS '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 31 submissions, 55%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 78
    Total Downloads
  • Downloads (Last 12 months)78
  • Downloads (Last 6 weeks)7
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media