Научная статья на тему 'Разработка комплексных биомедицинских информационных систем на основе адаптивных объектов'

Разработка комплексных биомедицинских информационных систем на основе адаптивных объектов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
42
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АДАПТИВНЫЙ ОБЪЕКТ / ПОВЕДЕНИЕ ОБЪЕКТА / СИНЕРГЕТИЧЕСКАЯ ИНТЕРРЕПРЕЗЕНТАТИВНАЯ СЕТЬ / ОБЪЕКТ СРЕДЫ / ЦЕЛЬ СИСТЕМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Черненький Валерий Михайлович, Гапанюк Юрий Евгеньевич, Мавзютов Антон Александрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка комплексных биомедицинских информационных систем на основе адаптивных объектов»

УДК 004.9

В .М. Черненький, Ю .Е. Гапанюк, А. А. Мавзютов

РАЗРАБОТКА КОМПЛЕКСНЫХ БИОМЕДИЦИНСКИХ ИНФОРМАЦИОННЫХ СИСТЕМ НА ОСНОВЕ АДАПТИВНЫХ ОБЪЕКТОВ

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

E-mail: gapyu@yandex.ru

Ключевые слова: адаптивный объект, поведение объекта, си-

нергетическая интеррепрезентативная сеть, объект среды,

цель системы.

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

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

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

- набором целей, которые он должен выполнять;

- набором способностей, необходимых для реализации целей;

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

Универсальная структура системы и объектно-ориентированный подход. В рамках общесистемного подхода была предложена универсальная структура системы [1]. В соответствии с этой структурой для успешного функционирования любой системы необходимо и достаточно наличие у системы следующих контуров (уров-

ней): C (Communication) - связь, регистрация, передача информации, перемещение ее в пространстве; M (Memory) - память, хранение информации и перенос ее во времени; K (Computing) - расчет, обработка, получение новой информации; R (Reason) - рассудок; P (Politics) - политика (рис. 1, а).

Данный подход был фактически повторно открыт в программной инженерии при разработке объектно-ориентированных языков программирования.

Рис. 1. Универсальная структура системы (а), структуры объекта в языках программирования, ориентированных на вызов функций (б) и на передачу сообщений (в), структура адаптивного объекта (г)

С точки зрения обмена сообщениями между объектами, объектно-ориентированные языки программирования можно подразделить на две категории:

1) языки, ориентированные на вызов функций (function-oriented), в которых связь между объектами осуществляется с помощью вызова методов объектов; большинство современных объектно-ориентированных языков реализуют этот подход (С++, C#, Java); структура объекта в языке программирования, ориентированном на вызов функций, приведена на рис. 1, б;

2) языки, ориентированные на передачу сообщений (message-oriented), в которых для взаимодействия между объектами выделяется отдельный коммуникационный уровень, отвечающий за обмен сообщениями между объектами, например Objective-C; структура объекта в языке программирования, ориентированном на передачу сообщений, представлена на рис. 1, в.

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

Уровню данных можно условно поставить в соответствие уровень M универсальной структуры, а уровню методов - уровень K универсальной структуры.

В языке программирования, ориентированном на передачу сообщений, добавляется уровень сообщений, который соответствует уровню C универсальной структуры. В отличие от универсальной структуры в объектно-ориентированном подходе уровни M, K и C переставлены местами.

Одно из основных преимуществ языка программирования, ориентированного на передачу сообщений, - простота отслеживания прихода сообщения. В таких языках используются программные конструкции вида: «если получено сообщение 1, то вызвать метод 1, иначе, если получено сообщение 2, то вызвать метод 2». Таким образом, маршрутизация сообщений реализуется не вызывающим, а вызываемым объектом.

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

Реализация поведения адаптивного объекта. Для описания поведения объекта необходимо, чтобы он имел возможности выполнения действий и реакции на внешние события.

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

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

В языке программирования, ориентированном на передачу сообщений, над уровнем сообщений можно надстроить уровень поведения объекта.

Объект, обладающий поведением, назовем адаптивным объектом (рис. 1, г). Уровень поведения условно соответствует уровням R и P универсальной структуры.

Адаптируя уровни R и P для рассматриваемого объекта, будем под уровнем R понимать способность анализа сообщений, а под уровнем P - способность выработки каких-либо действий (например, изменения объекта или отправки сообщений другим объектам) на основе анализа сообщений.

Поведение адаптивного объекта и мультиагентные системы. В области искусственного интеллекта термином, наиболее близким к термину «адаптивный объект», является термин «агент».

Агент - сущность, находящаяся в среде, от которой она получает данные, отражающие события, происходящие в среде, интерпретирующая данные и исполняющая команды, воздействующие на среду [2]. В этом определении наиболее важно понятие «среда», которое будет использоваться в модели информационной системы.

В работе [2] предложена следующая классификация архитектуры агентов:

- архитектура, которая базируется на принципах и методах искусственного интеллекта, т. е. систем, основанных на знаниях (Deliberative Agent Architecture - архитектура разумного агента);

- архитектура, основанная на поведении (Reactive Agent Architecture - реактивная архитектура), т. е. на реакции системы на внешние события);

- комбинированная архитектура, которая совмещает оба подхода.

В предлагаемом подходе архитектура адаптивного объекта соответствует второму типу архитектуры. Если архитектура агента базируется на поведении, то для ее описания чаще всего используют различные автоматы (в простейшем случае - конечный автомат). В рассматриваемом подходе в качестве такого автомата используется синергетическая интеррепрезентативная сеть (Synergetic Inter-Representation Network, SIRN).

Использование SIRN для описания поведения адаптивного объекта. Синергетическая интеррепрезентативная сеть была предложена Ю. Португали для описания связанного поведения сложных объектов, в частности, он использовал ее для описания поведения людей в незнакомом городе (рис. 2) [3].

Сеть представляет собой разновидность автомата, который позволяет определять поведение адаптивного объекта на основе как внешних,

так и внутренних событий. Внутренние события генерируются внутри автомата, внешние события приходят из внешней среды.

ВНУТРЕННИЕ СОБЫТИЯ

ВНЕШНИЕ СОБЫТИЯ

Рис. 2. Структура SIRN:

-► - переход между состояниями автомата;--------► - одно

и то же событие является входным для одного состояния автомата и выходным для другого состояния автомата

В каждом состоянии поведения объекта автомат принимает на вход внутренние и внешние события и анализирует их. Далее автомат генерирует внутренние события (запоминает информацию), а также внешние события, которые сохраняются во внешней среде, и переходит в новое состояние.

Внешние события могут быть использованы автоматом в следующих состояниях или другими автоматами, так как сеть предполагает наличие «коллектива автоматов».

Модель информационной системы на основе адаптивных объектов. Такая модель информационной системы на основе адаптивных объектов состоит из трех основных уровней: среда, адаптивные объекты и цели системы (рис. 3).

Первый уровень - среда, которая включает в себя множество объектов среды, среда - пассивная часть системы.

Объект среды определим как множество свойств и методов объекта среды

Ое = < {Prop}, {Metj}>, где Ое - объект среды; Propt - свойство объекта; Metj - метод объекта. ISSN 0236-3933. Вестник МГТУ им. Н. Э. Баумана. Сер. "Приборостроение". 2012 109

Рис. 3. Модель информационной системы на основе адаптивных объектов

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

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

Опишем адаптивный объект

Oa = {{Prop}, [Metj], {OSk}, {IMn}, {OMp}, B >,

где Oa - адаптивный объект; OSk - состояние поведения объекта (состояние автомата); IMn - входное сообщение (множество входных сообщений соответствует входным внешним событиям SIRN); OMp -выходное сообщение (множество выходных сообщений соответствует выходным внешним событиям SIRN); B - поведение объекта, как множество правил,

B = {(OSi, {Prop}, {IMn}) ^ (OS2, {Metj}, {OMp})}.

Здесь OS1, OS2 - начальное и конечное состояния поведения объекта; Propt - свойство объекта (множество свойств соответствует входным внутренним событиям SIRN).

Методы адаптивного объекта могут изменять как объект, так и объекты среды. Если метод адаптивного объекта изменяет свойства объек-

та, то это соответствует выходному внутреннему событию БГОК, если изменяет объекты среды, то - выходному внешнему событию 81КК.

Третий уровень - частично упорядоченное множество целей системы, которое не входит в систему явно. Цели системы реализуются путем проектирования:

- объектов среды, их свойств и методов;

- адаптивных объектов, их свойств и методов;

- поведения адаптивных объектов.

Множество целей системы

G = <{&}, E),

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

Методика разработки информационной системы на основе адаптивных объектов. Такая методика включает в себя:

- определение множества целей системы, задание отношения частичного порядка на множестве целей;

- разработку онтологии используемых типов данных для свойств объектов среды и адаптивных объектов;

- разработку объектов среды, задание свойств и методов объектов среды;

- создание онтологии сообщений между адаптивными объектами;

- разработку адаптивных объектов (для каждого объекта определяются свойства, методы и поведение объекта, а также онтология состояний поведения);

- разработку взаимодействия объектов с базой данных;

- разработку взаимодействия объектов с пользовательским интерфейсом;

- тестирование системы, возврат к предыдущим пунктам для исправления ошибок.

Пункты, начиная со второго, могут выполняться параллельно в тех случаях, когда это возможно.

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

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

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

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

Так, система идентификации фиксирует различные низкоуровневые биометрические характеристики (изображение лица, отпечатков пальцев и т. д.), а также проводит оценку более высокого уровня (расстояния между характерными точками лица, создание шаблонов отпечатков пальцев). Перечисленные характеристики могут являться входными параметрами для модулей систем определения генетических предрасположенностей и оценки невербального поведения. Результаты этих модулей могут скорректировать первоначальный результат (по принципу обратной связи) системы идентификации личности, либо предупредить эксперта о возможных угрозах.

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

СПИСОК ЛИТЕРАТУРЫ

1. Волкова В. Н., Денисов А. А. Теория систем. М.: Высш. шк., 2006. 512 с.

2. Wooldridge M., Jennings N. R. Agent Theories, Architectures, and Languages: A Survey. In: Intelligent Agents. ECAI-94 Workshop on Agent Theories, Architecture and Languages. Amsterdam: Springer Verlag, 1994. Р. 3-39.

3. Portugali J. The Seven Basic Propositions of SIRN // Nonlinear Phenomena in Complex Systems. 2002. Vol. 5. No. 4. P. 428-444.

Статья поступила в редакцию 14.05.2012

i Надоели баннеры? Вы всегда можете отключить рекламу.