Содержание к диссертации
Введение
Глава 1. Анализ существующих решений в области диагностических систем сбора и обработки данных 10
1.1 Классификация диагностических систем 10
1.2 Применение технологии Интернета вещей в задачах распределенной диагностики 23
1.3 Построение современных распределенных программных систем на базе мультиагентных технологий 27
Выводы по главе 32
Глава 2. Модель медиаторной сети сбора и обработки данных 33
2.1 Постановка задачи диагностики в рамках медиаторной сети 33
2.2 Математическая модель медиаторной диагностической сети 36
Выводы по главе 47
Глава 3. Алгоритмы сбора и обработки данных в медиаторной сети распределенной диагностики 49
3.1 Архитектура медиатора 49
3.2 Алгоритмы управления медиаторной сетью 51
3.3 Программная реализация агента-медиатора 70
Выводы по главе 75
Глава 4. Исследование медиаторной диагностической сети 76
4.1 Система моделирования медиаторной сети сбора и обработки данных ...76
4.2 Результаты исследования 83
Выводы по главе 100
Глава 5 . Практическая реализация медиаторной диагностической сети сбора и обработки данных 101
5.1 Диагностика патологии электрокардиограммы 101
5.2 Распределенная система оптического контроля внутривенной инфузии104
Выводы по главе 117
Заключение 118
Список литературы 120
- Построение современных распределенных программных систем на базе мультиагентных технологий
- Математическая модель медиаторной диагностической сети
- Алгоритмы управления медиаторной сетью
- Система моделирования медиаторной сети сбора и обработки данных
Построение современных распределенных программных систем на базе мультиагентных технологий
Инструментальные методы диагностики основываются на применении совокупности датчиков, способных отслеживать показатели исследуемой среды, а также аппаратов диагностических воздействий и регистрации реакций. Одно из преимуществ инструментальных методов диагностики перед лабораторными заключается в сравнительно малом периоде получения результатов одного цикла измерения, что позволяет использовать их для исследования высокодинамических характеристик. Примерами таких характеристик могут служить показатели среды, которые требуют непосредственного анализа в темпе реального времени. Обладая способностью регистрации и анализа высокодинамических параметров, инструментальные методы диагностики зачастую используются совместно с системами поддержки принятия решений, а также для интенсивной диагностики.
Интенсивная диагностика [85] представляет собой процесс непрерывной периодической регистрации параметров исследуемой среды в течение определенного отрезка времени, предназначенный для экстренного оповещения критических изменений и/или последующего анализа динамики данных параметров. Интенсивная диагностика широко применяется в различных сферах деятельности, в том числе в медицине во время хирургических операций и реанимационных мероприятий. Кроме того, она необходима на этапах послеоперационной адаптации пациентов, а также используется для проведения холтеровского мониторирования (суточное мониторирование ЭКГ). Интенсивная диагностика находит свое применение в установлении технического состояния объектов и определяется как техническая диагностика. Задачами технической диагностики являются контроль технического состояния, поиск места и определение причин отказа и прогнозирование технического состояния. Контроль технического состояния, в свою очередь, представляет проверку соответствия значений параметров объекта требованиям технической документации и определение на этой основе одного из заданных видов технического состояния в данный момент времени [14].
Важной характеристикой при применении интенсивной диагностики является не только моментальное значение показателей исследуемой среды, но и их динамика. Это определяет необходимость накопления диагностической информации путем непрерывного сохранения измерительных потоков с целью последующего анализа. B случае применения комплексной диагностики совместно с контролированием параметров исследуемой среды определенным количеством датчиков, возникает проблема обработки большого количества потоков диагностических данных и своевременного оповещения о выявленных тревожных ситуациях. В рассматриваемом случае, для хранения диагностических данных требуется значительные объемы памяти централизованного хранилища.
Для решения проблем интенсивной диагностики применяются системы мониторинга, которые представляют собой технические устройства централизованного сбора, обработки и анализа диагностической информации. Примером такой системы в сфере технической диагностики является бортовая диагностическая система автомобильного транспорта [72]. Бортовая диагностическая система объединяет датчики по средствам общей диагностической сети с топологией типа «шина». Для просмотра результатов диагностики используется устройство подключения к диагностической сети.
В медицинской практике в качестве диагностических систем широкое распространение получили мониторы пациента. Монитор пациента представляет собой электронное устройство, предназначенное для сбора и отображения диагностической информации, обладающее набором интерфейсов для подключения измерительных датчиков и средствами оповещения о тревожных ситуациях. Кроме того, современные мониторы пациента обладают возможностью передачи диагностической информации на верхний уровень для сохранения и последующего анализа. В качестве верхнего уровня в таких сетях используются специализированные серверные станции.
Монитор пациента обеспечивает сбор диагностических данных с измерительных датчиков с постоянной дискретизацией, их сохранение во внутреннюю память, а также осуществляет звуковое, световое и иное оповещение о возникших тревожных ситуациях. Монитор пациента представлен на рисунке 1.2.
Математическая модель медиаторной диагностической сети
Релевантность конкретного тостояни( (сквокупностд динамики параметров) определяет степень необходимости дальнейшей обработки измерительных данных, их сохранения и тревожного оповещения о входе системы в данное состояние. Таким образом, целью мультиагентной системы является поиск и детектирование исключительных состояний.
Паттерны исключительных состояний хранятся на выделенном сервере и распространяются координаторами измерительных сетей исследуемого объекта по модулям датчиков по необходимости. Данные паттерны наряду с простейшими критериями пороговых значений могут содержать интегрально-дифференциальные критерии, а также критерии корреляционно-спектрального анализа [43].
Таким образом, использование паттернов исключительных состояний приводит к значительному сокращению потока первичной информации и повышению эффективности использования беспроводной среды передачи данных.
Для практического решения поставленной задачи предлагается реализовать концепцию медиаторной сети связи. В рамках этой концепции предлагается повысить автономность каждого датчика за счет реализации специализированного программного обеспечения, функциональность которого включает предобработку информации на стороне датчика и реализацию P2P взаимодействия между датчиками в процессе передачи данных. В ходе такого взаимодействия устройства сбора информации реализуют не только свое непосредственное назначение, но и участвуют в передаче информации между сторонними устройствами.
Реализовать данную возможность предлагается путем построения программных агентов, соответствующих устройствам сбора и предварительной обработки диагностической информации. Функциональность каждого агента включает: — непосредственно сбор данных и накопление их в промежуточном хранилище небольшого объема; — предварительную обработку данных в реальном времени и выявление потенциально опасных ситуаций; — корректировку интервалов дискретизации (адаптивная дискретизация) - уменьшение в случае необходимости повышения точности измерений и увеличение по возможности для снижения нагрузки на сеть; — формирование сообщений о потенциально опасных ситуациях и передачу их для централизованного анализа; — запрос к другим агентам датчиков для проведения дополнительных измерений и осуществления комплексного анализа ситуации; — выполнение функций посредника (медиатора) при передаче данных между сторонними агентами и центром; — балансировку нагрузки по сбору данных и выполнению посреднических функций.
Одно из основных отличий предлагаемой архитектуры заключается в реализации предварительной обработки данных посредством вычислительных возможностей интеллектуальных датчиков. Также предлагается использовать интерфейс информационного взаимодействия между датчиками, необходимый для реализации комплексной обработки информации в рамках измерительной подсистемы. Структурная схема медиаторной сети сбора и обработки данных представлена на рисунках 2.3-2.4.
Предлагаемая архитектура позволяет наделить систему сбора и обработки данных функционалом, который определяет возможность начального диагностического анализа на уровне данной системы в реальном масштабе времени. Данные преимущества улучшают качество и своевременность диагностики. Каждый датчик работает под контролем системы управления модулем датчика. Модуль датчика представляет собой законченное устройство, имеющее беспроводной интерфейс, преобразователь физической величины в оцифрованные данные и систему управления.
Для минимизации количества первичных данных, которые необходимо обработать, система управления модулем датчика управляет частотой дискретизации производимых измерений. Частота дискретизации измеряемых параметров исследуемого объекта регулируется в соответствии с: — результатами анализа значений измерений при помощи паттернов исключительных состояний; — результатами анализа состояния сетевой инфраструктуры передачи диагностических данных; — состоянием информационных взаимосвязей между агентами с целью предоставления востребованных диагностических данных. Частота дискретизации измеряемых параметров является важным фактором, влияющим на эффективность работы не только отдельного модуля датчика, но и всей системы в целом.
Алгоритмы управления медиаторной сетью
Класс управления сетевых взаимодействием Network находится в композиции с классами NetworkChannel, NetRouter и NetLogic. Класс NetworkChannel является объектной абстракцией над каналом передачи данных, который управляет пакетами, представленными в виде класса NetMessage. Классы NetRouter и NetLogic являются слушателями класса NetworkChannel, которые посредством реализации интерфейса NetListener принимают данные на обработку. Кроме того классы NetLogic и NetRouter агрегируют класс RouteTable и используют его для оперирования таблицей маршрутизации.
Конкретизируя функциональность агента-медиатора можно выделить задачу обеспечения коммуникационной инфраструктуры мультиагентной системы и задачу взаимодействия с окружающей средой (например: обслуживание сенсоров и реакция на показания). С этой целью в структуру агента вводится диспетчер, отслеживающий состояния структурных модулей агента. В результате анализа изменения состояний выносится решение о выделении определенного количества аппаратных ресурсов. Распределение вычислительных ресурсов агента между его задачами подразумевает наличие инструмента переключение контекстов выполнения этих задач с учетом установленного приоритета.
В том случае, когда мультиагентная система имеет программную реализацию агентов и инфраструктуры их взаимодействия в рамках многозадачной операционной системы, динамическое распределение вычислительных ресурсов целесообразно реализовать при помощи потоков. Тогда процесс переключения контекстов выполнения задач агента реализуется на уровне диспетчера потоков, а балансировка - при помощи инструментов распределения приоритетов конкретной операционной системы. Переносимость данного решения в определенной мере обеспечивается за счет реализации системы в рамках набора стандартов POSIX или использования кроссплатформенных инструментов разработки ПО (Qt, Java). Описанный подход также целесообразно использовать в случае реализации мультиагентной системы в виде компьютерной пиринговой сети. Однако зачастую агенты системы реализуются в виде множества автономных модулей с достаточно ограниченной вычислительной способностью. Такие модули, как правило, реализуются на базе микроконтроллеров, не имеющих в своем составе блока управления памятью (MMU, memory management unit), отвечающего за трансляцию виртуальных адресов, и, как следствие, не поддерживающих наиболее популярные многозадачные ОС. В таком случае, исполняемые задачи агента возможно реализовать в рамках одного контекста выполнения, в который также включена логика распределения аппаратных ресурсов. Однако, такой подход имеет ряд недостатков. Во-первых, переключение между задачами возможно только по полному завершению одной итерации задачи (т.к. отсутствует возможность сохранения/восстановления контекста выполнения), что в итоге ухудшает характеристики балансировки. Во-вторых, ухудшается переносимость такой системы на другие платформы.
Поэтому предлагаемым решением является использование свободной операционной системы реального времени для встраиваемых систем FreeRTOS. Данная операционная система реализует переключение контекстов потоков в рамках глобального адресного пространства с учетом выставленных приоритетов. Часть кода системы, отвечающего непосредственно за переключение контекста, является платформозависимой и модернизируется при переходе на другую микроконтроллерную архитектуру, тогда как ОС уже перенесена на множество платформ. Открытость системы позволяет модернизировать логику диспетчера потоков под различные модели многопоточности. Оперирование балансировкой задач агента в таком случае осуществляется через единый интерфейс управления потоками FreeRTOS.
Описанное решение было апробировано на практике в рамках одной из задач медицинского мониторинга, а именно - при реализации устройств контроля процессов внутривенной инфузии, обеспечивающих распознавание момента завершения процедуры внутривенного капельного вливания и передачи сообщения на мобильное устройство медицинской сестры [67]. Данные, собираемые с устройств мониторинга в режиме реального времени, частично обрабатываются на стороне самих устройств, а при возникновении рисков передаются для централизованной обработки. В случае необходимости комплексного анализа устройства могут взаимодействовать, обмениваясь сообщениями и согласовывая частоту и точность проведения измерений.
Система моделирования медиаторной сети сбора и обработки данных
Представим подвижную сенсорную сеть, взаимодействие в которой реализуется с помощью шаблонов агента-медиатора в виде медиаторной сети связи. Агенты-медиаторы анализируют сигнал с собственных датчиков, вырабатывают информацию для центра обработки данных (ЦОД), передают ее, а также участвуют в транспортировке информации от аналогичных агентов. Задача медиаторной сети - обнаружить исключительные ситуации с помощью собственных датчиков и передать информацию в ЦОД.
Топологию медиаторной сети можно описать с помощью неориентированного графа, узлами которого являются агенты-медиаторы, а ребрами - информационные каналы между агентами. На вход сети поступает вектор унарных предикатов исключительных ситуаций датчиков по времени, размерность которого определяется числом агентов-медиаторов.
Ключевыми параметрами эффективности моделируемой медиаторной сети являются: — точность детектирования, определяемая отношением количества исключительных ситуаций, которые были успешно переданы в ЦОД, к их общему количеству; — среднее время детектирования исключительной ситуации; — СКО времени детектирования исключительной ситуации; — энергоэффективность, определяемая суммой энергозатрат всех агентов медиаторной сети связи.
Работа агента-медиатора моделируется в виде последовательности выполнения задач, каждая из которых обладает определенным уровнем приоритета, энергоемкости и параметрами. В модели представлены следующие виды задач: планирование, анализ сигналов с датчиков, анализ состояния интерфейса, обработка исключительной ситуации, прием сообщения, отправка сообщения и трансляция сообщения.
Планирование заключается в распределении задач детектирования исключительных ситуаций и сетевого анализа по времени на заданный интервал. В результате планирования формируется стек ожидания агента-медиатора. При запуске анализа сигналов от датчиков агента выполняются алгоритмы детектирования исключительных ситуаций. При детектировании исключительной ситуации инициируется задача ее обработки, которая в свою очередь реализует регистрацию события, а также генерирует сообщение для ЦОД. Анализ состояния сетевого интерфейса осуществляет оценку загруженности входного и выходного буферов, а также инициирует транспортные виды задач по приему, отправке и трансляции сообщения.
Контроль за поступлением входного потока событий в модель осуществляет модуль генерации исключительных ситуаций (МГИС). МГИС осуществляет управление генераторами сигнала (ГС), которые формируют входной сигнал для измерительного модуля (ИМ) каждого агента-медиатора (AM). ИМ каждого агента-медиатора принимает сгенерированную входную последовательность и формирует входные данные для анализатора сигнала (АС). АС выполняет алгоритм детектирования исключительной ситуации и при ее возникновении генерирует задачу ее обработки, которая в свою очередь поступает во входной буфер модуля выполнения задач (МВЗ). МВЗ осуществляет обработку всех типов задач агента-медиатора с учетом их приоритета, длительности выполнения и энергоемкости. Результаты выполнения передаются в обработчик задач (ОЗ), где содержится логика реагирования агента на возникновение событий. В результате выполнения задачи обработки исключительной ситуации ОЗ генерирует сообщение для центра обработки данных, которое попадает в выходной транспортный буфер модуля сетевого интерфейса (МСИ). МСИ обрабатывает входной и выходной буфера в результате выполнения задачи анализа состояния интерфейса и осуществляет непосредственное взаимодействие с инфраструктурой передачи данных. Инициатором задач анализа датчиков и состояния интерфейса является планировщик задач (ПЗ), который генерирует план выполнения на заданный период времени по определенному алгоритму.