What is ArchLearner

ArchLearner is a tool that enables a given software architecture to adapt, learn and improve their Quality Of Service(QoS) throughout their lifecycle. It achieves this through the following ways:
  1. Automatically identify the need for adaptation at an early stage using Deep Neural Nets
  2. Perform automated decision making by identifying the best adaptation strategy using Reinforcement Learning Techniques
  3. Gather the feedback of the selected decision for continuous improvement
  4. Provides a visual interface for monitoring and controlling the learning process
ArchLearner Pipeline




Key Features

Accurate QoS Forecasts: ArchLearner provides accurate QoS forecasts using state-of-the art Deep learning based forecasting algorithms.

Proactive Adaptations: ArchLearner performs the adaptation based on the forecasts thereby preventing the system from entering a possible QoS degradation state.

Automated Decision Making and Feedbacks: ArchLearner performs adaptation by selecting strategies using reinforcement learning techniques and thereby gathers feedbacks for every strategy selected. This allows ArchLearner to improve the strategy everytime based on the feedbacks.

Lightning fast adaptations ArchLearner ensures that no time is wasted for carriying out adaptations. This is guranteed by the use of enterprise grade big data stack.

Easy to Use UI ArchLearner provides Software Architects, an easy to use UI which allows them to clearly define the QoS constraints which will be then used by ArchLearner to improve the architecture.

Near Real-Time Analytics ArchLearner provides a comprehensive analytics dashboards using Kibana and Java-FX to provide the architects with a complete overview on the adaptation process as well as the QoS statistics.

Publications

  1. 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.
  2. 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 (ECSA '19), Laurence Duchien, Catia Trubiani, Riccardo Scandariato, Raffaela Mirandola, Elena Maria Navarro Martinez, Danny Weyns, Anne Koziolek, Patrizia Scandurra, and Clément Quinton (Eds.), Vol. 2. ACM, New York, NY, USA, 38-41. DOI: https://doi.org/10.1145/3344948.3344962
  3. Javier Cámara Moreno, Henry Muccini, Karthik Vaidhyanathan. Quantitative Verification-Aided Machine Learning: A Mixed-Method Approach for Architecting Self-Adaptive IoT Systems. In 2020 IEEE International Conference on Software Architecture (ICSA)
  4. Henry Muccini, Karthik Vaidhyanathan. Leveraging Machine Learning Techniques for Architecting Self-Adaptive IoT Systems. Proceedings of the 6th IEEE International Conference on Smart Computing (SMARTCOMP 2020). To appear.

Downloads and Queries

Should you have some queries, Please feel free to drop us an e-mail at karthik.vaidhyanathan@gssi.it