Leveraging Machine Learning Techniques for Architecting Self-Adaptive IoT Systems

The use of IoT systems is increasing day by day. However, these systems due to their heterogeneity and inherently dynamic nature, face different uncertainties from the context, environment, etc. Such uncertainties can have a big impact on the overall system QoS, especially on energy efficiency and data traffic. This calls for better ways of architecting IoT systems that may self-adapt to keep the desired QoS. This paper presents an approach that leverages the use of machine learning (ML) techniques to perform a proactive adaptation of IoT architectures using self-adaptation patterns. It i) continuously monitors the QoS parameters; ii) forecasts possible deviations from the acceptable QoS parameters; iii) selects the best adaptation pattern based on forecasts using reinforcement learning (RL) techniques; iv) checks the quality of the selected decision using feedback mechanisms; and v) continuously performs the loop of the forecast, adaptation, and feedback. The results of our evaluations show that our approach can provide accurate QoS forecasts and further improve the energy efficiency of the system while maintaining the required data traffic.

[1]  Jürgen Schmidhuber,et al.  Long Short-Term Memory , 1997, Neural Computation.

[2]  Massimiliano Raciti,et al.  Anomaly Detection and its Adaptation: Studies on Cyber-Physical Systems , 2013 .

[3]  Henry Muccini,et al.  Patterns for Self-Adaptation in Cyber-Physical Systems , 2017, Multi-Disciplinary Engineering for Cyber-Physical Production Systems.

[4]  Danny Weyns,et al.  Software Engineering of Self-Adaptive Systems: An Organised Tour and Future Challenges , 2017 .

[5]  Marimuthu Palaniswami,et al.  Internet of Things (IoT): Definitions, Challenges and Recent Research Directions , 2015 .

[6]  Lida Xu,et al.  The internet of things: a survey , 2014, Information Systems Frontiers.

[7]  Uwe Aßmann,et al.  Toward a framework for self-adaptive workflows in cyber-physical systems , 2017, Software & Systems Modeling.

[8]  Jean-Marc Jézéquel,et al.  A prediction-driven adaptation approach for self-adaptive sensor networks , 2014, SEAMS 2014.

[9]  Guigang Zhang,et al.  Deep Learning , 2016, Int. J. Semantic Comput..

[10]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

[11]  Jens Malmodin,et al.  The energy and carbon footprint of the global ICT and E&M sectors 2010 - 2015 , 2018, ICT4S.

[12]  Eunseok Lee,et al.  Model-based reinforcement learning approach for planning in self-adaptive software system , 2015, IMCOM.

[13]  Anders S. G. Andrae,et al.  On Global Electricity Usage of Communication Technology: Trends to 2030 , 2015 .

[14]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[15]  Dit-Yan Yeung,et al.  Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting , 2015, NIPS.

[16]  Siobhán Clarke,et al.  An Analysis of Decision-Making Techniques in Dynamic, Self-Adaptive Systems , 2014, 2014 IEEE Eighth International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[17]  Zibouda Aliouat,et al.  Challenges and research directions for Internet of Things , 2017, Telecommunication Systems.

[18]  Marimuthu Palaniswami,et al.  Internet of Things (IoT): A vision, architectural elements, and future directions , 2012, Future Gener. Comput. Syst..

[19]  Eduardo F. Morales,et al.  An Introduction to Reinforcement Learning , 2011 .

[20]  José Santa,et al.  Future Human-Centric Smart Environments , 2015 .

[21]  Guowang Miao,et al.  Context-aware Machine-to-Machine communications , 2014, 2014 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[22]  Rami Bahsoon,et al.  Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services , 2017, IEEE Transactions on Software Engineering.

[23]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[24]  Ivica Crnkovic,et al.  Model-Driven Engineering for Mission-Critical IoT Systems , 2017, IEEE Software.

[25]  Michel Tokic,et al.  Teaching Reinforcement Learning using a Physical Robot , 2012 .

[26]  Yoshua Bengio,et al.  Gradient Flow in Recurrent Nets: the Difficulty of Learning Long-Term Dependencies , 2001 .

[27]  Sooyong Park,et al.  Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[28]  Frank H. P. Fitzek,et al.  Network Coding in Heterogeneous Multicore IoT Nodes With DAG Scheduling of Parallel Matrix Block Operations , 2017, IEEE Internet of Things Journal.

[29]  Sandra Sendra,et al.  Evaluation of CupCarbon Network Simulator for Wireless Sensor Networks , 2018, Netw. Protoc. Algorithms.

[30]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..