Вестник ДВО РАН. 2006. № 4
В.А.БОБКОВ, Е.А.ГОЛЕНКОВ, А.С.КЛЕЩЕВ, Е.А.НУРМИНСКИЙ
Исследования в области информатики в ИАПУ ДВО РАН
Среди научных исследований ИАПУ ДВО РАН важное место занимает информатика. Основными ее направлениями с момента становления Института были искусственный интеллект, компьютерная графика, компьютерные сети, базы данных; в последнее время начались работы по высокопроизводительным вычислениям. Ниже дан обзор важнейших результатов, полученных Институтом в этих областях.
Искусственный интеллект. Искусственным интеллектом в Институте начали заниматься в середине 1970-х годов. Были разработаны некоторые модели представления знаний, основы математической теории онтологий и ее приложения, ряд инструментальных и прикладных систем искусственного интеллекта.
Первое направление состояло в разработке моделей представлений знаний, среди которых особое место занимают конфлюентные реляционные продукции. Каждая система этого класса есть неупорядоченное множество предложений языка исчисления предикатов, имеющих форму импликации. Конфлюентность означает, что результат вывода в такой системе не зависит от порядка применения правил при логическом выводе. Любая система продукций этого класса непротиворечива, монотонна и полна [30]. На основе кон-флюентных реляционных продукций было предложено несколько версий продукционного языка представления знаний. Сравнение грамматической и семантической сложности этого и алгоритмических языков показало, что семантические элементы продукции примерно в 1,5 раза информативнее семантических элементов алгоритмического языка, одному продукционному правилу соответствует в среднем 5-7 операторов алгоритмического языка. Для конфлюентных реляционных продукций была разработана схема вывода, основанная на принципе резолюции, метод компиляции в совокупность подпрограмм на алгоритмическом языке и методы оптимизации процесса вывода. Обобщением конфлюентных реляционных продукций являются недоопределенные продукции, вывод в которых состоит в уточнении значений недоопределенных объектов. При разработке системы для решения прикладных задач с использованием продукций необходимо задать множество продукционных правил. Причем чем сложнее предметная область, тем большее число правил приходится задавать (например, для решения упрощенной задачи медицинской диагностики требовалось более 5000 правил). Кроме того, база, содержащая правила решения одной задачи, не может быть использована для решения другой (даже сходной). Разработка правил решения задачи требовала участия в этом процессе инженера знаний и эксперта предметной области.
Другой путь создания программы для решения прикладной задачи заключается в ее математической постановке, разработке метода ее решения, проекта и кода программы. Математическая постановка задачи и метод ее решения могут повторно использоваться при создании новых программных систем. Для сложной предметной области математическая
БОБКОВ Валерий Александрович - доктор технических наук, ГОЛЕНКОВ Евгений Александрович - кандидат физико-математических наук, КЛЕЩЕВ Александр Сергеевич - доктор физико-математических наук, НУР-МИНСКИЙ Евгений Алексеевич - доктор физико-математических наук (Институт автоматики и процессов управления ДВО РАН, Владивосток).
постановка задачи обычно предполагает наличие математической модели этой области. Предметные области, где традиционно используются системы, основанные на знаниях, относятся к классу трудно формализуемых предметных областей. Это потребовало создания универсального математического аппарата, в терминах которого возможны формулировка решаемых в них задач и разработка методов их решения. В качестве такого аппарата были предложены системы логических соотношений п-го порядка [5], и показано, как они могут использоваться в качестве моделей предметных областей. Любая модель предметной области строится с использованием системы понятий данной области (называемой онтологией предметной области), причем онтология этой области должна быть формально описана. Для этого предложен математический аппарат - необогащенные системы логических соотношений [29], и показано, как они могут использоваться в качестве математических моделей онтологий предметных областей [27]. Формально представленная онтология предметной области определяет структуру информации, хранимой в базе знаний предметной области. Была разработана модель формирования базы знаний на основе онтологии. Оказалось, что ее формирование в этом случае может выполнять эксперт без участия инженера знаний. Другой путь создания базы знаний состоит в ее индуктивном формировании по множеству примеров. На основе полученных результатов предложена новая постановка задачи индуктивного формирования баз знаний экспертных систем [24], разрабатываются методы ее решения.
Поскольку онтологии многократно используются при разработке других информационных ресурсов, необходимы их своевременное оценивание, обнаружение в них дефектов и особенностей их устройства, которые могут свидетельствовать о недоработках, избыточности или нехватке информации в них, а также контроль свойств моделей знаний и онтологий, важных для их сопровождения. Для систематического изучения свойств онтологий разработана универсальная классификация, которая охватывает свойства онтологий разных уровней общности, разных предметных областей и написанных на разных языках [25]. Она упорядочивает известные из литературы свойства и не ограничивает исследователей в обнаружении новых свойств. Такая классификация положена в основу единого подхода к определению в однозначных терминах свойств онтологий.
Исследование ряда важных предметных областей позволило построить повторно используемые модели их онтологий. В [28, 36] опубликована модель онтологии медицинской диагностики. На основе этих результатов разработаны базы знаний основных разделов медицинской диагностики. В качестве одного из результатов проекта, совместного с Институтом технических исследований (Токио), появилась онтология ноу-хау в области обработки деталей на станках с ЧПУ [39]. Созданы также модели онтологий некоторых разделов физической, органической и аналитической химии в объеме университетского курса, а также преобразования программ [3, 4]. На основе последней модели онтологии была предложена концепция оптимизирующего компилятора, управляемого базой знаний. Наконец, разработка онтологии пользовательского интерфейса позволила выдвинуть новый, онтологический подход к проектированию, реализации и сопровождению интерфейсов и его инструментальной поддержке [21].
Приведенные выше теоретические результаты стали фундаментом для инструментальных средств, организованных на принципах искусственного интеллекта. На основе теории конфлюентных реляционных продукций были разработаны универсальные оболочки экспертных систем Синап и Репро, а также оптимизированная оболочка Репро [2]; на основе онтологического подхода к проектированию, реализации и сопровождению интерфейсов - оболочки систем ввода и вывода данных, основанные на онтологиях [22, 23]. Для коллективного формирования, редактирования, хранения и обработки информационных ресурсов различных уровней общности (моделей языков, онтологий, баз знаний и данных) предложены интернет-система «Многоцелевой банк знаний» и редактор информации различных уровней общности [26].
Эти же теоретические результаты и инструментальные средства были применены и для ряда прикладных интеллектуальных систем. Модель онтологии медицинской диагностики
положена в основу экспертной системы (средствами системы Репро) медицинской диагностики «Консультант-2», которая применялась в дальнем походе на одном из кораблей Тихоокеанского флота. Разработаны концепции и проведены макетирования компьютерных банков знаний для решения задач в области химии и преобразований программ, найдены принципы применения онтологического подхода к созданию систем интерактивного доказательства математических теорем.
Полученные к настоящему времени результаты определяют направления дальнейшего научного поиска: схемы распараллеливания логических программ; развитие теории онтологий, теоретическое и экспериментальное изучение многоуровневых онтологий и их моделей; разработка методов онтологического анализа предметных областей на основе как вербального представления информации, так и метаонтологий высокого уровня; языки для исследования онтологий; реальные онтологии научных предметных областей и их математические модели; методы создания систем интерактивного проектирования «нетехнических» объектов (танцев, музыки и т.п.); разработка и экспериментальное исследование методов индуктивного формирования баз знаний в терминах непримитивных онтологий; методы прямого и косвенного редактирования информации различных уровней общности; компьютерные банки знаний в областях медицины, химии, преобразований программ и математики; средства проектирования пользовательских интерфейсов и интернет-сервисов; теория и приложения интеллектуальных агентов.
Компьютерная графика. Компьютерная графика как научное направление заняла свое место в тематике Института в середине 1970-х годов, и ее развитие на протяжении всего периода было неразрывно связано с приложениями в автоматизации научных исследований, системе автоматизированного проектирования (САПР), геоинформатике. Универсальная графическая система ДИСГРАФ [9], разработанная и функционирующая вначале на отечественной ЭВМ БЭСМ-6, а затем и на ЭВМ серии ЕС, была одной из первых графических систем в стране. Она активно применялась для интерактивной визуализации во многих задачах, связанных с тематикой ИАПУ и других институтов ДВНЦ АН СССР, была внедрена в большое число заинтересованных организаций, отмечена медалями ВДНХ в 1979 г. Первые прикладные результаты получены применительно к САПР в судостроении. Позже это направление получило развитие в совместных работах с ДВВИМУ в интересах судостроительных проектных организаций страны. Другим направлением САПР, развиваемым в лаборатории машинной графики в тот период, стала автоматизация картографирования с последующим внедрением результатов в картографическое предприятие (обслуживающее Дальневосточный регион) в Хабаровске и в ЦНИИ геодезии, аэрофотосъемки и картографии Главного управления геодезии и картографии (Москва) [16]. В 1990-е годы эти работы трансформировались в актуальные геоинформационные приложения, которые эксплуатировались многими ведомственными организациями Владивостока и Приморского края. К их числу относится инструментальная ГИС АТЛАС, земельный, городской и дорожный кадастры [15]. Весомым с точки зрения автоматизации научных исследований было и создание в 1980-е годы системы молекулярной графики [18], которая успешно применялась в ТИБОХ, ИХ ДВНЦ, научно-исследовательском центре в Пущино и других научных организациях. В этот же период закладывались основы распределенных графических систем на двухмашинной конфигурации и на сети ЭВМ [8], а немного позже были получены и первые результаты по организации параллельных вычислений на появившейся тогда транспьютерной вычислительной технике [12].
В последнее время усилия лаборатории машинной графики по-прежнему направлены как на решение актуальных сегодня задач компьютерной графики, так и на создание проблемноориентированных приложений, связанных с обработкой графической информации. Одной из таких задач стало развитие воксельной графики как альтернативы традиционной, реализуемой в распространенных графических программах полигональной графики. Воксельное представление объектов является адекватной моделью для визуализации больших объемов пространственных данных, но требует значительных вычислительных ресурсов. Поэтому
усилия разработчиков постоянно направлены на повышение производительности методов обработки графических данных и, в конечном счете, на повышение эффективности методов рендеринга (формирования растровой формы) изображений. В Институте была разработана система воксель-ной графики для моделирования сложных геометрических сцен и их визуализации [7]. С одной стороны, она позволяет универсальным образом описывать и визуализировать сложные графические объекты и сцены средствами конструктивной геометрии. С другой - является адекватным инструментом для визуализации объемов, задаваемых скалярными полями. Скалярное поле в этом случае представляется изоповерхностями (фиксированное значение функции-скаляра). При этом была реализована эффективная алгоритмическая база, основанная на октантных структурах данных, методах трассировки лучей, послойного рендеринга и целом ряде оригинальных оптимизационных решений, направленных на повышение скорости рендеринга [11]. Наряду с алгоритмической оптимизацией визуализация ускорена за счет штатных аппаратных средств (видеокарты) и параллельных вычислений. Задача организации эффективных параллельных вычислений на многопроцессорной вычислительной системе представляет самостоятельный интерес, и результатом ее решения явилась методика распараллеливания применительно к семейству алгоритмов, входящих в состав системы воксельной графики [6]. На практике эффективность системы была подтверждена несколькими ее тематическими приложениями. Она была адаптирована и применяется для анализа и визуализации скалярных физических полей в океанологии (температура, соленость и др.) (рис. 1), а также данных компьютерной томографии. При реализации последнего приложения для быстрого формирования изоповерхностей (в данном случае заданный уровень плотности ткани) был применен алгоритм «маркированных кубов», который в сочетании с аппаратным рендерингом обеспечил требуемую интерактивную скорость визуализации (рис. 2). Для оценки универсальности вок-сельного подхода было реализовано и геоинформационное приложение «пространственная карта города», где были совмещены возможности воксельного представления зданий, рельефа, использования растровых карт для нанесения текстуры, применения параллельных вычислений и аппаратного рендеринга (рис. 3).
К визуализации объемов относится и визуализация векторных полей, которая должна учитывать динамику сцены и требует, соответственно, анимации. Такие возможности также были реализованы на основе известного метода многочастичной анимации (МЧА). Как и в вышеописанных приложениях, в данном случае возможно объединение воксельной графики и метода МЧА с использованием аппаратного рендеринга. Рис. 4 иллюстрирует работу программы применительно к решаемой в Институте задаче газовой динамики по взаимодействию ударной волны с источником локального энерговыделения.
В геоинформатике получены решения двух актуальных прикладных задач, связанных с рельефом местности. В задаче моделирования динамики водостока на рельефе местности
Рис. 1. Изоповерхность фиксированного значения скорости звука в океане
Рис. 2. Визуализация данных компьютерной Рис. 3. Совмещение воксельного и векторного изображений: томографии вихрь на фоне города
разработаны оригинальная математическая модель и вычислительная схема с организацией параллельных вычислений на эксплуатируемой в ВЦ ИАПУ супер-ЭВМ МВС-1000 [10]. Использование цифровой модели рельефа позволило (в отличие от традиционных решений-аналогов) учесть пространственно-распределенный характер факторов стокообразования. В программе предусмотрены и возможности анимационной визуализации результатов моделирования. В задаче определения прямой радиовидимости на местности также было предложено эффективное алгоритмическое решение с использованием цифровой модели рельефа.
В рамках нового подхода к визуализации, активно развиваемого сегодня в компьютерной графике и получившего название IBR (Image Base Rendering), в лаборатории машинной графики были реализованы два эффективных метода рендеринга - метод рельефных текстур применительно к синтетическим воксельным сценам [14] и пленоптический метод генерации новых видов по фотоизображениям [17]. В отличие от традиционного подхода, опирающегося на геометрическую модель сцены и модель освещения, данный подход
Рис. 4. Анимация методом МЧА: взаимодействие ударной волны с источником локального энерговыделения
при формировании изображения нового вида основывается на использовании смежных растровых изображений. Его принципиальным преимуществом является независимость времени формирования нового изображения от геометрической сложности объектов сцены. Фактически вычислительные трудозатраты определяются только текстурным разрешением используемых базовых изображений. В методе рельефных текстур строятся базовые изображения с сохранением z-буфера, по которым затем формируются изображения промежуточных видов; метод обеспечивает визуализацию с анимационной скоростью и приемлемым качеством изображений. Пленоптический метод делает возможной «виртуальную прогулку» по протяженной сцене (например, по улицам города). Входной информацией для него являются изображения реальной сцены, которые могут быть получены обычной цифровой фотокамерой. На предварительном этапе из этих изображений строятся «панорамные виды», с помощью которых затем формируются изображения требуемых видов. Каждый панорамный вид объединяет фиксированное множество лучей трассировки, закрашивающих пикселы экрана. Формальное описание всего множества пространственных лучей и определяет понятие пленоптической функции. В итоге процесс формирования нового изображения сводится к выбору требуемого множества лучей для закраски пикселов изображения.
Самостоятельный интерес в компьютерной графике и ее различных приложениях представляет задача реконструкции пространственных сцен. Практическую важность она имеет и в области робототехники при разработке методов компьютерного зрения. Как правило, задача пространственной реконструкции решается сегодня с учетом прикладного контекста и разного рода упрощающих предположений. В лаборатории машинной графики в настоящее время также ведутся исследования в этом направлении в рамках конкретных развиваемых приложений. В частности, получен результат по решению задачи сопоставления/идентификации отрезков на растровых изображениях разных видов пространственной полигональной сцены для случая калиброванных камер. Предложенный метод базируется на использовании корреляционной методики сравнения локальных участков изображений, а также трифокальной геометрии, связывающей образы точек и линий на трех смежных изображениях. Метод обеспечивает восстановление пространственных координат наблюдаемых отрезков для последующего построения геометрической модели сцены (в данном случае городская обстановка).
Новой областью проблемного приложения современных возможностей компьютерной графики в тематике Института стал моделирующий программный комплекс для подводной робототехники. Развиваемый графический моделирующий комплекс (работа выполняется по грантам РФФИ и ДВО РАН в сотрудничестве с ИПМТ ДВО РАН) предназначен для исследования методов управления движением автономного подводного аппарата (АПА). Предполагается, что комплекс послужит компьютерным тренажером для проверки, исследования и развития новых методов/алгоритмов планирования траекторий и непосредственного управления сложным пространственным движением АПА. Реализация комплекса основывается на принципе виртуальной реальности и имитационном моделировании всех систем АПА. Визуализация движения виртуального аппарата в условиях виртуальной подводной обстановки должна обеспечить наглядное представление об эффективности закладываемого в АПА программно-алгоритмического интеллекта. Наряду с генерацией/визуализацией виртуальной среды при создании комплекса возникает и более сложная задача по реконструкции окружающей обстановки и точной координации аппарата по данным его оптических сенсоров (цифровая видеокамера, фотоаппарат). Методы решения этой задачи составляют часть упомянутого «интеллекта» АПА. Указанная задача, именуемая в литературе как задача «одновременного восстановления структуры и движения», или SLAM (Simultaneous Localization and Mapping), является фундаментальной в робототехнике и компьютерном зрении и требует дальнейшего совершенствования методов ее решения. Известные в мире подходы учитываются в работе, проводимой в
институте, и на их основе планируется получение новых результатов. На сегодняшний день уже разработаны блок визуализации, редактор виртуальной среды и характеристик АПА, один алгоритм пространственной реконструкции множества точек объектов среды, предложен метод восстановления реперных точек и уточнения траектории движения АПА на основе применения «фильтра Калмана». Однако эти результаты носят пока незавершенный характер и составляют содержание НИР на ближайшую перспективу. На рис. 5 приведена иллюстрация к работе блока визуализации комплекса.
Еще одной важной в научном и практическом плане областью развития и применения новых информационных технологий является обработка спутниковой информации при решении целого спектра прикладных задач, составляющих фундаментальную проблему моделирования динамики атмосферы и океана. Методы обработки графической информации, включая визуализацию, развиваются здесь с учетом прикладной специфики. Одним из них, разработанных совместными усилиями лаборатории машинной графики, моделирования океанических процессов и спутникового мониторинга, явился релаксационноконтурный метод (рис. 6) определения поля скоростей течений по спутниковым изображениям [13]. Дальнейшее развитие подхода направлено на определение структуры течений применительно к океану и атмосфере.
Базы данных. Важным направлением в тематике Института с самого начала было создание средств организации и ведения баз данных (БД), поскольку многие прикладные программы, как правило, предполагают обработку больших объемов информации. Это особенно актуально для наук о Земле, где накопление наблюдаемых данных осуществляется для больших территорий и на больших интервалах времени. Поэтому уже в начале 1980-х годов была разработана универсальная система управления базами данных (СУБД) ЛОРД, основанная на перспективной концепции реляционного подхода к организации данных [34]. В реализацию системы был заложен ряд оригинальных концептуальных решений, методов, алгоритмов и языковых средств, включая логические модели, многоуровневость, протоколы взаимодействия, средства оптимизированной выборки данных и др., направленные на придание системе универсальности и повышение скорости обработки запросов пользователя. Следует отметить, что наряду с локальным вариантом СУБД также была реализована и распределенная система, функционирующая в вычислительной сети. На базе системы СУБД ЛОРД в сотрудничестве с ТОИ ДВО РАН был создан океанографический банк данных, получивший в дальнейшем развитие и эксплуатируемый в ТОИ до настоящего времени. Одновременно с СУБД ЛОРД, ориентированной на создание больших БД и требующей больших вычислительных ресурсов, была разработана версия реляционной СУБД МИР для организации оперативных БД на малых ЭВМ. Указанная система успешно использовалась для создания судовых банков океанографических данных в морских экспедициях.
Высокопроизводительные вычисления. Современный этап превращения ИАПУ в центр высокопроизводительных вычислений и телекоммуникаций для Приморского научного центра ДВО РАН начался в 1999 г. с организации лаборатории суперкомпьютерных и распределенных вычислительных технологий, превратившейся со временем в значительное научное подразделение, в котором работают свыше 20 сотрудников (1 доктор и 5 кандидатов наук). Лаборатория занимается высокопроизводительными научными вычислениями, телекоммуникациями и сетевыми технологиями.
В рамках первого направления в ИАПУ организован Центр коллективного пользования «Дальневосточный вычислительный ресурс» (ЦКП ДВВР), оснащенный многопроцессорными вычислительными комплексами отечественного производства МВС-1000/16, МВС-1000/17, для услуг научному сообществу при проведении сложных расчетов, связанных с математическим моделированием различных явлений и процессов. Среди этих работ можно отметить определение пространственной структуры сложных биоорганических молекул [40], расчеты аэродинамических сверхзвуковых потоков с энерговыделением [31]. ЦКП ДВВР является базовой платформой для исследований по программе Президиума РАН «Параллельные вычисления и многопроцессорные вычислительные системы»,
Рис. 5. Виртуальная реальность: визуализация движения подводного аппарата
Рис. 6. Релаксационно-контурный метод: отслеживание облачности. Спутник GMS-5, видимый диапазон, район Тихого океана
ведущихся в ДВО РАН, проекта ДВО РАН «Разработка комплекса алгоритмов и программ параметрического синтеза по критерию надежности» и др. Вычислительные мощности ЦКП ДВВР используются также внешними организациями - членами научно-образовательной сети Владивостока, в которую сейчас входят помимо ДВО РАН и крупнейшие университеты - ДВГУ, ДВГТУ, ВГУЭС. В лаборатории ведутся работы по развитию численных методов решения экстремальных задач сложной структуры с использованием параллельных вычислений [19, 32, 33].
Чрезвычайно важна роль ИАПУ как системообразующего звена в корпоративной вычислительной сети ДВО РАН. Институт представляет собой региональный центр
ИВ№1 - межведомственной опорной сети, обеспечивающей формирование интегрированного информационного пространства науки и образования Российской Федерации. Под непосредственным сетевым управлением ИАПУ находятся крупнейшие научные учреждения ДВО РАН, сегмент сети Приморского научного центра с более чем 1000 узлами, подключенными к Интернету, в составе этого сегмента функционируют около 50 глобальных информационных серверов, ежедневный трафик в Интернет через маршрутизаторы ИАПУ составляет порядка 40 Гбит. В рамках Программы развития информационно-телекоммуникационных ресурсов ДВО РАН ИАПУ является головным исполнителем по Приморскому научному центру, ведет работу по созданию корпоративной вычислительной сети ДВО РАН, включающей стационары и другие отдаленные научные подразделения отделения.
Трудами в основном сотрудников лаборатории создана локальная вычислительная сеть ИАПУ, имеющая в настоящее время двухуровневую иерархическую структуру, состоящую из магистрали (с пропускной способности до 1Гбит) и горизонтальных сегментов (до 100 Мбит). Общее число постоянных рабочих мест в сети составляет 208 с резервом около 20 для временных подключений (ноутбуки, системы удаленного доступа, временные подключения внешних пользователей, другие нужды).
Информационно-вычислительные сети. Первые работы по исследованию и построению распределенных вычислительных систем на Дальнем Востоке были начаты в нашем институте в начале 1980-х годов. Тогда на базе ВЦ института был создан и сдан комиссии Госкомитета по науке и технике в эксплуатацию вычислительный центр коллективного пользования, который был предназначен предоставлять свои ресурсы в режиме удаленного доступа крупным организациям и предприятиям города. Параллельно с этой большой научно-практической работой силами лаборатории системного программирования (руководитель к.ф.-м.н. Е.А.Голенков) велись исследования в области информационно-вычислительных сетей, разработки сетевых протоколов и сетевого программного обеспечения. В то время в мире еще не существовало единой компьютерной сети типа Интернет, и в каждой стране создавались свои собственные корпоративные или национальные сети, архитектура которых подчас была очень далека от архитектуры открытых систем, предложенной Международной организацией стандартов, что в значительной мере затрудняло межсетевое взаимодействие. В нашей стране самым масштабным был проект Академ-сеть, в котором участвовали ведущие академические и отраслевые институты. Данная сеть была призвана, в первую очередь, объединить вычислительные ресурсы наиболее крупных городов страны и предоставлять их удаленным пользователям. Институт автоматики и процессов управления, так же как и ВЦ ДВО РАН, принимал активное участие в данном проекте, его сотрудники были членами различных рабочих групп координационного комитета Академсети. В институте было создано сетевое программное обеспечение, которое эксплуатировалось на участке сети, объединявшей две площадки института - в центре города и в Академгородке, и которое проходило экспериментальную проверку на глобальном маршруте Владивосток-Москва-Рига-Вена. Готовились планы создания дальневосточной академической подсети.
Практика реализации сетевого программного обеспечения показала неоднозначность трактовки неформальных описаний протоколов, что затрудняло взаимодействие разных коллективов разработчиков. Поэтому в лаборатории системного программирования возникло новое научное направление, связанное с созданием теоретического аппарата для формализации сетевых протоколов, что позволило бы не только решить проблему однозначности трактовки описаний протоколов, но и проверить их корректность. В качестве базиса была выбрана теория сетей Петри, которая хорошо подходила для описания параллельных асинхронных систем, каковыми и являются сетевые протоколы. Основным идеологом данного направления стал д.т.н. Н.А.Анисимов, которым была разработана теория композициональных сетей Петри (СП), позволившая разделять сложные распределенные системы на отдельные фрагменты, что упрощало проведение верификации протоколов
распределенных систем [1]. В практической области был разработан программный продукт PN3Tool, реализующий принципы композиционального построения протоколов при помощи композиции объектов СП и методы верификации протоколов. В целом по данному научному направлению были защищены 1 докторская и 5 кандидатских диссертаций.
По мере развития компьютерных сетей актуальность исследования протоколов снизилась, но полученные ранее фундаментальные наработки оказалось возможным использовать для другого важного на сегодняшний день направления - параллельного программирования. Основными проблемами в этой области и по сей день являются: отладка параллельных программ, повторное использование текстов программ, масштабирование в соответствии с доступными ресурсами и эффективность исполнения, а также проблема проверки корректности параллельных программ. В этой области выделяются такие направления, как теория языков программирования, теория схем программ и верификация программ на основе различных математических и логических формализмов. Однако, несмотря на длительную историю развития параллельного программирования, ни один из теоретических методов разработки и анализа параллельных программ не дошел до масштабного практического применения. Совместный анализ предметной области и СП показал принципиальную возможность применения последних для решения основных проблем параллельного программирования. Предпосылками этого являются: графическое представление СП, позволяющее визуализировать поведение параллельных и распределенных систем; композициональная теория построения сложных СП из более простых составляющих; развитая теоретическая база в области анализа поведения СП.
На первом этапе исследования применения сетей Петри в области параллельного программирования в лаборатории решалась задача описания параллельных программ в терминах цветных композициональных СП. Для этого теория цветных СП была доработана с целью включения типов данных и выражений императивных языков программирования. Теория композициональных СП была также доработана с целью определения параметризованных операций композиции над цветными сетями. Также было предложено описание СП на языке XML, совмещающем математическое описание структуры сети и описание типов данных, выражений и предикатов на языке С++. В терминах разработанного расширения СП, названного «сети Петри для программирования», были описаны основные семантические конструкции императивных языков программирования: последовательный участок, ветвление, цикл и вызов функции. Это доказывает, что для параллельных программ на императивных языках программирования может быть построена спецификация в терминах СП.
В дальнейшем была предпринята попытка использования СП для программирования непосредственного описания параллельных программ, минуя стадию использования языков программирования. Основной проблемой был поиск метода представления параллельных конструкций СП в виде последовательных взаимодействующих процессов. В результате была разработана схема трансляции параллельных программ, описанных СП в исполняемое представление, состоящая из трех этапов, на первом из которых генерируется внутреннее представление программы, на втором определяется разбиение программы на процессы, на заключительном генерируется исполняемое представление программы.
Для проверки и практической реализации теоретических результатов исследований с 1995 г. в лаборатории разрабатывается новый программный продукт PN3System, в котором учтены основные недостатки предыдущей системы: отсутствие модульности в архитектуре системы, ориентация на графический интерфейс, бинарный нерасширяемый язык описания СП. К началу работы над новой системой были выработаны концептуальные положения, предусматривающие дальнейшее развитие и возможности ее адаптации к изменяющимся аппаратно-техническим условиям:
выбрана объектно-ориентированная модель построения программ с целью увеличения степени повторного использования отдельных модулей системы;
определено представление системы на самом верхнем уровне в виде набора отдельных независимых подсистем. Взаимодействие подсистем ограничено передачей данных через файлы и при инициализации вызываемой подсистемы;
определен формат данных, хранящихся в файлах в виде читаемого текстового представления, которое также может быть использовано при промежуточных обменах данными. Такое положение оказалось подготовленным к появлению стандарта XML и переходу на разрабатываемый международный стандарт описания СП в терминах XML;
разработана уровневая модель объекта, представляющего СП, по принципу от простого к сложному, т.е. каждый следующий уровень, используя функциональность предыдущего уровня, предоставляет интерфейс последующему уровню, подобно стандарту OSI.
К концу 2001 г. появилась первая экспериментальная версия программной среды PN3System, состоящая из главного модуля, редактора СП и набора вызываемых из него независимых подсистем. Для трансляции программ, описанных в терминах СП, в исполняемое представление были разработаны следующие подсистемы, реализующие схему трансляции: 1) подсистема разбиения СП на процессы; 2) подсистема сборки процессов, работающая по трем эмпирическим критериям; 3) транслятор последовательных процессов, описанных в терминах СП в С++ [37].
В ходе работ над экспериментальной версией программной среды PN3System было получено подтверждение применимости сетей Петри для параллельного программирования. Однако также появилось четкое понимание, что они в своем математическом представлении затрудняют технологический процесс программирования. Графическое представление программ, описанных в терминах СП, очень быстро превышает допустимые для единовременного обозревания размеры, вследствие этого поиск необходимой информации и модификация программы становятся более сложными, чем при текстовом представлении программы. Очевидным стало, что для облегчения процесса программирования в терминах СП необходимо изменить способ описания параллельных программ. Поэтому в поисках нового способа описания параллельных программ было решено перейти к проблемам применения СП для отладки и проверки корректности параллельных программ.
Проверка корректности последовательных программ сводится к вопросам корректности алгоритма и его реализации, для параллельных программ к этим двум вопросам добавляется также вопрос корректности поведения параллельной программы, так как даже при корректном поведении каждого отдельного последовательного процесса параллельной программы их совместное выполнение может приводить к ошибкам, среди которых самыми сложными являются тупиковые состояния. Поиск тупиковых состояний является достаточно хорошо изученным вопросом для простых СП. В последние годы в лаборатории исследовался поиск тупиковых состояний для программ, описанных в терминах СП для программирования. В результате был разработан метод автоматического построения спецификации программ, написанных на языке С++, в терминах СП для программирования. Для полученных моделей программы был опробован метод поиска дедлоков по дереву достижимости упрощенной СП, а также разработан метод анализа корректности параллельных программ, учитывающий влияние данных при взаимодействии процессов [20].
Техника отладки последовательных программ заключается в многократном исполнении программы при одинаковых входных условиях, что приводит к одинаковым условиям возникновения ошибок. Проблема отладки параллельных программ в том, что одновременное выполнение множества процессов параллельной программы приводит к недетерминированности их совместного выполнения и, как следствие, неприменимости традиционных средств отладки последовательных программ. За последние годы в лаборатории исследовались вопросы использования сетей Петри для обеспечения, во-первых, ретроспективного анализа поведения параллельной программы после возникновения ошибок, а во-вторых, обеспечения повторяемости условий возникновения ошибок. В результате разработан метод отладки параллельных программ на основе модели параллельной
программы в терминах СП для программирования [35, 38]. После построения модели параллельной программы в исходный текст программы добавляются отладочные участки кода, позволяющие: 1) синхронизовать поведение параллельной программы с изображением на модели программы, т.е. визуализировать ее поведение; 2) сохранять последовательность событий для последующего ретроспективного отображения истории выполнения программы; 3) контролировать порядок прохождения контрольных участков при помощи приостановки выполнения внеочередных событий.
Результаты теоретических исследований лаборатории по проблемам отладки и проверки корректности параллельных программ были реализованы в виде следующих подсистем экспериментальной среды разработки PN3System:
подсистемы синтаксического разбора исходных текстов программ на языке С++;
подсистемы автоматического построения спецификации параллельной программы по ее дереву синтаксического разбора;
подсистемы модификации исходного текста отладочной информацией;
подсистемы визуализации и отладки исполнения параллельной программы на модели в терминах СП;
подсистемы построения дерева достижимости СП и поиска тупиковых состояний.
Результаты, полученные на предыдущих этапах исследования, определили следующие основные задачи, стоящие перед лабораторией. Во-первых, это переход от файлового представления программ к связным спецификациям на основе СП, позволяющим описывать одновременно и программу, и язык программирования, и среду выполнения программ, и желаемое поведение программы. А во-вторых, это разработка на основе связных спецификаций полного цикла программирования с проверкой корректности программ на каждой стадии программирования. Решение этих задач позволит реализовать такой технологический процесс программирования, при котором алгоритмы анализа параллельных программ не будут зависеть от исходного языка программирования.
Дальнейшие перспективы работ Института в области информатики лежат в интеграции указанных направлений. Разрабатываемые программные средства должны основываться на веб- и сетевых технологиях. При их разработке будут широко использоваться методы интеллектуализации и повышения наукоемкости программного обеспечения. При отображении информации и объяснении рекомендуемых решений необходимо использовать методы компьютерной графики и реалистичной анимации. Для хранения информационных ресурсов должны использоваться современные базы данных. Наконец, повышению вычислительной эффективности таких программных средств будет способствовать использование многопроцессорных комплексов в качестве серверов приложений.
ЛИТЕРАТУРА
1. Анисимов Н.А., Голенков Е.А., Харитонов Д.И. Композициональный подход к разработке параллельных и распределенных систем на основе сетей Петри // Программирование. 2001. № 6. С. 30-43.
2. Артемьева И.Л. и др. Инструментальный комплекс для реализации языков представления знаний // Программирование. 1983. № 4. С. 78-89.
3. Артемьева И.Л., Высоцкий В.И., Рештаненко Н.В. Модель онтологии предметной области (на примере органической химии) // НТИ. Сер. 2. 2005. № 8. С. 19-27.
4. Артемьева И.Л., Князева М.А., Купневич О.А. Модель онтологии предметной области «Оптимизация последовательных программ» // НТИ. Сер. 2. Ч. 1. 2002. № 12. С. 23-28; Ч. 2. 2003. № 1. С. 22-29; Ч. 3. 2003. № 2. С. 27-34.
5. Артемьева И.Л., Гаврилова Т.Л., Клещев А.С. Системы логических соотношений с параметрами // НТИ. Сер. 2. 1997. № 7. С. 19-23.
6. Бобков В.А. и др. Анализ эффективности параллельной обработки в алгоритме визуализации с трассировкой лучей // Информ. технологии. 2002. № 6. С. 50-53.
7. Бобков В.А., Роньшин Ю.И., Мельман С.Ю. Визуализация воксельных сцен // Информ. технологии. 2005. № 6. С. 16-19.
8. Бобков В.А., Белов С.Б. Графический протокол // Программирование. 1983. № 1. С. 39-49.
9. Бобков В.А. и др. Интерактивная графическая система ДИСГРАФ // Интерактивные системы: тр. сов.-фин. симпоз. Тбилиси, 1979. C. 240-247.
10. Бобков В.А., Борисов Ю.С., Май В.П. Моделирование динамики водостока на рельефе местности // Информ. технологии и вычисл. системы. 2005. № 2. C. 43-50.
11. Бобков В.А., Мельман С.В., Роньшин Ю.И. Оптимизация трассировки лучей в октантных деревьях // 15th Intern. Conf. on Comp. Graphics and Appl. GraphiCon 2005. Conf. Proc. Новосибирск, 2005, июнь. С. 187-195.
12. Бобков В.А. и др. Параллельные вычисления в алгоритмах визуализации пространственных объектов, построенных методом конструктивной геометрии // Программирование. 1994. № 2. С. 16-26.
13. Бобков В.А. и др. Релаксационно-контурный алгоритм определения векторов морских течений по спутниковым изображениям и его синоптическая верификация // Автометрия. 2003. № 1. С. 73-81.
14. Бобков В.А., Мельман С.В. Рендеринг октантных сцен // Информ. технологии. 2006. № 3. С. 39-46.
15. Бобков В.А. и др. Система программной поддержки городского территориального кадастра АТЛАС // Геодезия и картография. 1994. № 6. С. 54-57.
16. Бобков В.А., Говор В.И., Семенов С.М. Структура и функциональные задачи автоматизированной картографической системы // Геодезия и картография. 1983. № 6. С. 33-38.
17. Борисов Ю.С. Визуализация городской среды пленоптическим методом // 15th Intern. Conf. on Comp. Graphics and Appl. GraphiCon 2005. Conf. Proc. Новосибирск, 2005, июнь. С. 202-207.
18. Боровина Т.А., Кислюк О.С. Интерактивная система получения изображений и анализа строения сложных молекул с помощью растровых графических устройств // Автометрия. 1986. № 5. С. 114-116.
19. Величко А.С., Нурминский Е.А. Прямодвойственная декомпозиция задачи о репликации портфеля рыночных активов // Автоматика и телемеханика. 2004. Вып. 2. С. 170-178.
20. Голенков Е.А., Соколов А.С. Метод автоматического построения модели параллельной программы в терминах сетей Петри // Вычислительные методы и программирование. М.: Изд-во Моск. ун-та, 2005. Т. 6, № 2. С. 77-82.
21. Грибова В.В., Клещев А.С. Использование методов искусственного интеллекта для проектирования пользовательского интерфейса // Информ. технологии. 2005. № 8. С. 58-61.
22. Грибова В.В., Клещев А.С. Модель вербального объяснения результатов работы экспертной системы для индивидуального пользователя // Изв. РАН. Теория и системы управления. 2000. № 3. С. 155-160.
23. Грибова В.В., Клещев А.С. Модель интерфейса для управления исходными данными, представленными вербально, в экспертных системах // Изв. РАН. Теория и системы управления. 2001. № 1. С. 130-136.
24. Клещев А.С. Задачи индуктивного формирования знаний в терминах непримитивных онтологий предметных областей // НТИ. Сер. 2. 2003. № 8. С. 8-18.
25. Клещев А.С., Шалфеева Е.А. Классификация свойств онтологий. Онтологии и их классификации // НТИ. Сер. 2. 2005. № 9. С. 16-22.
26. Клещев А.С., Орлов В.А. Компьютерные банки знаний. Многоцелевой банк знаний // Информ. технологии. 2006. № 2. С. 2-8.
27. Клещев А.С., Артемьева И.Л. Математические модели онтологий предметных областей // НТИ. Сер. 2. 2001. Ч. 1. № 2. С. 20-27; Ч. 2. № 3. С. 19-19; Ч. 3. № 4. С. 10-15.
28. Клещев А.С., Москаленко Ф.М., Черняховская М.Ю. Модель онтологии предметной области «Медицинская диагностика» // НТИ. Сер. 2. Ч. 1. 2005. № 12. С. 1-7; Ч. 2. 2006. № 2. С. 19-30.
29. Клещев А.С., Артемьева И.Л. Необогащенные системы логических соотношений // НТИ. Сер. 2. 2000.
Ч. 1. № 7. С. 18-28; Ч. 2. № 8. С. 8-18.
30. Клещев А.С. Реляционная модель вычислений // Программирование. 1980. № 4. С. 20-29.
31. Левин В.А., Анненков В.А., Трифонов Е.В. Разрушение падающей ударной волны источником энерговыделения // Прикл. механика и техн. физика. 2006. Вып. 2. C. 3-7.
32. Нурминский Е.А. О сходимости метода подходящих аффинных подпространств для решения задачи о наименьшем расстоянии до симплекса // Журн. вычисл. математики и мат. физики. 2005. T. 45, вып. 11. С. 1991-1999.
33. Нурминский Е.А. Параллельный метод проекции на выпуклую оболочку семейства множеств // Изв. вузов. Математика. 2003. Вып. 12 (499). C. 78-82.
34. Оленин М.В., Шачнев Е.А. Система управления реляционными базами данных ЛОРД. Препр. Владивосток: ИАПУ ДВНЦ АН СССР, 1984. 22 с.
35. Тарасов Г.В. и др. Отладка параллельных программ, описанных сетями Петри // Тр. II междунар. конф. «Параллельные вычисления и задачи управления», М., 2004, 4-6 окт. М., 2004. C. 850-863.
36. Черняховская М.Ю. Представление знаний в экспертных системах медицинской диагностики. Владивосток: ДВНЦ АН СССР, 1983. 212 с.
37. Golenkov E.A. et al. Experimental version of parallel programs translator from Petri nets to C++ // PaCT 2001: Proc. Novosibirsk, 2001. P. 226-231.
38. Kharitonov D.I., Tarasov G.V. Towards Petri nets application in parallel program debugging // Proc. of the 6th Asian Computational Fluid Dynamics Conf., 2005, Oct. 24-27, Taiwan. 2005. P. 2B-1-1-2B-1-3.
39. Kryssanov V.V. et al. Building a logical model in the machining domain for CAPP expert system // Int. J. Prod. Res. 1998. Vol. 36, N 4. P. 1075-1089.
40. Likhatskaya N. et al. Homology. Models of the Yersinia pseudotuberculosis and Yersinia pestis general porins and comparative analysis of their functional and antigenic regions // JBSD. 2005 Vol. 23 (2). P. 163-174.