Модели

Модели используются для имитирования различных бизнес-объектов и процессов. Модели могут быть как простыми, определяющими несколько свойств и бизнес-правил, так и сложными, т.е. представляющими целый промышленный объект.

Модели могут функционировать самостоятельно, но также могут прикрепляться к объектам низшего уровня, таким как устройства. Во втором случае создается несколько экземпляров модели, каждая из которых использует объект, к которому она прикреплена в качестве первичного источника данных.

Каждая модель включает в себя:

  • Определения переменных (свойства), представляющие значения модели

  • Определения функций (операции), указывающие модели выполнить некую обработку или расчет

  • Определения событий, которые может воспроизводить модель

  • Определения привязок, связывающих вместе свойства, операции и события модели, позволяющие ей реагировать на события и состояния других объектов

  • Наборы бизнес-правил для принятия решения в соответствии с  машиночитаемой базой знаний

Пример простой реальной модели

Простые системы мониторинга и контроля допускают прямую визуализацию значений, собранных с устройств. Однако устройства различных производителей используют разные способы предоставления значений с одинаковым физическим смыслом.

Например, продукция по менеджменту сети используется для отслеживания нагрузки процессора узлов сети. Эта простая метрика представлена в виде множества разных форм:

  • Компьютеры на основе Windows выражают "точечные" значения нагрузки процессора через SNMP.

  • Те же Windows-машины обеспечивают чтение нагрузки процессора на основе WMI, если SNMP недоступен.

  • Маршрутизаторы Cisco предоставляют предварительно рассчитанные данные по использованию процессора в виде среднего значения за 5 минут или 1 час.

  • Серверы HP-UX имеют значения по типу счетчика, показывающие, сколько секунд был занят процессор с момента запуска. Эти счетчики требуют сложных вычислений для подсчета текущей нагрузки.

И все же панель инструментов Устройства Сети должна иметь диаграмму "Нагрузка процессора", имеющую одинаковый вид для всех типов устройств. Тревога "Высокая нагруза процессора" должна вести себя подобным же образом. Помимо этого, мы бы хотели достроить отчёт "Обзор нагрузки процессора", показывающий текущее использование всех устройств нашей сети.

Лучший способ соблюсти обозначенные требования -  иметь числовую метрику "Нагрузка процессора" в каждом устройстве, содержащем данные по процессору. У этой метрики должен быть общий формат, но ее расчет и процедура обновления будет отличаться в зависимости от типа устройств.

В данном случае поможет модель. Модель "Нагрузка процессора" прикрепляется к каждому устройству сети и включает набор бизнес-правил для расчета нагрузки процессора. Расчет правил вызывается периодической привязкой. Результат расчета набора бизнес-правил записывается в переменную нагрузки процессора, которая декларируется той же моделью.

Модели немного похожи на виджеты. Модель можно интерпретировать как виджет, существующий внутри сервера и не имеющий пользовательского интерфейса. Однако у моделей и виджетов есть механизмы привязки, которые приводят их в действие, активируя определенное поведение при появлении событий системы и изменении состояния.

Каждый пользователь имеет собственный набор моделей.

Модели администрирования

Два контекста используются для администрирования моделей: один -это общий контекст моделей, выступающий в качестве контейнера. Другой - это контекст модели, содержащий информацию по одной модели.