Аналіз технологій реконфігурації систем інтернету речей на рівні програмних модулів та завантажувачів
Abstract
Предметом вивчення в статті є технології програмування і взаємодії вузлів, а також окремих малогабаритних складових компонентів вбудованих систем Internet of Things (IoT). Метою є підвищення гнучкість компонентів систем IoT за рахунок спрощення процесу реконфігурації окремих вузлів і компонентів. Завдання: проаналізувати існуючі підходи до побудови конфігурованих систем, проаналізувати та описати існуючі рішення, які реалізують описані підходи; проаналізувати інструменти для реалізації вибраних підходів, описати метод побудови живучої системи на основі аналізованого підходу, надати технічний приклад запропонованого методу програмування. Відповідно до поставлених завдань, були отримані наступні результати. Проведено аналіз можливих шляхів реконфігурації компонентів IoT. Розглянуто способи реконфігурації на рівні мережі та часткової реконфігурації вузла. Проаналізовано та класифіковано шляхи забезпечення гнучкості компонентів IoT. Проведено порівняльний аналіз зведених параметрів завантажувачів. Проаналізовано можливість використання програмних компонентів у якості незмінних блоків коду для модифікації програми мікроконтролера як спосо-
бу реконфігурації. Запропоновано ідею використання змінних програмних модулів для представлення програми мікроконтролера з модифікованим завантажувачем. Запропоновано елементи методу для перепрограмування змінних програмних модулів мікроконтролера як проміжниого програмного забезпечення. Висновки. Відповідно до огляду існуючих типів систем, їх було класифіковано за рівнем орга-
нізації їхньої реконфігурованої частини. Відповідно до отриманої попередньої класифікації розглянуто низку архітектурних рішень з точки зору покращення експлуатаційних характеристик. Було виділено основні переваги для кожного типу організації реконфігурованої частини систем. Проведено аналіз практичних рішень щодо модифікації вбудованих компонентів мікроконтролерів для управління та
оновлення їх мікропрограм. Практичне значення даного дослідження полягає запропонуванні методу програмування зі змінними програмними модулями для мікроконтролера та отримані результати конкурентного аналізу способів модифікації компонентів і особливостей завантажувачів. The subject of study and research in this article are the technology of programming and interaction of nodes,
as well as individual small-sized components of embedded Internet of Things (IoT) systems. The goal is to increase
the flexibility of IoT system components by simplifying the reconfiguration process of individual nodes and components.
The task is: to analyze existing approaches to building configurable systems, analyze and describe existing
solutions that implement joint approaches; to analyze the tools for implementing the selected approaches; to describe
the method of building a living system based on the analysis approach; and to provide a technical example of
the proposed programming method. According to the tasks, the following results were obtained. Possible ways of
reconfiguration of IoT components are analyzed. Methods of reconfiguration at the network level and partial node
reconfiguration are considered. Methods to ensure the flexibility of IoT components are analyzed and classified. A
comparative analysis of the summary parameters of the loaders was carried out. The possibility of using software
components as immutable blocks of code to modify the microcontroller program as a method of reconfiguration was
analyzed. The idea of using variable software modules to represent the microcontroller program at a higher level of
abstraction with a modified bootloader is thus proposed. Elements of a method for reprogramming variable software
modules of microcontrollers as middleware are proposed. Conclusions. According to a review of the existing types
of systems, they were classified according to the level of organization of their reconfigured parts. According to the
obtained preliminary classifications, some architectural solutions were considered from the point of view of improving
operational characteristics. The main advantages for each type of organization of the reconfigurable parts of the
systems are highlighted. An analysis of practical solutions regarding the modification of the built-in components of
microcontrollers for managing and updating their firmware was conducted. The practical significance of this study is
the proposal of a method of programming with variable software modules for microcontrollers and the obtained
results of a competitive analysis of methods of modifying components and loader characteristics.