автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:"Квазар-Офлайн". Распределенный вычислительный комплекс для решения задач распознавания образов

кандидата физико-математических наук
Качалков, Александр Викторович
город
Екатеринбург
год
2007
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «"Квазар-Офлайн". Распределенный вычислительный комплекс для решения задач распознавания образов»

Автореферат диссертации по теме ""Квазар-Офлайн". Распределенный вычислительный комплекс для решения задач распознавания образов"

На правах рукописи

КАЧАЛКОВ АЛЕКСАНДР ВИКТОРОВИЧ

«КВАЗАР—ОФЛАЙН». РАСПРЕДЕЛЕННЫЙ ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС ДЛЯ РЕШЕНИЯ ЗАДАЧ РАСПОЗНАВАНИЯ ОБРАЗОВ

05 13 11 — математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

□0305Э084

Екатеринбург — 2007

003059084

Работа выполнена в Институте математики и механики УрО РАН

Научный руководитель-

доктор физико-математических наук, доцент Хачай Михаил Юрьевич

Официальные оппоненты:

доктор технических наук,

профессор Файзуллин Рашит Тагирович,

кандидат физико-математических наук, старший научный сотрудник Кукушкин Александр Петрович

Ведущая организация Уральский госуниверситет им. А.М Горького, г Екатеринбург

Защита состоится мая 2007 г в часов на заседании

диссертационного совета К004 006 01 при Институте математики и механики УрО РАН (620219, Екатеринбург, ГСП-384, ул С.Ковалевской, 16)

С диссертацией можно ознакомиться в библиотеке Инсгитута математики и механики УрО РАН

Автореферат разослан апреля 2007 г

Ученый секретарь

диссертационного совета К004 006 01 кандидат физико-математических наук

В Д Скарин

Общая характеристика работы

Диссертационная работа посвящена анализу и моделированию предметной области в рамках унифицированного процесса, с использованием универсального языка моделирования UML, построению универсальной модели для описания задачи распознавания образов, описанию нескольких конкретных алгоритмов распознавания в терминах модели, и разработке прототипа подсистемы размещения и мониторинга заданий «КВАЗАР—Офлайн»

Актуальность темы. Исторически отделы математического программирования и исследования операций Института математики и механики (ИММ) УрО РАН известны пакетами прикладных программ, среди которых выделялся пакет «КВАЗАР», разработанный В.Г Казанцевым1 и базировавшийся, в основном, на созданных В л Д Мазуровым комитетных алгоритмах распознавания образов2.

В свое время (80-е г г) появилось несколько версий пакета, ориентированных на различные вычислительные платформы (БЭСМ-6, ЕС, IBM PC) и операционные системы

Позднее, в 1995-97 г.г М Ю.Хачаем, А.И Рыбиным и А Н Тютин-ым был создан программный комплекс «КВАЗАРJ » для MS Windows Несмотря на то, что алгоритмическая база новой программы в большинстве своем осталась прежней, все ашоритмы3, по ряду причин, были реализованы заново Кроме того, более тщательно были проработаны вопросы хранения и обработки данных.

В 2000г А В Качалков, М Ю Хачай и А И Рыбин продолжили развитие известного пакета Результатом работы стал вычислительный портал «КВАЗАР—Онлайн», который предоставил Web-доступ к алгоритмам распознавания образов Были реализованы следующие алгоритмы алгоритм поиска информативной подсистемы признаков4, алгоритм опорных векторов (классический и

'Казанцев, В С Задачи классификации и их программное обеспечение (пакет КВАЗАР) /ВС Казанцев М Наука, 1990 136 с.

^Мазуров, Вл Д Меюд комитетов в задачах оптимизации и классификации / Вл Д. Мазуров М Наука, 1990

Algorithms of the KVAZAR+ Package / V D Mazuiov, S V Plotmkov, A I Rybm et al // Pattern Recognition and Image Analysis 1998 Vol 8, no 3 Pp 374-375

4Лбов, Г С Выбор эффективности системы зависимых признаков /ГС Лбов //веб 1рудов ИМ СО АН СССР Вычислительные системы 1965 №19

со штрафными коэффициентами)5, а также алгоритм аффинных разделяющих комитетов6

С использованием «КВАЗАР—Онлайн» было решено несколько прикладных задач в области медицины, экономики и геофизики 7 В ходе решения задач было выявлено несколько проблем Основная проблема состояла в том, что при решении реальных задач с большими объемами данных время отклика системы на запросы пользователей могло быть довольно большим В связи с этим решение задач большой размерности средствами сайта «КВАЗАР—Онлайн» было затруднительным Для решения этой и ряда других проблем в 2003 г были начаты работы по проекту «КВАЗАР—Офлайн»

Разработка концепции реализации вычислительных алгоритмов является актуальной задачей, так как позволяет облегчить задачу создателей алгоритмов за счет использования рекомендаций по разработке, а так же поддержка всей необходимой инфраструктуры Расширяемость системы не ограничивается пополнением алгоритмической базы Использование технологии с открытой модульной архитектурой позволяет расширять как функциональность, так и наполнение вычислительного портала, предоставляющего Web—интерфейс для доступа к системе

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

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

5Vapnik, V Statistical Learning Theory / V Vapnik Wiley, New York, 1998

6Mazurov, VI D Committee constructions for solving problems of selection, diagnostics and prediction / VI D Mazurov, M Yu Khachai, A I Rybm // Proceedings of the Steklov Institute of mathematics 2002 Vol 1 Pp 77-101

7Мазуров, Вл Д Реализация диагностики и выбора вариантов в горно-геочогических задачах / Вл Д Мазуров, М Ю Хачай, В П Некрасов // Известия ВУЗ-ов Горный журнал 1998 №1 С 10-15

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

Научная новизна. В рамках диссертации разработан оригинальный вычислительный модуль на базе системы управления контентом DotNetNuke, который, используя алгоритмическую базу и предложенную вычислительную инфраструктуру «КВАЗАР—Офлайн», позволяет различным пользователям удаленно решать задачи распознавания образов с помощью любого Web—браузера В ходе работы, проведен полный цикл разработки, используя методологию унифицированного процесса Реализация прототипа системы выполнена с помощью современных технологий

Методы исследования. При решении поставленных задач в рабою использован унифицированный язык моделирования ( UML) в рамках унифицированного процесса (Unified Process), а также мего-ды и средства проектирования баз данных и объектно—ориентированного программирования

Практическая значимость. Основным результатом работы явля-

ется распределенный вычислительный комплекс, предоставляющий «удаленными» пользователям возможности для решения различных вычислительных задач распознавания образов с использованием алгоритмической базы вычислительного портала «КВАЗАР— Офлайн»

Апробация работы. Результаты работы обсуждались на семинаре «Математическое программирование» ИММ УрО РАН под руководством академика И И. Еремина, докладывались на международных и всероссийских конференциях

- Международных конференциях «Распознавание образов и анализ изображений РОАИ» (2002, Новгород), (2004, Санкт-Петербург)

- Всероссийской конференции «Математическое программирование и приложения» (2003, Екатеринбург).

- Международной конференции «Интеллектуализация обработки информации (ИОИ-2СЮ6)» (2006, Алушта)

Публикации. Основные результаты диссертации полностью опубликованы в следующих работах [1]-[10]

Структура и объем работы. Диссертационная работа состоит из введения, трех глав, содержащих 3 таблицы, 34 рисунка, заключения и списка литературы из 32 наименований Объем работы составляет 115 страниц

Краткое содержание работы

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

Первая глава, «Инструменты разработки и проектирования», является обзорной и содержит изложение методов и средств, которые лежат в основе разработок, описанных в работе Дается обзор основных понятий, необходимых для изложения последующего материала Рассматриваются существующие подходы разработки распределенных вычислительных комплексов Обсуждаются имеющиеся проблемы для существующих подходов и способы их решения Рассматриваются вопросы выбора платформы разработки Описывается система управления вычислительным порталом Обсуждается сервер базы данных системы и компоненты доступа к базе данных Описываются инструменты анализа и проектирования системы

На сегодняшний день, существуют различные технологии решения вычислительных задач С одной стороны, активно развивается направление решения задач с помощью распределенных вычислений Распределенные вычисления (distributed computing, grid computing, volunteer computing)8 — способ решения трудоемких вычислительных задач с привлечением большого числа исполнителей, работающих одновременно над разными частями задач В качестве исполнителей выступают вычислительные машин, подключенные через какую-либо среду передачи данных Для упрощения процесса организации и управления распределенными вычислениями создано несколько программных комплексов, как коммерческих, так и абсолютно бесплатных

8http //www parallel ru

С другой стороны, существуют альтернативные способы построения распределенных вычислительных комплексов, ориентированных на решения различных задач конечными пользователями Один из таких подходов рассматривается в статье А П Сапожникова и Т Ф Сапожниковой 9 В работе описывается архитектура построения распределенных вычислительных систем на базе автономных фортран подпрограмм Авторы статьи предлагают технологию объединения готовых вычислительных блоков в более крупные распределенные системы В системе «КВАЗАР—Офлайн» идея использования автономно разработанных алгоритмов, так же является одной из ключевых Более того, вычислительная служба «КВАЗАР—Офлайн» поддерживает технологию динамического «подключения» новых алгоритмов

Преимущество технологии ASP NET перед остальными в высокой степени абстракции, построенной над стандартным HTML кодом использование объектно—ориентированной парадигмы, поддержку нескольких языков программирования, наличие универсального основания, содержащего тысячи уже готовых для использования в проектах решений — Microsoft NET Framework10

Исходя из требований, предъявляемых к Web—интерфейсу прототипа, было предложено реализовать функции системы в виде собственного модуля Quasar для Web—приложения с открытым исходным кодом DotNetNuke11 DotNetNuke является системой управления контентом (Content Management System) DotNetNuke построен на основе ASP NET/VB NET Модуль Quasar является независимым компонентом, который может быть загружен и установлен в систему DotNetNuke Модуль предоставляет из себя набор пользовательских элементов управления, реализующих интерфейс доступа к функциям системы

Сервер базы данных является ключевым компонентом любого современного приложения В качестве сервера базы данных DotNetNuke использует версию Microsoft SQL Server 2005 Express Editon12 Данная версия является свободно распространяемой и поддерживает большинство функций полной версии Microsoft SQL

9Сапожников, А П Реинжениринговая технология автоматизированного построения распределенных вычислительных систем на основе автономно разработанных фортранных программ Tech гер / А П Сапожников, Т Ф Сапожника JINR LIT, 2004-2005

10http //msdn microsoft com/netframework

11http //www dotnetnuke com

12http //msdn microsoft com/sql/express

Server 2005 Microsoft SQL Server 2005 представляет новое поколение масштабируемых решений в области систем управления базами и хранилищ данных для задач, требующих быстрого получения и анализа информации.

В настоящее время при разработке проектов применяются различные подходы. Известным способом создания и планирования цикла разработки является унифицированный процесс UP (Unified Process)13 Унифицированный процесс предполагают постоянный анализ требований Успех программной системы определяется тем, насколько она соответствует требованиям пользователей Признанным стандартом для описания объектно—ориентированных систем является язык UML (Unified Modehng Ьапдиадс)ы

В основу унифицированного процесса положена идея итеративной разработки, те разработка осуществляется в виде нескольких краткосрочных мини-проектов фиксированной длительности, называемых итерациями Каждая итерация включает свои собственные этапы анализа требований, проектирования, реализации и завершается тестированием, интеграцией, созданием работающей системы. Еще одна ключевая идея UP — использование объектных технологий, в том числе ООА и объектно—ориентированного программирования (ООП).

Во второй главе, «Анализ требований и построение модели», проводится анализ требований системы Формулируются предпосылки и цели создания Перечисляются основные функции и прецеденты системы Строится концептуальный и логический планы Описываются основные системные операции Приводятся примеры описания некоторых конкретных алгоритмов в рамках предложенной модели

Технология создания больших программных комплексов, каковым является «КВАЗАР—Офлайн», предполагает, что до создания планов, проектов и уж тем более, до написания программного кода, необходимо провести тщательный анализ целого семейства факторов, положительно или отрицательно влияющих на создаваемый программный продукт, и называемых в западной литературе «бизнес-требованиями«- (Business Requirements).

Идея описания функциональных требований в виде прецедентов была сформулирована в 1986 году Айваром Якобсоном (Ivar Jacobson) — главным разработчиком языка UML и UP

13http //www îbm com/software/awdtools/rup/)

14http.//wvw-306.îbm.сот/software/ratlonal/uml

При разработке подсистемы размещения заданий основные требования к системе были сформулированы в форме прецедентов, описывающих взаимодействие компонентов проектируемой системы и внешних объектов, называемых в терминологии UP исполнителями Исполнитель (actor) — это сущность, обладающая поведением. К числу исполнителей может относиться и рассматриваемая система, если она вызывает службы других систем В прецеденте могут участвовать основные и вспомогательные исполнители Основной исполнитель (primary actor) — исполнитель, чьи задачи решаются с использованием системы В нашем случае основным исполнителем является удаленный пользователь Вспомогательный исполнитель обслуживает систему (например, предоставляет информацию). В данном случае роль исполнителя играет вычислительная подсистема

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

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

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

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

проектирования можно выделить несколько простых атрибутов После объединения концептуальных классов, ассоциаций и атрибутов, модель предметной области, подсистема размещений заданий представлена на (см рис 1(b)).

Рис. 1 (а) Диаграмма прецедентов (Ь) Концептуальная модель

Третья глава, «Архитектура прототипа системы», посвящена рассмотрению архитектурных вопросов и решений построения прототипа распределенного вычислительного комплекса «КВАЗАР—Офлайн» Проводится анализ структуры базы данных, компонентов доступа к данным Описывается архитектура модуля Quasar Приводятся принципы работы подсистемы размещения и мониторинга заданий Описывается вычислительная подсистема Quasar Рассматриваются вопросы разработка вычислительного алгоритма, создания вычислительного компонента, а также принципы работы вычислительной службы обработки заданий В заключении описывается процедура регистрации нового вычислительного алгоритма в базе данных Quasar

Система управления контентом DotNetNuke является полностью модульной, вплоть до того, что сама система состоит из модулей Модуль представляет из себя набор пользовательский элементом управления (ASP.NET User Control), наследованных от специального элемента управления DotNetNuke — PortalModuleBase Данный базовый элемент управления предоставляет доступ к инфраструктуре системы DotNetNuke, в частности, информацию о текущем пользователе (идентификационный номер, имя, группа и тд), доступ к файловой подсистеме сервера Кроме PortalModuleBase, существует еще один

тсльского модуля — ModuleSettingsBase.

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

Для удобства пользователя в системе реализован просмотр и редактирование таблицы «объект-признак» Модуль реализует концепцию «выборок» для того, чтобы обеспечить пользователю возможность быстро и интуитивно просматривать данные в таблице «объект-признак». Разбор «выборки» происходит с помощью специально разработанного регулярного выражения (Regular Expression15), которое позволяет задавать выборки различным способом (7<R.ange> (•7<Start>\d+) \- (?<End>\d+) ) I (-?<Item>\d+) .

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

Предметная модель задач, методов и алгоритмов расширяема Основная идея заключается в возможности пополнять базу алгоритмов В зависимости от выбранного алгоритма, пользователю предлагается ввести параметры, которые описаны в базе данных для конкретного алгоритма После того, как все параметры введены и проверены — новое задание добавляется в систему (см рис 2(a))

Вычислительный алгоритм «публикует» результаты в специальную таблицу базы данных Quasar — Resultltem Данная таблица содержит результаты в произвольной форме, которые определяются непосредственно вычислительным компонентом Для того, чюбы конечный пользователь мог интерпретировать результат, каждый элемент таблицы Resultltem ссылается на элемент таблицы Modelltem, тем самым, определяя, тип результата и его описания

15http //regexlib com/Cheatsheet aspx

Например, для алгоритма поиска информативных признаков результатом (случайного поиска с адаптацией - СПА) является вектор информативности признаков, поэтому в таблицу МойеШет добавляется новый элемент, который используется для «публикации» результатов алгоритма СПА. Результаты разделяются на промежуточные и итоговые. На рис. 2(Ь) представлены результаты работы алгоритма СПА.

f" . : " Г "

p» ■■ •им üttV4ii«l«K>l «|1;Ш||»М>Н1

I;——--- ®i»nU"i.r.i.! JA'üUlilrt.H

Sp* Г ' if

---- """ ■ ■

^^змямянвшивнш^нмммямш

1ИП1 ' 'E^glteiS- ■ •■■■. 1 / ;•

4 ''I W . . l (K -

'■¡я :■fptb ■

j * Мь/im JH.!»« w—'Zagi^xi-iT? MI N6

WAlUfluw У.ШIW,Hrt+s . wt . W

'■"iffiSft r.,..-.,,^, VklUw'« )"■•■ ШЧЯ-. *»*<< ж Ni

"SÄSib WJ- f*>

IS •H&

.', » j/Ii-jK* " lifctt/tf ш.

Ho

(b)

Рис. 2: (а) Просмотр параметров заведенного задания, (b) Результаты работы алгоритма С11А.

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

В связи с тем, что система Quasar использует в качестве платформы для разработки технологию -Net I'Yamework, а также после анализа имеющихся решений16, было принято решение об использовании пакета линейной алгебры — dnAnalytics (driA)17. dnAnalytics является библиотекой с открытым исходным кодом для .NET Fmmewurk 2.0 или Mono 1Лf18.

lühttp://sharptoolbox. cor,/categories/mat b- logic-ai-rules

1 r http://www.dnanalytics .net http?//www.поло-projeet.com

Поддержка библиотек MKL, AGML, ATLAS и CLAPACK делают dnAnalytics очень привлекательной для разработчиков алгоритмов, т к. эти библиотеки представляют собой набор математических процедур с поддержкой защищенной обработки в отдельных потоках и высокой степенью оптимизации. Эти процедуры ориентированы на использование в инженерных задачах, а также научных и финансовых приложениях, где нужна максимальная производительность

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

Для того, чтобы вычислительная служба Quasar могла загружать и запускать вычислительный алгоритм на счет, необходимо, чтобы вычислительный компонент NET был унаследован от многопоточного служебного компонента QuasarEngme

QuasarEngine предназначен для того, чтобы предоставить разработчикам вычислительных компонентов необходимую функциональность для взаимодействия с инфраструктурой системы Quasar QuasarEngine призван существенно упросить процедуру разработки Ключевым методом компонента является виртуальный метод Calculate Worker, в переопределенной версии которого разработчик и реализиует свой вычислительный алгоритм, например используя библиотеку численного анализа dnAnalytics Остальные методы, свойства и события компонента Quasar Engine предназначены для поддержки шаблона асинхронных вычислений, основанного па событиях.

Так, метод CalculateAsync создает новую асинхронную операцию для задания с идентификатором taskID и вызывает метод CalculateWorker в отдельном потоке, передавая входные параметры — TaskParameters, идентификатор вновь созданной асинхронной операции, а также делегат SendOi PostCallback, представляющий из себя метод обратного вызова для передачи сообщения контексту синхронизации, который будет вызван по окончанию асинхронной операции

Метод CancelAsync предназначен для остановки текущих асинхронных вычислений

Метод ReportProgress используется для публикации промежуточных и окончательных результатов в базе данных Quasar

Служба Quasar является Windows службой Службы Microsoft Windows позволяют создавать исполняемые приложения, работаю-

щие продолжительное время и выполняющиеся в отдельной сессии Windows,

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

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

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

Дта облегчения задач администрирования модели, т.е. создания новых элементов модели и формирования иерархии, разработан специальный Web—интерфейс (см. рис. 3(a), 3(b)).

Рис. 3: Административный \Veb-интерфеЙс: (а) Таблица МоЛеШеш. (Ь) Таблица Мос1еШе1а^шп.

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

Основные результаты диссертационной работы

На защиту выносятся следующие новые результаты

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

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

(a) подсистему размещения и мониторинга заданий, реализованную па базе системы управления контентом DotNetNuke

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

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

• компоненты доступа к базе данных Quasar

(b) вычислительную подсистему

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

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

3 Разработаны новая концепция и рекомендации реализации вычислительных алгоритмов, используя вычислительную библиотеку численного анализа dnAnalytics на базе платформы NET Framework 2 0.

Публикации по теме диссертации

[1] Каналков, А В Проект «Квазар-оффлайн»- распределенный вычислительный комплекс для решения задач распознавания образов / А В Качалков // Научно-теоретический журнал «Искусственный интеллект» — 2006 — Т 2 — С 356-359

[2] Качалков, А В. О развитии вычислительного сайта «Квазар -онлайн» / А В Качалков, А И. Рыбин, М Ю Хачай // Труды конференции «Математическое программирование и приложения». — Екатеринбург 2003 — С. 136-137.

[3] Качалков, А. В. Технология создания вычислительного сайта «КВАЗАР—Онлайн» / А В. Качалков, А И Рыбин, М Ю Хачай // Труды международной конференции «Распознавание образов и Анализ Изображений Новые Информационные Технологии (РОАИ-6-2002)» — Т. 1 - Новгород НовГУ, 2003 — С 258-262

[4] Качалков, А. В Создание вычислительного портала распознавания образов «Квазар-ОНЛАЙН» / А. В Качалков, М. Ю Хачай // Труды региональной молодежной конференции «Проблемы теоретической и прикладной математики» — Екатеринбург УрО РАН, 2002 - С 280-284.

[5] Качалков, А В Проект «КВАЗАР—Офлайн» Подсистема размещения и мониторинга заданий / А В Качалков, М Ю Хачай // Труды региональной молодежной конференции «Проблемы теоретической и прикладной математики» — Екатеринбург УрО РАН, 2004 - С 274-278

[6] Создание вычислительного портала распознавания образов «Квазар-ОНЛАЙН» / А В. Качалков, А И Рыбин, Е А Трофимова, М. Ю Хачай // Сборник «Модели идентификации территорий». — Екатеринбург: УрО РАН, 2002. - С 74-83

[7] Kachalkov, А V Project "QUASAR-offlme" a Distributed computational complex for solving problems of pattern recognition / A V Kachalkov // Pattern Recognition and Image Analysis — 2007 — Vol. 17, no 2 — Pp. 276-289

[8] Kachalkov, A V Development of task making and monitoring subsystem of «Quasar-Offline» project / A, V Kachalkov,

A. V. Naiman, M Yu Khachay // Proc of the 7th International Conference on Pattern Recognition and Image Analysis New Information Technologies (PRIA-7-2004) — Vol 2 — St Petersburg IAPR, 2004 — Pp 499-502

[9] Kachalkov, A V The sybsystem of allocation and momtoi-mg the tasks for «Quasar-Offline» Project / A V Kachalkov, A V Naiman, M Yu Khachay // Pattern Recognition and. Image Analysis — 2005. — Vol 15, no 2. - Pp 418-421

[10] Kachalkov, A. V Development of QUASAR-onhne computational site / A. V Kachalkov, A. I Rybin, M. Yu. Khachai // Pattern Recognition and Image Analysis — 2003 — Vol 13, no 2 — Pp 217-220

Подписано в печать 24 04 2007 Формат 60 х 84/16 Объем 1 п.л Тираж 100 экз Заказ № 105 Размножено с готового оригинал-макета в типографии УрО РАН 620219, г Екатеринбург, ул С Ковалевской, 18

Оглавление автор диссертации — кандидата физико-математических наук Качалков, Александр Викторович

Введение

1 Инструменты разработки и проектирования

1.1 Обзор существующих решений.

1.2 Платформа разработки

1.3 Система управления вычислительным порталом

1.4 Сервер базы данных.

1.5 Компоненты доступа к данным.

1.6 Объектно—ориентированный анализ и унифицированный процесс.

2 Анализ требований и построение модели

2.1 Анализ требований.

2.2 Сопутствующие цели и требования.

2.3 Функции системы.

2.4 Подсистема размещения и мониторинга заданий

2.4.1 Прецеденты системы.

2.4.2 Диаграмма прецедентов.

2.5 Диаграммы последовательностей.

2.6 Модель предметной области (концептуальная модель)

2.7 Описание системных операций.

2.7.1 Системные операции для основных прецедентов

2.8 Пример тестовой модели.

3 Архитектура прототипа системы

3.1 Структура базы данных.бб

3.2 Компоненты доступа к базе данных.

3.3 Архитектура модуля Quasar.

3.4 Установка модуля и настройка Quasar.

3.5 Подсистема размещения и мониторинга заданий

3.5.1 Функции по управлению данными пользователя

3.5.2 Функции, связанные с размещением заданий

3.5.3 Функции, связанные с мониторингом заданий

3.6 Вычислительная подсистема.

3.6.1 Разработка вычислительного алгоритма

3.6.2 Архитектура вычислительного алгоритма

3.6.3 Создание вычислительного компонента Quasar.

3.6.4 Служба обработки заданий.

3.6.5 Регистрация нового вычислительного алгоритма в базе данных Quasar

Введение 2007 год, диссертация по информатике, вычислительной технике и управлению, Качалков, Александр Викторович

Диссертационная работа посвящена анализу и моделированию предметной области в рамках унифицированного процесса, с использованием универсального языка моделирования UML, построению универсальной модели для описания задачи распознавания образов, описанию нескольких конкретных алгоритмов распознавания в терминах модели, и разработке прототипа подсистемы размещения и мониторинга заданий «КВАЗАР-Офлайн».

Актуальность темы

Исторически отделы математического программирования и исследования операций Института математики и механики (ИММ) УрО РАН известны пакетами прикладных программ, среди которых выделялся пакет «КВАЗАР», разработанный B.C. Казанцевым [2] и базировавшийся, в основном, на созданных Вл.Д. Мазуровым комитетных алгоритмах распознавания образов [10].

В свое время (80-е г.г.) появилось несколько версий пакета, ориентированных на различные вычислительные платформы (БЭСМ-6, ЕС, IBM PC) и операционные системы.

Позднее, в 1995-97 г.г. М.Ю.Хачаем, А.И.Рыбиным и А.Н.Тютиным был создан программный комплекс «КВАЗАР-}-» для MS Windows. Несмотря на то, что алгоритмическая база новой программы в большинстве своем осталась прежней, все алгоритмы [15], по ряду причин, были реализованы заново. Кроме того, более тщательно были проработаны вопросы хранения и обработки данных.

В 2000г. А. В. Качал ков, М.Ю.Хачай и А.И.Рыбин продолжили развитие известного пакета. Результатом работы стал вычислительный портал «КВАЗАР—Онлайн», который предоставил Web—доступ к алгоритмам распознавания образов. Были реализованы следующие алгоритмы: алгоритм поиска информативной подсистемы признаков [9, 1], алгоритм опорных векторов (классический и со штрафными коэффициентами) [31], а также алгоритм аффинных разделяющих комитетов [26].

С использованием «КВАЗАР—Онлайн» было решено несколько прикладных задач в области медицины, экономики и геофизики [11]. В ходе решения задач было выявлено несколько проблем. Основная проблема состояла в том, что при решении реальных задач с большими объемами данных время отклика системы на запросы пользователей могло быть довольно большим. В связи с этим решение задач большой размерности средствами сайта «КВАЗАР—Онлайн» было затруднительным. Для решения этой и ряда других проблем в 2003 г. были начаты работы по проекту «КВАЗАР—Офлайн».

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

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

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

Цель работы

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

Научная новизна

В рамках диссертации разработан оригинальный вычислительный модуль на базе системы управления контентом DotNetNuke, который, используя алгоритмическую базу и предложенную вычислительную инфраструктуру «КВАЗАР—Офлайн», позволяет различным пользователям удаленно решать задачи распознавания образов с помощью любого Web—браузера. В ходе работы, проведен полный цикл разработки, используя методологию унифицированного процесса. Реализация прототипа системы выполнена с помощью современных технологий.

На защиту выносятся следующие положения

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

2. В соответствии с предложенной методологией, реализован оригинальный распределенный вычислительный комплекс для решения задач распознавания образов, который включает в себя: а) подсистему размещения и мониторинга заданий, реализованную на базе системы управления контентом DotNetNuke:

• оригинальный специализированный модуль Quasar, реализующий доступ к системе;

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

• компоненты доступа к базе данных Quasar. (b) вычислительную подсистему:

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

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

3. Разработаны новая концепция и рекомендации реализации вычислительных алгоритмов, используя вычислительную библиотеку численного анализа dпAnalytics на базе платформы .NET Framework 2.0.

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

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

Практическая значимость

Основным результатом работы является распределенный вычислительный комплекс, предоставляющий «удаленными» пользователям возможности для решения различных вычислительных задач распознавания образов с использованием алгоритмической базы вычислительного портала «КВАЗАР-Офлайн».

Апробация работы

Результаты работы обсуждались на семинаре «Математическое программирование» ИММ УрО РАН под руководством академика И.И. Еремина, докладывались на международных и всероссийских конференциях:

- Международных конференциях «Распознавание образов и анализ изображений РОАИ» (2002, Новгород), (2004, Санкт-Петербург).

- Всероссийской конференции «Математическое программирование и приложения» (2003, Екатеринбург).

- Международной конференции «Интеллектуализация обработки информации (ИОИ-2006)» (2006, Алушта).

Публикации

Основные результаты диссертации опубликованы в работах

И,[13], [4], [5], [25], [71, [231, [24], [3], [22]

Структура и объем работы

Диссертационная работа состоит из введения, трех глав, содержащих 3 таблицы, 34 рисунка, заключения и списка литературы из 32 наименований. Объем работы составляет 115 страниц.

Заключение диссертация на тему ""Квазар-Офлайн". Распределенный вычислительный комплекс для решения задач распознавания образов"

Заключение

В заключении перечислим основные результаты диссертационной работы:

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

2. В соответствии с предложенной методологией, реализован оригинальный распределенный вычислительный комплекс для решения задач распознавания образов, который включает в себя: а) подсистему размещения и мониторинга заданий, реализованную на базе системы управления контентом DotNetNuke:

• оригинальный специализированный модуль Quasar, реализующий доступ к системе;

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

• компоненты доступа к базе данных Quasar. (b) вычислительную подсистему:

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

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

3. Разработаны новая концепция и рекомендации реализации вычислительных алгоритмов, используя вычислительную библиотеку численного анализа dnAnalytics на базе платформы .NET Framework 2.0.

3.7 Новые направления развития проекта «КВАЗАР-Офлайн»

Вычислительная служба

Разработанный распределенный вычислительный комплекс «КВАЗАР—Офлайн» реализует технологию динамического подключения алгоритмов для решения задач пользователей. В текущей реализации, вычислительной службе загружает алгоритмы из локального каталога расположенного на сервере. Базовый вычислительный компонент загружает параметры и публикует результаты вычислений в непосредственно напрямую в базу данных Quasar, расположенную на выделенном сервер в локальной сети. Данный подход хорошо работает в случае если разработчики алгоритмов согласны разместить вычислительные компоненты на вычислительном сервере Quasar. Как оказалось, существует потребность в альтернативной архитектуре решения, которая позволяет размещать вычислительную службу на вычислительных ресурсах сторонних разработчиков алгоритмов, которые не хотят передавать вычислительные компоненты, реализующие авторские алгоритмы. Для поддержки данной модели вычислений было предложено доработать вычислительную службу таким образом, чтобы предоставить возможность обращаться к базе данных Quasar с помощью сети интернет.

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

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

Предварительное исследование показало, что выбор технологии .NET Framework в качестве базовой платформы разработки, позволяет с помощью новой технологии -Windows Communication Foundation 44 (входящей в состав .NET Framework 3.0 45) обеспечит реализацию сервиса заданий.

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

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

Импорт данных в таблицу «объект-признак»

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

44http://msdn2.microsoft.com/en-us/netframework/aa663324.aspx

45http://vw.netfx3.com в следующей версии системы. Благодаря тому, что модель алогоритмов расширяема, предлагается рассматривать процедуру импорта данных пользователей как одну из задач. Новая задача — «импорт данных в таблицу «объект—признак», будет реализована в рамках концепции «подключения» алгоритмов в систему, а именно в виде .NET сборки. В системе будут зарегистрированы необходимые для импорта параметры, такие как: «имя файла с данными», «имя листа Excel», и т.п. Данный подход является естественным и позволяет пользователю «размещать» импорт данных асинхронным образом, а не ждать загрузки данных. Более того, пользователь сможет «подгружать» нужные данные в таблицу «объект—признак» непосредственно перед запуском определенной задачи на счет.

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

Библиография Качалков, Александр Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Загоруйко, Н. Г. Прикладные методы анализа данных и знаний / Н. Г. Загоруйко. — Изд-во Института математики, Новосибирск, 1990. — 270 с.

2. Казанцев, В. С. Задачи классификации и их программное обеспечение (пакет КВАЗАР) / В. С. Казанцев.— М.: Наука, 1990.- 136 с.

3. Качалков, А. В. Проект «Квазар-оффлайн»: распределенный вычислительный комплекс для решения задач распознавания образов / А. В. Качалков // Научно-теоретический журнал «Искусственный интеллект». 2006. - Т. 2. - С. 356-359.

4. Качалков, А. В. О развитии вычислительного сайта «Квазар онлайн» / А. В. Качалков, А. И. Рыбин, М. Ю. Хачай // Труды конференции «Математическое программирование и приложения». — Екатеринбург: 2003. - С. 136-137.

5. Качалков, А. В. Технология создания вычислительного сайта «КВАЗАР—Онлайн» / А. В. Качалков, А. И. Рыбин, М. Ю. Хачай // Труды международной конференции «Распознавание образов и Анализ Изображений:

6. Новые Информационные Технологии (РОАИ-6-2002)». — Т. 1. Новгород: НовГУ, 2003. - С. 258-262.

7. Ларман, К. Применение UML и шаблонов проектирования.2-е издание / К. Ларман.— М.: Издательский дом Вильяме, 2002.

8. Лбов, Г. С. Выбор эффективности системы зависимых признаков / Г. С. Лбов // е сб. трудов ИМ СО АН СССР: Вычислительные системы. — 1965. — № 19.

9. Мазуров, Вл. Д. Метод комитетов в задачах оптимизации и классификации / Вл. Д. Мазуров. — М.: Наука, 1990.

10. И. Мазуров, Вл. Д. Реализация диагностики и выбора вариантов в горно-геологических задачах / Вл. Д. Мазуров, М. Ю. Хачай, В. П. Некрасов // Известия ВУЗ-ов. Горный журнал. — 1998. — № 1. — С. 10-15.

11. Сапожников, А. П. Реинжениринговая технология автоматизированного построения распределенныхвычислительных систем на основе автономно разработанных фортранных программ: Tech. rep. / А. П. Сапожников, Т. Ф. Сапожникова: JINR LIT, 2004-2005.

12. Создание вычислительного портала распознавания образов «Квазар-ОНЛАЙН» / А. В. Качалков, А. И. Рыбин, Е. А. Трофимова, М. Ю. Хачай // Сборник «Модели идентификации территорий». — Екатеринбург: УрО РАН, 2002. С. 74-83.

13. Якобсон, А. Унифицированный процесс разработки программного обеспечения. 1-е издание. Пер с Англ. / А. Якобсон, Г. Буч, Дж. Рамбо. Питер, СПб, 2002.

14. Algorithms of the KVAZAR+ Package / V. D. Mazurov, S. V. Plotnikov, A. I. Rybin et al. // Pattern Recognition and Image Analysis. 1998. - Vol. 8, no. 3. - Pp. 374-375.

15. Astagi, S. Evaluation and testing of a web content management system : comparison of DotNetNuke technology: Ph.D. thesis / Clemson University — 2006.

16. Beck, K. Extreme programming eXplained : Embrace Change / K. Beck.— Reading, MA : Addison-Wesley, 2000. 224 pp.

17. Esposito, D. Programming Microsoft ASP.NET 2.0 core reference / D. Esposito. — Redmond, Wash. : Microsoft Press, 2006. 800 pp.

18. Friedl, J. Mastering Regular Expressions / J. Friedl.— O'Reilly Media, Inc., 2006. 534 pp.

19. Guide to Web Application and Platform Architectures / I. Petrov, C. Meiler, U. Mayer, S. Jablonski.— Berlin: Springer, 2004. 270 pp.

20. Jacobson, I. Object-Oriented Software Engineering: A Use Case Driven Approach / I. Jacobson. — Addison-Wesley Professional, 1992. — 552 pp.

21. Kachalkov, A. V. Project "QUASAR-offline": a Distributed computational complex for solving problems of pattern recognition / A. V. Kachalkov // Pattern Recognition and Image Analysis. 2007. - Vol. 17, no. 2. - Pp. 276-289.

22. Kachalkov, A. V. The sybsystem of allocation and monitoring the tasks for «Quasar-Offline» Project / A. V. Kachalkov, A. V. Naiman, M. Yu. Khachay // Pattern Recognition and Image Analysis. — 2005. — Vol. 15, no. 2. — Pp. 418-421.

23. Kachalkov, А. К Development of QUASAR-online computational site / A. V. Kachalkov, A. I. Rybin, M. Yu. Khachai // Pattern Recognition and Image Analysis. — 2003. — Vol. 13, no. 2. Pp. 217-220.

24. Mazurov, VI. D. Committee constructions for solving problems of selection, diagnostics and prediction / VI. D. Mazurov, M. Yu. Khachai, A. I. Rybin // Proceedings of the Steklov Institute of mathematics. — 2002. — Vol. 1. — Pp. 77-101.

25. Microsoft Corporation. MCSD Self-Paced Training Kit: Analyzing Requirements and Defining Microsoft .NET Solution Architectures / Microsoft Corporation. — Microsoft Press, New York, 2003. 700 pp.t

26. Parsons, A. Professional Visual Studio 2005 / A. Parsons, N. Randolph.- Indianapolis, IN : Wiley/Wrox, 2006.744 pp.

27. Professional DotNetNuke 4: Open Source Web Application Framework for ASP.NET 2.0 / S. Walker, J. Brinkman, B. Hopkins et al.— Indianapolis, IN: Wrox/Wiley Pub, 2006. 552 pp.

28. Richter, J. Applied Microsoft .NET Framework programming / J. Richter.— Redmond, Wash. : Microsoft Press, 2002. 640 pp.

29. Vapnik, V. Statistical Learning Theory / V. Vapnik. — Wiley, New York, 1998.

30. Yeager, N. J. Web Server Technology: The Advanced Guide for World Wide Web Information Providers / N. J. Yeager, R. E. McGrath. — California, Morgan Kaufmann Publishers, 1996. 407 pp.