A Framework Based on Learning Techniques for Decision-making in Self-adaptive Software

The development of Self-adaptive Software (SaS) presents specific innovative features compared to traditional ones since this type of software constantly deals with structural and/or behavioral changes at runtime. Capabilities of human administration are showing a decrease in relative effectiveness, since some tasks have been difficult to manage introducing potential problems, such as change management and simple human error. Self-healing systems, a system class of SaS, have emerged as a feasible solution in contrast to management complexity, since such system often combines machine learning techniques with control loops to reduce the number of situations requiring human intervention. This paper presents a framework based on learning techniques and the control loop (MAPE-K) to support the decision-making activity for SaS. In addition, it is noteworthy that this framework is part of a wider project developed by the authors of this paper in previous work (i.e., reference architecture for SaS [1]). Aiming to present the viability of our framework, we have conducted a case study using a flight plan module for Unmanned Aerial Vehicles. The results have shown an environment accuracy of about 80%, enabling us to project good perspectives of contribution to the SaS area and other domains of software systems, and enabling knowledge sharing and technology transfer from academia to industry. Keywords-Self-adaptive software; Reference Architecture; Framework; Learning Techniques; Decision-making.

[1]  Xu Manwu,et al.  A framework for dynamic software architecture-based self-healing , 2005 .

[2]  Mir Ali Seyyedi,et al.  A self-healing architecture for web services based on failure prediction and a multi agent system , 2011, Fourth International Conference on the Applications of Digital Information and Web Technologies (ICADIWT 2011).

[3]  Bradley R. Schmerl,et al.  Software architecture-based adaptation for Grid computing , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[4]  Das Amrita,et al.  Mining Association Rules between Sets of Items in Large Databases , 2013 .

[5]  Jesper Andersson,et al.  FORMS: a formal reference model for self-adaptation , 2010, ICAC '10.

[6]  Paul W. P. J. Grefen,et al.  A framework for analysis and design of software reference architectures , 2012, Inf. Softw. Technol..

[7]  Daniel T. Larose,et al.  Discovering Knowledge in Data: An Introduction to Data Mining , 2005 .

[8]  Schahram Dustdar,et al.  A survey on self-healing systems: approaches and systems , 2010, Computing.

[9]  Franco Zambonelli,et al.  A survey of autonomic communications , 2006, TAAS.

[10]  Elisa Yumi Nakagawa,et al.  Adaptive Software Development supported by an Automated Process: a Reference Model , 2013 .

[11]  Vipin Kumar,et al.  Introduction to Data Mining, (First Edition) , 2005 .

[12]  Christophe G. Giraud-Carrier,et al.  Behavior-based clustering and analysis of interestingness measures for association rule mining , 2014, Data Mining and Knowledge Discovery.

[13]  Paris Avgeriou,et al.  Empirically-grounded reference architectures: a proposal , 2011, QoSA-ISARCS '11.

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[15]  Paul W. P. J. Grefen,et al.  A classification of software reference architectures: Analyzing their success and effectiveness , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[16]  J. Girard,et al.  Definition of Reference Architectures based on Existing Systems WP 2 . 2 , Platforms and Components , 2004 .

[17]  Frank José Affonso,et al.  A Reference Architecture Based on Reflection for Self-Adaptive Software , 2013, 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse.

[18]  Simon A. Dobson,et al.  A survey of self‐healing systems frameworks , 2015, Softw. Pract. Exp..

[19]  Lei Liu,et al.  A Reference Architecture for Self-organizing Service-Oriented Computing , 2008, ARCS.

[20]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[21]  Elisa Yumi Nakagawa,et al.  Towards a process to design aspect-oriented reference architectures , 2009 .

[22]  Flávio Oquendo,et al.  RAModel: A Reference Model for Reference Architectures , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[23]  Jesper Andersson,et al.  On decentralized self-adaptation: lessons from the trenches and challenges for the future , 2010, SEAMS '10.

[24]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).