{'fraction_non_alphanumeric': 0.017826825127334467, 'fraction_numerical': 0.0, 'mean_word_length': 5.976331360946745, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Systematic Exploration on Challenges and Limitations in Middleware Programming for IoT Technology

In a distributed environment, such as IoT, the requirement for constant sensing and actuating from a diverse source of devices increases the complexity and therefore, the operational cost of the software required to keep the system running. The article covers the conceptual and technological aspects, together with a series of previous experiences, findings, and literature that constitute the essence of the body of knowledge related to the issues and challenges for developing a middleware that supports the IoT domain's independent functionality. The article provides the foundation to understand the challenges faced in the development of IoT middleware, focusing on five sensitizing elements, namely, IoT evolution, architecture, security, middleware, and programming. The systematic exploration on limitations for IoT software development revealed the need for programming methods and language abstractions to cope with the demands of IoT scenarios, specifically to deal with the challenges of massive communications, limited infrastructure, and multiplicity of devices.