An enabling framework for customization and adaptation of middleware of things - CAVALCANTI, David Júnio Mota (2024)
The Internet of Things (IoT) enables the development of applications using smart devices called things. The increasing processing, storage and communication capacities of devices boosted the growth of distributed IoT applications. IoT Middleware systems have become essential for developing these applications by facing distribution, device heterogeneity and application interoperability. However, IoT environments are highly dynamic and susceptible to changes, introducing uncertainties, such as changing user requirements (e.g., evolving applications), changing environmental conditions (e.g., network delays) and varying resource availability, e.g., battery levels. These uncertainties can lead to failures or compromise application func- tioning. Self-adaptive middleware systems have been responsible for dealing with uncertainties by dynamically adapting their behavior/structure and applications built atop them without system shutdowns. Managing uncertainties at various layers, each requiring a distinct adap- tive action, making it challenging to manage them simultaneously. This thesis introduces Middleware Extendify (MEx), a solution for building and executing IoT self-adaptive middle- ware systems. MEx simplifies the implementation of middleware and provides an execution environment for supporting a range of adaptation mechanisms, ensuring that the middleware meets the evolving demands of applications and copes with changes at runtime. Additionally, this thesis presents AquaMOM, an adaptive IoT system designed for monitoring water con- sumption in semi-arid regions, where frequent changes in water availability and usage patterns justify the need for an adaptive approach. It also includes a low-cost IoT device prototype equipped with water and energy monitoring sensors. Built using MEx, AquaMOM lever- ages MEx’s capabilities to manage uncertainties, respond to dynamic changes, and meet application demands. The evaluation of MEx encompasses different adaptive middleware im- plementations to measure its adaptation mechanisms’ impact while comparing its performance with a widely adopted MQTT-based middleware. Results indicate that adaptation comes with acceptable performance costs while providing significant benefits, such as fine-tuning middle- ware functionalities or enhancing application alignment, e.g., adaptation increases publishing time from 4.24 ms to 6.27 ms, while extending battery lifetime from 1.4 to 6.6 days. These findings show MEx’s potential to enhance IoT middleware, making systems more adaptable and efficient in real scenarios.