Макропрограммирование
-
Определение макропрограммирования
- Макропрограммирование — это парадигма для выражения глобального поведения системы агентов или устройств.
- Локальные программы для компонентов системы компилируются или интерпретируются на основе макропрограммы.
-
Цели макропрограммирования
- Поддержка макроскопического интерактивного поведения системы.
- Развитие коллективного разума агентов или устройств.
-
Отличие от макросов в языках программирования
- Макропрограммирование не следует путать с макросами в языках программирования, которые используются для подстановки фрагментов кода.
-
Применение макропрограммирования
- Возникло в контексте программирования беспроводных сенсорных сетей.
- Обнаружило новый интерес в контексте Интернета вещей и роевой робототехники.
-
Сходство с другими подходами к программированию
- Макропрограммирование имеет схожие цели с многоуровневым программированием, хореографическим программированием и совокупными вычислениями.
-
Контекст и мотивация
- Программирование распределенных систем и мультиагентных систем сложно из-за проблем коммуникации, параллелизма и сбоев.
- Необходимо учитывать глобальное поведение системы, а не только поведение отдельных компонентов.
-
Примеры макропрограммирования
- ScaFi aggregate: программа определяет логику управления циклом для вычисления канала в распределенной системе.
- Polk: программа вычисляет среднюю температуру системы.
- PyoT: программа включает вентилятор при превышении определенного порога средней температуры.
- TinyDB: подход к макропрограммированию, ориентированный на данные, с запросами, преобразующимися в операции с узлами и маршрутизацию в сенсорной сети.
Полный текст статьи: