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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Парамонов В.В.

В работе рассматривается использование интеллектных логических методов в MDA-подходе (Model driven architecture-архитектура, управляемая моделированием) [1] для проектирования и конструирования информационных систем (ИС) по их формализованному описанию на примере создания ИС "Популяционный раковый регистр" (РР).

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Парамонов В.В.

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

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

науке, технике и образовании», Иркутск: 5. ИСЭМ СО РАН, 2008. - С. 313-320.

3. Соколов, А.Д., Такайшвили, Л.Н. Моделирование и оптимизация развития угольной промышленности в условиях рынка //Пятые Мелентьевские теоретические чтения. Материалы научно-практической конференции / Москва, 8 — 9 декабря 2004 г. — 6. М: Изд-во ИНЭИ РАН, 2004. С. 281-291.

4. Орехова, Л.Н., Разработка программного и информационного обеспечения для прогнозирования развития угольной промышленности страны/ Автореферат,-Иркутск, СЭИ СО РАН, 1991,18с.

Соколов, А.Д., Такайшвили Л.Н. Инструментальные средства для исследования угольной промышленности // Информационные технологии в науке и образовании // Труды Всероссийской конференции - Иркутск: ИСЭМ СО РАН, 2002, - С. 116-121.

Соколов, А.Д., Агафонов, Г.В., Музычук, С.Ю., Такайшвили, Л.Н. Закономерности раз-вития угольной промышленности // Системные исследования проблем энергетики. Новосибирск, Наука, Сибирская издательская фирма РАН.- 2000. - С. 445-460.

Парамонов В.В. УДК 004.42

РЕАЛИЗАЦИЯ И АПРОБИРОВАНИЕ ИНТЕЛЛЕКТНОГО ВАРИАНТА MDA-ПОДХОДА АВТОМАТИЗАЦИИ КОНСТРУИРОВАНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ_

Назначения и требования к ИС "Популя-ционный раковый регистр". В настоящее время по прогнозам Всемирной организации здравоохранения (ВОЗ), распространенность онкологических заболеваний в мире возрастёт в 2 раза в период с 1999 по 2020 г. (с 10 млн до 20 млн новых случаев онкологии и с 6 млн. до 12 млн. регистрируемых смертей)[2]. Одной из мер по предупреждению развития раковых заболеваний служит создание РР, который позволяет агрегировать данные о состоянии заболеваемости населения на различных территориях. Актуальность его создания и ведения отмечена Приказами Минздрава РФ № 420 от 23 декабря 1996 и N 135 от 19 апреля 1999 г., в которых определены цели совершенствования системы Государственного ракового регистра, а также требования к унификации и стандартизации данных о больных злокачественными новообразованиями (ЗНО) в соответствии с международными стандартами, утвержденными ВОЗ для раковых регистров.

В настоящее время в России существуют, главным образом, локализованные информационно-справочные системы частично решающие задачи информационной поддержки профилактики и лечения больных злокачественными новообразованиями, которые реализованы на устаревших операционных системах и устаревшем программном обеспечении. Например, одна их таких платформ реализации Microsoft Access 97 не обеспечивает поддержки современных сетевых протоколов для обмена информацией с другими системами автоматизации учреждения здравоохранения, в т.ч. централизованными базами данных.

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

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

Применение современных информационных технологий создания единой информационно-аналитической системы (ИАС) больных ЗНО позволит увеличить скорость доступа географически удаленных медицинских учреждений к базе данных ИАС, вносить новые данные о больных, прохождении ими курсов лечения, формировать отчеты и проводить многомерный статистический анализ заболеваний в зависимости от территории, пола, возраста и т.п.

В соответствии с требованиями, предъявляемыми для ИС Министерством здравоохранения и социального развития, а так же исходя из особенностей программно-аппаратной платформы на которой будет использоваться программный продукт, ИС РР должна обладать следующими свойствами:

• клиент-серверное приложение, с использованием ШЕВ-технологий;

• кроссплатформенный исполняемый программный код;

• внесение изменений в ИС как на стадиях разработки, так и на стадии эксплуатации ИС;

• ввод первичных документов для учета больных ЗНО;

• просмотр сведений о проведенном лечении для каждого больного ЗНО из базы данных РР;

• генерация отчетов в соответствии с требованиями Министерства здравоохранения и социального развития РФ;

• генерация различного рода проекций и разрезов данных по больным ЗНО, например, в зависимости от районов местожительства, возраста, пола. В соответствии с приказами в

ИС РР должны быть установлены следующие информационные потоки. При первом обращении пациента в онкологический кабинет (диспансер) на него заводится документ "Извещение". В случае, если у больного установлена четвертая стадия заболевания, то на него заполняется документ "Протокол запущенности". Если больному проводится какое-либо лечение, обследования, то эти данные помещаются в документ "Выписке из медицинской карты" ("Регистрационная карта"). На слу-

чай повторного обращения больного заводится документ "Талон дополнения". В "Талоне дополнения" устанавливается дата повторного посещения ЛПУ. В случае смерти больного от ЗНО заполняется документ "Свидетельство о смерти". Все данные заносятся в БД. На их основе строятся различные отчеты и аналитические выборки.

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

Общая схема информационных потоков ИС РР приведена на рис .1.

Применение концепции MDA для разработки ИС.

В разработке ИС можно выделить основных 2 подхода [3]:

• компонентная технология разработки;

• визуальное представление модели проекта с последующим генерированием исходного кода.

Примером первого подхода служит методология быстрой разработки приложений RAD (Rapid Application Development). Суть данного подхода состоит в том, что ИС строится из готовых подпрограмм - библиотек, выполненных на достаточно высоком абстрактном уровне.

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

Рис. 1. Общая схема информационных потоков, осуществляемых ИС "Популяционный раковый регистр"

ставления модели (ее формального описания), как правило, используется унифицированный язык моделирования - UML (Unified Modeling Language) [4]. Программный код ИС генерируется на основе этого формального описания.

Вне зависимости от подхода к разработке в ИС выделяются три основных блока (подсистемы).

1. Хранилище информации (база данных -БД) - служит для обеспечения хранения данных в определенном формате, предоставляет интерфейс для доступа к этим данным.

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

3. Интерфейс пользователя - предоставляет пользователю информацию из хранилища в удобной форме, а так же позволяет управлять уровнем приложения.

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

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

Одним из подходов к созданию ИС посредством визуального моделирования является MDA [1]. MDA разделяет вопросы проектирования и реализации информационных систем [1]. Основная идея методики — отделение спецификации функций ИС от способа их конкретной реализации. MDA обеспечивает подход позволяющий:

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

реализована;

• формально специфицировать платформу функционирования ИС;

• предоставить возможность выбора платформы для конкретной реализации;

• обеспечить возможность преобразования спецификации (модели) ИС для конкретной платформы.

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

Разработка ИС в соответствии с MDA-подходом, как правило, начинаться с построения вычислительно-независимой модели — CIM (Computational independent model) или с построения платформо-независимой модели — PIM (Platform Independent Model). Часто CIM также называют доменнойили бизнес-моделью. Цель данного этапа является разработка общих требований к системе, создание общего словаря понятий, описание окружения, в котором система будет функционировать. Сущности, описываемые в модели CIM этого этапа, должны тщательно анализироваться и отрабатываться. Вообще говоря, для создания CIM допустимо использование любых средств. Однако для совместимости с последующими этапами и унификации процесса генерации каркаса ИС описание делается на языке UML.

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

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

тей и функций ИС. Однако, в MDA предписывается отличать детали, описывающие поведение системы с точки зрения пользователя, от деталей её практической реализации: последние не должны присутствовать в платфор-мо-независимой модели. Одним из способов представления PIM является UML. При разработке ИС РР UML — диаграмма является как средством формального описания системы, так и средством ее документирования.

В настоящее время UML де-факто является стандартом построения моделей с использованием объектного подхода. В спецификацию UML входит язык ограничений над объектами (Object constrained language, OCL) [5]. OCL можно применять для определения инвариантных ограничений на значения по-лейкласса, возвращаемых значенийопераций классов, связей между локальными переменными, а также новых полей и методов.

После того, как PIM достаточно детализирована, выполняется переход к модели, зависящей от платформы (Platform Specific Model, PSM). PSM является моделью каркаса ИС, в которой функции ИС представлены с учетом специфики и свойств заданной программно-аппаратной платформы.

Преобразование PIM в PSM осуществляется при помощи формального представления свойств платформы, модели платформы (Platform Model). В PSM-модели происходит дальнейшая детализация PIM-модели и добавление элементов, специфичных для конкретного способа реализации. Можно сказать, что PSM является описанием ИС, представляющем ее на уровне, не много более абстрактном, чем непосредственно программный код, но со значительной детализацией по сравнению с PIM.

Общая схем разработки ИС в соответствии с MDA — методологией представлена на рис. 2.

Реализация экспериментальной технологии по применению MDA подхода для разработки ИС.

Начальным этапом разработки ИС является составление формализованной в виде диаграммы UML PIM разрабатываемой ИС. На этом этапе важно

• детально описать разрабатываемую ИС, отобразить взаимосвязи всех программируемых сущностей;

• сформировать руководство для разработчика-программиста;

Рис. 2. Этапы создания каркаса ИС в соответствии с MDA

• создать основу для автоматического формирования программного кода ИС. В рассматриваемом далее примере разработки РР при помощи MDA, CIM рассматривается в совокупности с PIM. И требования, предъявляемые к CIM, выполняются в PIM-представлении. Для создания формализованной модели может быть использован любой UML — редактор (Umbrella, Poseidon и т.п), поддерживающий формат XMI.

Формальная PIM-модель ИС сохраняется в виде XMI-документа, который поступает на вход транслятору. Транслятор преобразует описание сущностей в древовидные структуры, размещаемые в памяти компьютера. Транслятор реализован на основе библиотеки libxml2 [6].

На следующей стадии импорта XMI-спе-цификации модели ИС РР осуществляется анализ дерева XMI. Анализ осуществляется использованием набором правил Prolog в процессе обхода дерева в глубину. Правила Prolog распознают поддеревья заданной структуры и извлекают из этих структур необходимые данные. Данные обрабатываются в теле правила, и в результате этой обработки в рабочую память Prolog добавляются соответствующие факты о PIM. В результате трансляции XMI-файла получается множество фактов, представляющих PIM.

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

Как правило, ограничения задаются с учетом предметной области, для которой разрабатывается ИС. В большинстве случаев ограничения можно задавать в специальных тэгах UML-диаграммы PIM. Ограничения задаются на формальном языке OCL (Object constrain language — язык ограничения над объектами).

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

• задания инвариантов;

• описания охранных условий (guards);

• задания пред- и постусловий, накладываемых на операции и методы [6]. Реализация интерпретатора PIM и генерация программного кода.

PIM поступает на вход иерархии связанных модулей анализа и генерирования программного кода, в корневой вершине располагается модуль анализа, осуществляющий распознавание базовых структур и свойств UML-диаграммы. Задача этого модуля -определить структуру UML-диаграммы, проанализировать иерархию классов и типов данных, выявить ассоциации, их свойства и т.д. На этом этапе, например, распознаются абстрактные классы, формируются списки предков и потомков класса. Результатом анализа в корневом модуле являются новые производные факты о структуре UML-диаграм-мы. Полученные производные факты представляют собой часть синтезируемой PSM: ее структура, свойства элементов этой структуры. PSM передается на нижние уровни иерархии, где осуществляется дальнейшая ее специализация и непосредственно порождение программного кода. Над деревьями синтаксического разбора PIM производятся преобразования в контексте создаваемой PSM. Например, ограничения, заданные в абстрактных классах, распространяются на классы-потомки. Далее осуществляется генерирование программного кода, реализующего ограничение [3]. Информация о программно-аппаратной системе функционирования содержится в базе знаний. В базе знаний формализуются отношения между элементами диаграммы классов в контексте модели платформы и дополнительной информации, задаваемой стереотипами и теговыми значениями. Программный код синтезируется на основе шаблонов, содержащихся в базе данных.

Некоторые свойства (например, ограничения) невозможно задать в виде графической нотации. Для этого в классе есть специальный тэг. Ограничения рассматриваются только в контексте класса. Рассмотрим пример (рис. 3) использования OCL-ограничения в классе.

В процессе разбора XMI-документа OCL-выражения экстрагируются из модели и

«invariant!) {Now(}- self. Ад е()=> 18; }

ГЧ

Person

+Warne : string +Age: float

Рис. 3. Пример использования OCL

в дальнейшем могут быть применены в любом из блоков разрабатываемой ИС в соответствии со сценарием создания. Под сценарием создания подразумевается набор инструкций в соответствии с которыми создается каркас того или иного блока ИС.

Рассмотрим один из вариантов интерпретации OCL на рис. 3 в ИС РР. Выражение о том, что возраст больного не может быть менее 18 лет на языке OCL представляется в виде [6]:

context Person inv: self.Age => 18

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

Указанное выражение может быть преобразовано в виде ограничения для баз данных: ALTER TABLE PERSON ADD CONSTRAINT Age => 18

На уровне пользовательского интерфейса выражение можно проинтерпретировать в виде JavaScript для HTML-страницы (элемент пользовательского интерфейса): if (!this.Age <18){ alert(...сообщение об ошибке...)} Таким образом, уже на стадии проектирования существует возможность задания различных ограничений, которые будут в дальнейшем преобразованы в программный код. Ограничения преобразуются в программный код на стадии преобразования PIM в PSM.

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

Имея шаблоны ИС и их интерфейсы, разработчик наполняет их необходимым программным кодом.

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

Разработанная ИС РР имеет достаточно сложную структуру. Число программируемых сущностей более 100. Сущности описывают объектные структуры системы, отображаемые в таблицы базы данных, взаимодействия между этими объектными структурами. В результате генерации программного кода сформирована 91 таблица баз данных, порядка 8000 строк кода методов классов. Время генерации кода по UML-описанию PIM порядка 1 минуты. На рис. 4 представлена общая архитектура среды ИС РР.

Использование MDA-подхо-да позволило сгенерировать следующие объекты ИС:

• структура базы данных MySQL;

• иерархия классов и метаин-формацию об этих классах, доступную во время исполнения ИС;

• уровень отображения объектов на таблицы реляционной БД;

• XML — шаблоны уровня представления данных для обеспечения сетевого взаимодействия ИС с др. программными системами;

• шаблон функций языка программирования «С» для модуля конвертации данных;

• функции для модуля обмена данными на языке C++;

• шаблон элементов пользовательского интерфейса;

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

ИС РР является клиент-серверным приложением, на основе кроссплатформенной программной среды Zope (The Object Publishing Environment - Среда публикации объектов). Zope основана на принципах объектно-ориентированного системного дизайна и программирования.

Для хранения данных использована система управления базами данных (СУБД). MySQL характеризуется большой скоростью, устойчивостью и лёгкостью в использовании, является решением для малых и средних по сложности реализации приложений. Данная СУБД функционирует под управлением всех

Рис. 4. Общая архитектура среды информационно-аналитической системы

современных популярных основных операционных системам.

Одной из важнейших задач информационно-аналитической системы является возможность создания отчетов в соответствии с требованиями Министерства здравоохранения РФ (ссылка на приказы).

Подсистема генерации отчетных форм выполнена в среде Zope на языке программирования Python. Скрипт для генерации отчета проводит запросы к информации "Ракового регистра" и выводит их в виде HTML и документов в формате ODT, DOC, ODS, XLS.

Выводы.

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

1. В работе рассмотрена реализация MDA-подхода [1] для генерации ИС, в т.ч. разработан подход к формализации модели платформы в рамках MDA к проектированию ИС. Основная идея подхода — это использование первопорядкового логического формализма при анализе платформо-независимой модели, где логические формулы языка представляют проводить распознавания свойств объектов модели и обработки этих свойств. И, в последующем, на основе данных разбора автоматически порождать программный код.

2. Созданные инструментальные средства опробованы на решении задачи разработки информационной системы "Популяционный раковый регистр" для Иркутского областного онкологического диспансера.

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

внесении изменений в сгенерированный программный код.

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

БИБЛИОГРАФИЯ 4.

1. David, S. Frankel. Model Driven Architecture: Applying MDA to Enterprise 5. Computing. Willey publishing Inc.: Indianapolis Indiana USA, 2003.

2. Статистика раковых заболеваний. // Ассоциация специалистов восста- 6. новительной медицины: http://www.asvomed.ru/php/content.php?i

d = 3020.

3. Черкашин, Е.А., Федоров, Р.К., Бычков, И.В., Парамонов, В.В. Автоматизация синтеза ядра информационной системы с использованием UML — описания //

Вычислительные технологии, Т. 10, Специальный выпуск: Труды IX рабочего совещания по электронным публикациям (El-Pub 2004) Новосибирск, 23-25 сентября 2004 г. - Новосибирск: Институт вычислительных технологий СО РАН, 2005 г., С. 114-121.

Буч, Г., Рамбо, Дж., Джекобсон, А. UML. Руководство пользователя. М.:ДМК, 2001.423 с.

Jos Warmer, Anneke Kleppe. Object Constraint Language, The: Getting Your Models Ready for MDA, Second Edition. Addison Wesley, 2003, 240 p. Парамонов, В.В. Многоступенчатая система синтеза программного кода на основе платформо-независимой модели. Труды XII Байкальской Всероссийской конференции "Информационные и математические технологии в науке и управлении", Часть II, Иркутск: ИСЭМ СО РАН, 2007,С. 177-183.

Массель А.Г., Аршинский В.Л.

УДК 324.12-18

ПРИМЕНЕНИЕ КОГНИТИВНОГО МОДЕЛИРОВАНИЯ ДЛЯ СИТУАЦИОННОГО АНАЛИЗА ПРОБЛЕМЫ ЭНЕРГЕТИЧЕСКОЙ БЕЗОПАСНОСТИ

Введение. В Институте систем энергетики им. Л.А. Мелентьева СО РАН ведутся комплексные исследования, важную роль в которых играют исследования проблемы энергетической безопасности (ЭБ). Проведение последних в настоящее время базируется на совместном использовании базовых математических моделей, комплексов программ и баз данных, разработанных для исследования отдельных систем энергетики, с целью применения их для исследования направлений развития топливно-энергетического комплекса (ТЭК) в целом с позиций ЭБ. Энергетическая безопасность рассматривается как часть национальной безопасности, а именно как защищенность граждан, общества, государства,

экономики от угроз дефицита в обеспечении их обоснованных потребностей топливно-энергетическими ресурсами приемлемого качества [1]. В этих исследованиях выявлены и систематизированы неблагоприятные события, получившие название «угроз» энергетической безопасности: техногенные, экономические, природные, социально-политические, а также вызванные несовершенством управления (управленческо-правовые). В то же время сложность и плохая формализуемость проблемы, высокая роль экспертов, необходимость оперативного реагирования на возможные чрезвычайные ситуации (ЧС), выработки рекомендаций по превентивным мероприятия, направленным на предотвращение ЧС,

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