Тема: Сменить логику создания уведомлений на предикатную
Сейчас логика создания уведомлений жестко привязана к типу уведомления. А к нему, в свою очередь, ряд доп. параметров, для каждого типа уведомлений свой.
Поэтому для создания реакции на сложные события (пример: ТС пропало свыше 30 минут назад, двигаясь в геозоне ИМЯ со скоростью свыше 40 км/ч) приходится извращаться (другого слова не подберу) с автопереносом объекта в группы, валидацией датчиков и пр.
В случае реализации в рамках предлагаемого, данные конструкции становятся нативными и логически прозрачными.
Итак, предложение: все уведомления создаются по предикатному принципу (Если - То). Причем условия "Если" базируются на булевой алгебре и объединяются произвольными связками И-ИЛИ-НЕ, посредством скобок.
В качестве аргументов для "Если" выступают типы событий, параметры из сообщений, значения датчиков или счетчиков и т.п.
Для примера выше будет конструкция вида:
Если ТС пропало свыше 30 минут назад И ТС было в зоне ИМЯ И скорость ТС была >40 км/ч ТО __ реакция на событие_ (здесь типовые существующие варианты реагирования).
Иначе говоря, предлагаю ввести программирование уведомления, похожим как для блочных контроллеров образом. Это позволит существенно увеличить вариативность условий, упростить создание уведомлений, повысить логичность и снизить "паразитные" датчики, автоуведомления и пр.