Publications

ArchLearner: leveraging machine-learning techniques for proactive architectural adaptation

Published in European Conference on Software Architecture (ECSA) 2019, Paris, France, 2019

Self-adaptation is nowadays considered as one of the possible solutions to handle the uncertainties faced by software at run-time. This is especially true in the case of IoT systems. These uncertainties can, in turn, affect the system QoS (Quality Of Service). In this tool demo, we present a machine learning driven proactive decision-making tool named ArchLearner, for aiding architectural adaptation. The tool enables the given IoT system to i) automatically identify the need for adaptation at an early stage; ii) perform automated decision making for generating the best adaptation strategy; iii) gather the feedback of the selected decision for continuous improvement. It also enables the architects/developers to i) visualize the adaptation process in near real-time; ii) specify the required configurations; iii) visualize the real-time QoS data.

Recommended citation: Henry Muccini, and Karthik Vaidhyanathan. 2019. "ArchLearner: leveraging machine-learning techniques for proactive architectural adaptation". In Proceedings of the 13th European Conference on Software Architecture - Volume 2 https://github.com/karthikv1392/karthikv1392.github.io/blob/master/files/ecsa2019.pdf

A Machine Learning-Driven Approach for Proactive Decision Making in Adaptive Architectures

Published in International Conference on Software Architecture (ICSA) 2019, Hamburg, Germany, 2019

Self-adaptation is nowadays considered to be the best solution to dynamically reconfigure a system in the occurrence of deviations from the expected quality of service (QoS) parameters. However, data-and event-driven systems, such as IoT applications, impose new heterogeneity, interoperability, and distribution issues, that make uncertainty on the QoS stability even harder. Typical adaption techniques make use of reactive approaches, an after-the-fact adaptation that starts when the system deviates from the expected QoS parameters. What we envision is instead a proactive approach to anticipate the changes before the event of a QoS deviation. More specifically, we propose IoTArchML, a machine learning-driven approach for decision making in aiding proactive architectural adaptation of IoT system. The approach i) continuously monitors the QoS parameters; ii) predicts, based on historical data, possible deviations from the acceptable QoS parameters; iii) considers a list of possible alternative solutions to prevent the QoS deviation; iv) selects the optimal solution from the list; and v) checks whether the envisioned solution satisfies the overall system QoS requirements. We, therefore, move the focus from self-adaptive architectures to self-learning architectures, enabling the architectures to learn and improve over a period of time.

Recommended citation: Muccini, Henry, and Karthik Vaidhyanathan. "A Machine Learning-Driven Approach for Proactive Decision Making in Adaptive Architectures." In 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 242-245. IEEE, 2019. https://github.com/karthikv1392/karthikv1392.github.io/blob/master/files/icsa2019.pdf