SummaryMiddleware has become an essential element in the construction of distributed Internet of Things (IoT) applications. While it plays a central role in hiding the complexities of distribution, middleware systems have also been responsible for dealing with the uncertainties in IoT environments, such as changes during operation (e.g., inaccuracies in sensor data collection) and fluctuations in resource availability, for example, the battery. These uncertainties demand attention as they can result in application failures or, even worse, jeopardize the safety of applications. Existing middleware systems are being enhanced with self‐adaptive capabilities to address these uncertainties. It means they can make runtime adjustments to the middleware and applications (built atop them) without complete shutdowns. Despite the variety of available adaptive solutions, IoT applications often face uncertainties, each requiring a distinct adaptive action. For instance, the need to fine‐tune a thing's workload due to battery consumption is a common challenge. Furthermore, these applications are susceptible to changes occurring at various layers, presenting a complex challenge of managing them simultaneously. This paper introduces Middleware Extendify (MEx), a solution for building and executing IoT adaptive middleware systems. MEx simplifies the implementation of middleware and provides an underlying environment that executes the middleware and supports a range of adaptation mechanisms. This approach ensures that the middleware meets the evolving demands of applications and copes with changes at runtime. The evaluation of MEx encompasses different adaptive middleware implementations to measure the impact of the proposed adaptation mechanisms. The results indicate that adaptation comes with acceptable performance costs while offering the ability to fine‐tune middleware functionality or align IoT applications more effectively.
Read full abstract