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

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

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

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

с

Попов Семен Евгеньевич

РАЗРАБОТКА ВИРТУАЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ ЛАБОРАТОРИИ ДЛЯ РЕШЕНИЯ НАУЧНО-ТЕХНИЧЕСКИХ ЗАДАЧ ГОРНОГО ПРОИЗВОДСТВА

Специальность: 05.13.18 - математическое моделирование, численные методы и комплексы программ

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

Кемерово 2005

Работа выполнена в Институте угля и углехимии СО РАН

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

доктор технических наук Потапов Вадим Петрович

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

доктор физико-математических наук, член-корреспондент РАН Федотов Анатолий Михайлович

доктор технических наук Тайлаков Олег Владимирович

Ведущая организация:

Кемеровский государственный университет

Защита состоится 4 октября 2005 года в 10 часов на заседании диссертационного совета Д 003.036.01 при Институте угля и углехимии СО РАН, по адресу: г. Кемерово, 650610, ГСП, ул. Рукавишникова 21, конференц-зал.

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

Факс: +7 (384 2) 21-14-00, +7 (384 2) 21-18-38 E-mail: s.popov@kemsc.ru. dwarlock@inbox.ru

Автореферат разослан 1 сентября 2005 года.

Ученый секретарь диссертационного совета доктор технических наук

В.Т. Преслер

¿00fe-4

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

В угольной промышленности уже на протяжении 20 лет различными коллективами ученых (ИУУ СО РАН, ИГД СО РАН, ИГД УРО и др.) создаются базы данных и разрабатываются научно-исследовательские программы для решения широкого круга прикладных задач горного производства. В тоже время практически не предпринято усилий по их интеграции в единые системы с учетом ориентации на определенный круг прикладных задач и возможности совместного использования полученных научно-технических результатов.

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

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

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

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

Задачи исследования:

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

2. Разработать методологические основы реализации системы распределенных вычислений в виде интеграционной виртуальной вычислительной среды.

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

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

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

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

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

- теория реляционных баз данных для создания баз пространственных данных на основе ORACLE Spatial;

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

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

Основные научные положения, выносимые на защиту:

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

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

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

4. Программный комплекс «Виртуальная вычислительная лаборатория» обладает всеми необходимыми качествами и свойствами интеграционного пакета прикладных программ (распределенной информационной системы) со стандартными протоколами функционирования своих приложений (TCP и HTTP) и имеет встроенные механизмы внутреннего развития и внешнего расширения сферы применения.

Научная новизна заключается в следующем:

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

2. Впервые создана структурная UML-модель предметно-ориентированной виртуальной вычислительной лаборатории.

3. Разработана новая методология привязки картографических «единиц горного производства» (шахта, скважина и т.д.) и реляционных единиц обрабатывающих вычислительных модулей прикладных задач, на базе, которой построен вычислительный программный комплекс взаимодействия с ГИС.

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

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

Достоверность и обоснованность полученных результатов обеспечивается использованием проверенных методов и теорий:

- теория объектно-ориентированного анализа и проектирования;

- классические методы объектно-ориентированного программирования;

- теория построения реляционных баз данных.

Гарантируется использованием проверенных технологий удаленного взаимодействия объектов: инфраструктуры .NET Framework и .NET Remoting.

Подтверждается устойчивой работой системы распределенных вычислений, развернутой в локальной сети передачи данных ИУУ СО РАН.

Личный вклад автора состоит:

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

- в разработке структурной UML-модели виртуальной вычислительной лаборатории;

- в разработке ГИС-компонентов виртуальной вычислительной лаборатории на основе принципа «привязки» объектов электронных карт к расчетным модулям задачи;

- в исследовании и разработке удаленного доступа к пространственным данным, в рамках BBJI при распределенном решении задач ГИС;

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

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

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

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

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

- Разработанный на базе BBJI распределенный ГИС-сервер позволяет организовать в локальной сети передачи данных ИУУ СО РАН динамический доступ к электронным картам и решение на их основе пространственных задач ГИС.

Реализация работы. Разработан и внедрен в среду локальной сети передачи данных ИУУ СО РАН распределенный ГИС-сервер. Разработан программный комплекс ВВЛ в виде расчетных модулей задач энтропийного анализа и расчета горного давления; универсальный распределенный модуль доступа к источникам данных (СУБД ORACLE, Microsoft SQL Server, Microsoft Indexing Services, Microsoft Access и др.), модуль маршрутизации вызовов к web-сервисам, модуль безопасности вызовов к web-сервисам на основе Х.509 сертификатов. Модули реализованы и функционируют в рамках СПД ИУУ СО РАН.

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

Публикации. Основные положения диссертации опубликованы в 7 научных трудах.

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

Автор искренне признателен и выражает глубокую благодарность за научные консультации и содействие в выполнении исследований доктору технических наук, профессору А.Б. Логову, кандидату технических наук Р.Ю. Замараеву. Особую благодарность за поддержку работы автор выражает доктору технических наук В.Т. Преслеру.

КРАТКАЯ ХАРАКТЕРИСТИКА СОДЕРЖАНИЯ РАБОТЫ

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

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

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

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

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

В приложении 1 приведен полный вариант UML-проекта BBJI.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

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

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

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

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

2. Обеспечить при решении конкретной задачи возможность максимального привлечения инструментария виртуальной среды, т.е. возможность подключать как стандартные модули, так и модули удаленных расчетов сторонних разработчиков (например, DataMine-системы), а также специализированные модули защиты информации, системы online-картографии, программные SOАР-маршрутизаторы.

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

4. Обеспечение возможности интерпретации и обсуждения полученных результатов в интерактивном режиме, в рамках распределенной среды посредством программ опНпе-конференций и chat-агентов (NetMeeting, ICQ, Mire)

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

6. Обеспечение совместимости программного обеспечения, созданного различными фирмами и разработчиками.

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

8. Возможность удаленного запуска серверов приложений по запросам клиента.

9. Обеспечение распределения нагрузки по серверам приложений и устойчивость к сбоям (например, автоматическое и прозрачное для клиента перенаправление его запросов на другие серверы приложений).

10. Возможность создания серверных объектов по запросам клиента с обеспечением оптимального управления ресурсами серверов (оперативная память, сетевые соединения, соединения с базами данных).

11. Сохранение состояния серверных объектов, так как в общем случае время существования объекта превышает время работы сервера приложения, который создал этот объект.

12. Обеспечение гибких и мощных средств поиска требуемых серверных объектов по различным критериям.

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

14. Обеспечение взаимодействия клиентов и серверов в контексте транзакций.

15. Обеспечение управления правами доступа клиентов к тем или иным ресурсам.

16. Защищенность передаваемой информации от искажений, несанкционированного доступа и подмены.

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

18. Обеспечение синхронного и асинхронного механизмов обмена сообщениями между объектами.

19. Использование компонентных моделей.

Приведенные требования позволяют построить концептуальную модель программного комплекса «виртуальная вычислительная лаборатория» (рисунок 1).

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

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

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

Программный комплекс «Виртуальная вычислительная лаборатория» является мульти-компонентной средой, содержащей множество модулей, позволяющих организовать как интерактивное взаимодействие между собственными (откомпилированными и «собранными») компонентами, так и подключение модулей сторонних разработчиков. Это требует отлаженной схемы или определенной визуальной модели интегрирующей различные части ВВЛ.

Структурная модель программного комплекса представлена диаграммами статических структур (Static Structure Diagram) (рисунок 2). Элементы этих \

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

Каждая диаграмма статических структур состоит из следующих структурных единиц: пакет, объект-класс, интерфейс и различных межструктурных отношений (связей), где:

- пакет - это множество стандартных объектов инфраструктуры .NET Framework, на базе которых строятся объекты программного комплекса ВВЛ, ориентированные на предметную область;

- класс - структурная единица, которая в рамках ВВЛ становится объектом, с ассоциируемой с ним функциональностью;

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

- межструктурные отношения - показывают, каким образом объект ВВЛ занимает свое место в общей схеме функционирования программного комплекса, т.е.: 1) объект является удаленным и способен передаваться через границы приложения, 2) данный объект использует функциональность стороннего объекта из другого модуля и каким образом, 3) объект построен на основе стандартных классов инфраструктуры .NET Framework.

В структурной модели ВВЛ, и, в частности, в диаграммах статических структур определены объекты двух типов: основные и вспомогательные. Основные объекты ориентированны непосредственно на решение научно-технических задач предметной области, а вспомогательные на обеспечение «благоприятных» условий для решения этих задач (доступ к данным, 1

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

присутствуют, именуются как CalculationModule i. Индекс «i» означает, что в '

данном модуле может быть неограниченное количество таких объектов, что в '

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

самым выделить несколько основных объектов в расчетном модуле.

UML Static Structure • CafculatlcnCluster CalculationModutel.n CatcutatlonModute1_n BusinessFacade

Рисунок 2. Пример диаграммы статических структур

Структурная модель BBJI включает около тридцати вспомогательных объектов, выполняющих различные функции:

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

- Data и Command - объекты отвечающие за взаимодействие с СУБД.

- Router - объекты отвечающие за масштабируемость системы.

- Security - объекты отвечающие за безопасность взаимодействия клиент-сервер.

На рисунке 2 объекты GraphicsModule i и Data являются вспомогательными.

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

Каждая диаграмма статических структур обязательно содержит межъобъектные отношения (связи), которые, во-первых, играют важную роль при генерации программного кода, а, во-вторых, «превращают» диаграмму из простого набора объектов в неделимый, динамически связанный модуль BBJI, со своей строго определенной функциональностью в распределенной системе. Рисунки 2 и 3 позволяют проследить все межобъектные отношения (наследования, зависимости, использования и ассоциативности) и структуру конкретного логического уровня кластера. Поведение каждого объекта описывается набором его функций и интерфейсом. Связи наследования

12

показывают базовую функциональность класса в распределенной системе (в контексте инфраструктуры .NET Framework). К примеру, все основные объекты этого уровня наследует класс MarshalByRefObject, что говорит об их способности перемещаться через границы приложения (удаленные объекты). Такая связь при генерировании кода преобразуется в команду «Inherits» (например, Inherits MarshalByRefObject).

Связь использования указывает на то, что текущий объект полностью или частично возлагает свою функциональность на объект из другой диаграммы статических структур (т.е. физически из другого модуля BBJI). Например, объект CalculationModulei вступает в отношение использование с одноименным объектом из диаграммы статических структур уровня BusinessRules Layer. (Как небольшое отступление, этот пример, означает, что объекты уровня BusinessFacade Layer, выступают в качестве заместителей объектов, которые реально реализуют процедуры решения конкретных задач, тем самым, изолируя структуру программного алгоритма решения задачи от пользователя, передавая ему лишь ссылки на реальные функции объектов. Таким образом, уже на стадии проектирования в диаграммах статических структур существует возможность заложить алгоритмы функционирования всего программного комплекса BBJT в целом). При генерации «отношение использования» не преобразуется и показано для информативности диаграммы.

Конкретное действие или функциональность, которую использует объект, отображается посредством связей ассоциативности и указывается идентификаторами (например, call the same function о process and return it; вызов одноименной функции о обработка и возвращение результатов). Такая связь преобразуется в ссылочный тип класса, и будет указана в группе «References». В программном коде отображается как оператор создания ссылки на объект из другого пакета (например, obj As New Packagel.Obj), и указывает компилятору языка программирования подключать при необходимости указанные объекты другого модуля.

Каждый из основных и вспомогательных объектов должен иметь, по крайней мере, одну связь типа зависимость. Это означает, что объект использует функциональность базовых объектов из стандартных пакетов инфраструктуры .NET Framework, что вполне логично, так как все программные модули, а, следовательно, основные и вспомогательные объекты, разрабатываются с применением данной инфраструктуры. При генерации кода такая связь преобразуется в команду «Imports» (например, Imports System.Runtime).

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

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

не повлияет на функциональность клиентской части. При генерации структурная единица «интерфейс» преобразуются в команду «Implements» (например, Imlements IData). Каждый из основных и вспомогательных объектов диаграммы преобразуется в подобный программный код по правилам, описанным выше в этом разделе.

Imports VCt. DataOuster BusinessFacade Imports VCL DataOuster DataAccess Imports VCL DataOuster WebService

Impuiu, by ¡Mil-----

Qm ports System Data^- Связь зависимостей

(Namespace CalculationausterCalculatlonModulel_n CalculatlonModulel_n BuslnessRules Пространство имен

Cgubhc Class Da'ta~^>-(^inherlt

C^^fements ldata_^>-Интерфейс

Private isConrtected As Boolean

Public Function GetData_l (ByVal csld As String, ByVal query As String, _ ByVal var_l As Object, _ ByVal var_i As Object, _

ByVal var_n As Object) As Object Implements IData GetData_l

Inherits MarshalByRefObJects?-Связь наследования

End Function

PubUc Function GetDataJ (ByVal csld As Strmg^^J^- Функция объекте

"" '----ByVal query Ад Slllll^, _

ByVal var_l As Object, _ ByVal var_i As Object, _

ByVal var_n As Object) As Object Implements IData GetData_i

Рисунок 3. Пример сгенерированного программного кода одного из объектов (Data) диаграммы статических структур

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

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

В работе были рассмотрены три типа научно-технических задач: расчет горного давления (аналитическое описание приращений смещений), задачи энтропийного анализа (определение рейтингов объектов, прямая и обратная задачи) и некоторые задачи ГИС.

Ниже представлены схемы взаимодействия конечных компонентов BBJI при решении указанных задач, соответственно (рисунки 4, 5, 6).

Идентификатор аюиы шаблона"

(маггрмцв нвнтммс эиачамий мвающм

оаууотр<йош> выемочного/час (нмгъно*и

А-\г

проводимого бооммжамолкуи фроитомм

крммэны ЛОО*|ЖНОС>И и »л), либс готсммсхвма-ишбпон)

V

ЧИСПОвОЙМ

4

06сужяиии§ ретульчжтов

Расчетный

(структуре содержащая

«ВОЙОИМШТОЧМ ломркносп амщмия)

А V

Нв—У11ШМ ИЛИСТЫ.

<спраамкупхничкпя

Рисунок 4. Схемы взаимодействия конечных компонентов ВВЛ при решении задачи расчета горного давления

!

1 Рисунок 5. Схемы взаимодействия конечных компонентов ВВЛ при решении

задач энтропийного анализа.

Рисунок 6. Схемы взаимодействия конечных компонентов ВВП при решении

задач ГИС

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

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

Блок «Расчетные модули» непосредственно отвечает за программное решение конкретной задачи.

Последний блок - это блок «Независимые эксперты, (справочно-техническая документация)», он сохраняет, обрабатывает и предоставляет по требованию решение запрашиваемой задачи в виде числовых данных.

Выделив общие блоки, целесообразно будет объединить их отдельные пакеты или наборы, по схожей функциональности. Такое объединение позволит организовать кластерную структуру системы. Название каждого кластера, соответствует его функциональной роли в процессе работы ВВЛ. Система представлена шестью кластерами: СаЬиШюпСЬ^ег, Ва1аС1ш1ег, КоЩегеОг^ег, Бесил 1уС1и$1ег, ЗоМюпСИ^ег и СНепЮг^ег.

16

- Calculation Cluster объединяет компоненты BBJI, инкапсулирующие решения научно-технических задач.

- DataCIuster объединяет компоненты BBJ1, организующие доступ к различным источникам данных

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

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

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

- ClientCluster объединяет компоненты графического интерфейса пользователя ВВЛ.

Отметим, что не представленные на схемах блоки, а именно это компоненты кластеров RoutersCluster и SecurityCluster, выполняют невидимую для клиентской части работу, соответственно, по масштабируемости системы и безопасности его вызовов к другим блокам.

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

- BusinessFacade Layer - обеспечивает маршалинг удаленных объектов через границы приложения, и «замещает» объекты уровней BusinessRules Layer и DataAccess Layer, образует «фасад» кластера.

- BusinessRules Layer - используется для реализации программных алгоритмов научно-технических задач.

- DataAccess Layer - используется для обеспечения доступа к источникам данных.

- SystemFrameworks Layer - служит для разработки и настройки программных серверов для объектов уровня BusinessFacade Layer.

- WebService Layer - объединяет функциональность уровней BusinessFacade Layer и SystemFrameworks Layer, организует удаленный доступ через брандмауэры.

- UserServices Layer - реализует пользовательский интерфейс. Разработка объектов каждого уровня, на основе выше изложенных определений, позволит, во-первых, автоматически распределить функциональность внутри кластера, а, во-вторых, сделать кластеры взаимосвязанными за счет соответствующих уровней (BusinessFacade и WebService).

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

Постановка задачи, решаемой в удаленном режиме

Да Есть ли ■ ^ г--'С раететная часть? .-> -

расчетного модуля -

да /'Требуется пй' ^ -i взаимодействие

'V с СУБД? /

' Распределение

по уровням : BosinewFacaba, BusjnesaRules SyetetnFranwwork

Требуется ли система обсуждения решений или справочной

Разработка Д3 модуля маршрутизации вызовов

выход (l

Рисунок 7. Алгоритм программного решения научно-технической задачи в

рамках BBJI

4. Программный комплекс «Виртуальная вычислительная лаборатория» обладает всеми необходимыми качествами и свойствами интеграционного пакета прикладных программ (распределенной информационной системы) со стандартными протоколами функционирования своих приложений (TCP и HTTP) и имеет встроенные механизмы внутреннего развития и внешнего расширения сферы применения.

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

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

"О s

«s

X

о я

« о

s я о X а

х

S

В

§

л> à

On

a ■a

о

-3

PJ

S S X о

3

S s

a ж ci со

m ю

ta

Модуль "Результаты решений''

С е гир шдуп ь кластера решений

■ |~г"1

ТЫ . III ■••■

ШеЬ-сераер-моАУЛъ кластера решений

Wab-модуль 'Результаты решений"!

» -т,, I Web-модуль | 41'' | "Маршрутизатор1

Сторонний модуль "Электронная карта"

Oi-E-Автоматизация

Web*cepaep

Web-модуль "Графический интерфейс Электронная карта**

Web-модуль 'Графический интерфейс расчетного web-модуля Энтропийный анализ"

Web-модуль "Графический интерфейс расчетного web-модуля ГИС-анализ данных*

Специализированный web-модуль "Аутентификация "

Сервер-модуль кластера данныя

Модуль HZ "Доступ к данным" |-* .. J Модуль 1 "заместитель"

Web сервер-модуль кластера данных

Web-модуль "Доступ к данным'

Сервер-модуль вычислительного кластера

Модуль L "заместитель" г

] Расчетный модуль

1 "Энтропийный анализ"

Модуль L "заместитель" г

I Расчетный модуль I "Горное давление"

Сторонний расчетный модуль "ГИС-анализ данных"

OLE-Автоматизация

Инфраструктура .NET Framework (Транспортный канал)

TCP

СУБД Oracle

Web-cep вер -модул ь вычислительного кластера

Расчетный web-модуль "Энтропийный анализ'

1 Расчетный web-модуль Пространственные вычисления"

-л Расчетный

—1 web-модуль 3 "ГИС-анализ данных" [

^чп—j

Сторонний расчетный модуль ГИС-а мал из данных"

О LE-Автоматизация

Клиент

Модуль "Графический интерфейс расчетного модуля Энтропийный анализ"

Модуль

J "Графический интерфейс ре счетного модуля Горное давление"

—I Модуль

—I "Графический интерфейс расчетного модули ГИС-анализ данных"

С пеци ал из и рованн ы Й модуль "Система"

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

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

Архитектура .NET Remoting осуществляет маршалинг удаленных объектов посредством двух стандартных протоколов: TCP и HTTP. Следовательно, те объекты ВВЛ, которые наследуют базовые классы архитектуры и непосредственно участвуют в процессе передачи через границы приложений, используют те, и только те протоколы (TCP и HTTP), которые определяет архитектура. Можно утверждать, что программный комплекс, представленный на рисунке 8, в целом имеет стандартные протоколы функционирования своих приложений.

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

ЗАКЛЮЧЕНИЕ

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

Основные выводы, конкретные научные и практические результаты работы заключаются в следующем:

1. Технология .NET Remoting, положенная в основу программного комплекса ВВЛ, в наибольшей степени удовлетворяет сформулированным требованиям, поскольку содержит необходимые механизмы (маршалинг и сериализация), минимизирующие рутинный процесс разработки авторского кода.

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

что существенно сокращает время на создание «каркасов» программных единиц (классов и методов).

3. На базе принципа кластеризации и уровневого разделения создан единый алгоритм распределенного предметного решения, адаптируемый к различным научно-техническим задачам посредством механизмов включения (добавления) или исключения функциональных модулей. Алгоритм апробирован на следующих задачах: прямая и обратная задачи энтропийного анализа, расчет горного давления, пространственные ГИС-задачи и задачи ГИС-анализа данных.

4. Разработанный пакет прикладных программ, реализующий BBJI, обладает следующими свойствами и характеристиками:

- развертывание клиентских и серверных компонентов BBJI происходит путем простого копирования исполняемых файлов, настройка последних осуществляется посредством текстовых конфигурационных файлов XML-формата;

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

- операционная среда: серверные компоненты (Windows 2000, ХР, 2003), клиентские компоненты (Windows 98,2000, ХР, 2003);

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

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

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

- задействованы два стандартных протокола (TCP и HTTP) взаимодействия приложений;

- функционирует под управлением единой инфраструктуры .NET Framework, которая гарантирует выполнение требований коммуникационного характера, изложенных в обосновании научного положения 1 (требования 8,10, 11,14,18).

5. Разработанная методология закладывает возможности дальнейшего совершенствования BBJI в следующих направлениях:

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

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

- создание развитого механизма online-конференций.

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Попов С.Е. Система распределенных вычислений для энтропийного анализа функциональных показателей угольных предприятий // Вестник КузГТУ №1(38), 2004 Научно-технический журнал. С. 68-72.

2. Попов С.Е. Построение систем распределенных вычислений для решения задач горного дела на примере модели энтропийного анализа // Сборник материалов сессии ИВТН-2004 "Информационно-вычислительные технологии в фундаментальных и прикладных физико-математических исследованиях", Москва, 2004. С. 62.

3. Попов С.Е. Принципы построения систем распределенных вычислений для решения задач горного дела на примере модели энтропийного анализа функциональных показателей угольных предприятий // Совместный выпуск по материалам Международной конференции "Вычислительные и информационные технологии в науке, технике и образовании" (7-9 октября 2004 г. Алма-Ата, Казахстан) - Вычислительные технологии, том 9, часть III, Вестник КазНУ им. Аль-Фараби, Серия математика, механика, информатика № 3 (42) Алматы-Новосибирск, 2004. С. 317-323.

4. Попов С.Е. Принципы построения систем распределенных вычислений для решения задач горного дела на примере модели энтропийного анализа функциональных показателей угольных предприятий // Сборник «Информационные недра Кузбасса: Труды III региональной научно-практической конференции». - Кемерово: ИНТ, 2004. С. 230-232.

5. Попов С.Е. Разработка распределенных информационно-вычислительных сред для решения научно-технических задач горного производства // Сборник трудов УП международной научно-практической конференции «Энергетическая безопасность России. Новые подходы к развитию угольной промышленности»: - Кемерово: ННЦ ГП - ИГД им. A.A. Скочинского, ИУУ СО РАН, КузГТУ, ЗАО КВК "Экспо-Сибирь", 2004. С. 18.

6. Попов С.Е. Разработка виртуально-вычислительной лаборатории для решения задач горного производства // Вестник КузГТУ №3, 2005 Научно-технический журнал С. 46-51.

7. Попов С.Е. Унифицированный подход к моделированию и разработке системы «Виртуальная вычислительная лаборатория» для решения научно-технических задач горного производства // Сборник трудов VIII международной научно-практической конференции «Энергетическая безопасность России. Новые подходы к развитию угольной промышленности»: - Кемерово: ННЦ ГП - ИГД им. A.A. Скочинского, ИУУ СО РАН, КузГТУ, ЗАО КВК "Экспо-Сибирь", 2005. С. 57-58.

!

t

i

!

i

i

ï

I

i

Г"

S! 1 5 4 13

РНБ Русский фонд

2006-4 18362

Оглавление автор диссертации — кандидата технических наук Попов, Семен Евгеньевич

Введение.

1. Анализ информационных технологий в рамках их интеграции в единую виртуальную среду.

1.1. Современные информационные технологии для задач горного производства.

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

Вызов удаленных процедур (RPC).

Java Servlets /ASP.

CORBA/DCOM.

NETFramework (.NETRemoting) .•.

1.3 Вопросы решения научно-технических задач в распределенном режиме.

1.4 Выводы по главе.

2. Научно-технические задачи, решаемые в рамках ВВЛ.

2.1.Решение задач горного производства в рамках ВВЛ. Научная постановка проблемы.

2.2.Примеры научно-технических задач и обоснование их решения в рамках ВВЛ.

Энтропийный анализ. Определение рейтингов объектов, прямая и обратная задачи.

Расчет горного давления. Аналитическое описание приращений смещений.

Некоторые задачи ГИС.

2.3.Выводы по главе.

3. Концепция виртуально-вычислительных лабораторий.

3.1 .Формальный подход к решению задач в распределенном режиме.

3.1.1. Основные элементы архитектуры распределенных приложений .NET Remoting.

3.1.2. Процесс «сериализации/десериализации» объектов.

3.1.3. Процедура «маршалинга» объектов.

3.2.Интеграция научно-технических и программных средств, в рамках распределенной системы.

3.2.1. Удаленное взаимодействие с интегрированными системами для горных предприятий.

3.2.2. Интеграция систем доступа к картографической информации и расчетных модулей задачи на основе Интернет технологий. у- 3.2.3. Организация и внедрение систем справочной документации и интерактивного обсуждения решений.

3.3.Структурная UML-модель программного комплекса «Виртуальная вычислительная лаборатория».

3.4.Выводы по главе.

4. Программная реализация системы.

4.1. Серверная реализация на базе Интернет/Интранет технологий.

4.2.Программная привязка расчетных модулей к объектам электронных карт.

4.3. Решение нестандартных и геометрических задач ГИС.

4.3.1. Модуль взаимодействия с интегрированными системами для горных предприятий.

4.3.2. Модуль взаимодействия с базами пространственных данных на основе Oracle Spatial.

4.3.3. Модуль работы с картографической информацией в глобальных сетях.

4.4.Специализированные модули BBJI.

4.5.Модули задач.

4.5.1. Модуль «Энтропийный анализ».

4.5.2. Модуль «Горное давление».

4.6.Программный комплекс «Виртуально-вычислительная лаборатория».

4.7.Выводы по главе.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Попов, Семен Евгеньевич

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

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

В угольной промышленности уже на протяжении 20 лет различными коллективами ученых (ИУУ СО РАН, ИГД СО РАН, ИГД УРО и др.) создаются базы данных и разрабатываются научно-исследовательские программы для решения широкого круга прикладных задач горного производства. В тоже время практически не предпринято усилий по их интеграции в единые системы с учетом ориентации на определенный круг прикладных задач и возможности совместного использования полученных научно-технических результатов.

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

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

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

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

Задачи исследования:

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

2. Разработать методологические основы реализации системы распределенных вычислений в виде интеграционной виртуальной вычислительной среды.

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

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

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

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

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

- теория реляционных баз данных для создания баз пространственных данных на основе ORACLE Spatial;

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

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

Основные научные положения, выносимые на защиту:

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

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

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

4. Программный комплекс «Виртуальная вычислительная лаборатория» обладает всеми необходимыми качествами и свойствами интеграционного пакета прикладных программ (распределенной информационной системы) со стандартными протоколами функционирования своих приложений (TCP и

HTTP) и имеет встроенные механизмы внутреннего развития и внешнего расширения сферы применения.

Научная новизна заключается в следующем:

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

2. Впервые создана структурная UML-модель предметноориентированной виртуальной вычислительной лаборатории.

3. Разработана новая методология привязки картографических «единиц горного производства» (шахта, скважина и т.д.) и реляционных единиц обрабатывающих вычислительных модулей прикладных задач, на базе, которой построен вычислительный программный комплекс взаимодействия с ГИС.

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

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

Достоверность и обоснованность полученных результатов обеспечивается использованием проверенных методов и теорий:

- теория объектно-ориентированного анализа и проектирования;

- классические методы объектно-ориентированного программирования;

- теория построения реляционных баз данных.

Гарантируется использованием проверенных технологий удаленного взаимодействия объектов: инфраструктуры .NET Framework и .NET Remoting.

Подтверждается устойчивой работой системы распределенных вычислений, развернутой в локальной сети передачи данных ИУУ СО РАН.

Личный вклад автора состоит:

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

- в разработке структурной UML-модели виртуальной вычислительной лаборатории;

- в разработке ГИС-компонентов виртуальной вычислительной лаборатории на основе принципа «привязки» объектов электронных карт к расчетным модулям задачи;

- в исследовании и разработке удаленного доступа к пространственным данным, в рамках BBJ1 при распределенном решении

А. задач ГИС;

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

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

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

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

Разработанный на базе BBJ1 распределенный ГИС-сервер позволяет организовать в локальной сети передачи данных ИУУ СО РАН динамический доступ к электронным картам и решение на их основе пространственных задач ГИС.

Реализация работы. Разработан и внедрен в среду локальной сети передачи данных ИУУ СО РАН распределенный ГИС-сервер. Разработан программный комплекс BBJI в виде расчетных модулей задач энтропийного анализа и расчета горного давления; универсальный распределенный модуль доступа к источникам данных (СУБД ORACLE, Microsoft SQL Server, Microsoft Indexing Services, Microsoft Access и др.), модуль маршрутизации вызовов к web-сервисам, модуль безопасности вызовов к web-сервисам на основе Х.509 сертификатов. Модули реализованы и функционируют в рамках СПД ИУУ СО РАН.

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

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

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

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

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

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

В приложении 1 приведен полный вариант UML-проекта ВВЛ.

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

4.7. Выводы по главе

1. Разработка функциональных модулей ВВЛ одновременно в виде объектов, коммуникационная часть которых с одной стороны представлена уровнями BusinessFacade Layer и SystemFramework Layer, а с другой уровнем WebService Layer, позволяет сделать программный комплекс более гибким, масштабируемым и устойчивым к различному виду сетевым изменениям, с точки зрения пользовательских взаимодействий.

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

3. Разработанный модуль маршрутизации позволил расширить масштабируемость систем и упростить процесс развертывания объектов уровня WebService Layer за счет организации схем маршрутизации клиентских вызовов в виде конфигурационных файлов XML-формата.

4. Разработка собственных объектных единиц безопасности на основе базовых классов WSE-Security обеспечила более гибкий контроль над процессом идентификации пользователей и содержимым их вызовов.

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

Заключение

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

Результаты диссертационных исследований позволяют сделать / следующие основные выводы:

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

2. Технология .NET Remoting, положенная в основу программного комплекса ВВЛ, в наибольшей степени удовлетворяет сформулированным требованиям к проекту ВВЛ, поскольку содержит необходимые механизмы (маршалинг и сериализация), минимизирующие рутинный процесс разработки авторского кода.

3. Построение концептуальной модели опирается на высокоуровневые компонентные структуры (кластер, логический уровень, пакет, модуль, транспорт, канал и т.п.), которые путем установления взаимосвязей (расширения, зависимости, использования и ассоциативности), автоматически предопределяют объектно-ориентированную структуру модели ВВЛ, занимающую промежуточный этап в процессе разработки программного кода, что существенно сокращает время на создание «каркасов» программных единиц (классов и методов).

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

Automation, то, проектирование расчетных модулей серверных уровней (BusinessRules Layer и BusinessFacade Layer) как интерфейсов оболочки вызовов функций OLE Automation, позволяет адаптировать программный комплекс BBJI к интегрированному взаимодействию со сторонними софт-системами для горных предприятий. То есть, с одной стороны происходит расширение круга научно-технических задач, решаемых в рамках BBJI, а с другой, предоставляется возможность конечному заказчику частично работать с этими системами в удаленном режиме, и упрощается использование технической информации имеющейся на предприятии для получения расчетных результатов по конкретному технологическому объекту.

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

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

7. На базе принципа кластеризации и уровневого разделения создан единый алгоритм распределенного предметного решения, адаптируемый к различным научно-техническим задачам посредством механизмов включения (добавления) или исключения функциональных модулей. Алгоритм апробирован на следующих задачах: прямая и обратная задачи энтропийного анализа, расчет горного давления, пространственные ГИС-задачи и задачи ГИС-анализа данных.

8. Разработанный пакет прикладных программ, реализующий ВВЛ, обладает следующими свойствами и характеристиками: развертывание клиентских и серверных компонентов ВВЛ происходит путем простого копирования исполняемых файлов, настройка последних осуществляется посредством текстовых конфигурационных файлов XML-формата; программный комплекс способен работать на одном сервере с возможностью географического распределения по неограниченному количеству серверов, как в локальной, так и глобальной сетях; операционная среда: серверные компоненты (Windows 2000, ХР, 2003), клиентские компоненты (Windows 98, 2000, ХР, 2003);

- сервер решений обладает графическим интерфейсом, позволяющем отслеживать и управлять имеющимися на нем «экземплярами результатов решений» встроенный ГИС-сервер, способен предоставлять электронные карты в online-режиме и решать пространственные задачи в распределенном режиме.

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

- задействованы два стандартных протокола (TCP и HTTP) взаимодействия приложений;

- функционирует под управлением единой инфраструктуры .NET Framework, которая гарантирует выполнение требований коммуникационного характера, изложенных главе 1 раздела 1.3 «Вопросы решения научно-технических задач в распределенном режиме» (требования 8, 10, 11, 14, 18).

9. Разработанная методология закладывает возможности дальнейшего совершенствования ВВЛ в следующих направлениях:

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

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

- создание развитого механизма опНпе-конференций.

Библиография Попов, Семен Евгеньевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Эммерих В. Конструирование распределенных объектов. Методы и средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/COM и Java/RM1. / Пер. с англ. - М.: Мир, 2002. -510 с.

2. Microsoft Corporation. Разработка распределенных объектов на Microsoft Visual Basic 6.0. Учебный курс /Пер. с англ. М.: Торгово-издательский дом «Русская редакция», 2000. - 400 с.

3. Капутин Ю. Е. Горные компьютерные технологии и геостатистика. СПб.: «Недра», 2002. 424 е.: ил.

4. Логов А. Б., Замараев Р. Ю., Логов А. А., Анализ функционального состояния промышленных объектов в фазовом пространстве. Институт угля и углехимии СО РАН, Кемерово: 2004. 168 с.

5. Логов А.Б., Кочетков В.Н., Рожков А.А. Энтропийный подход к моделированию процесса реструктуризации угольной отрасли. Институт Угля и Углехимии СО РАН, Кемерово-М.: 2001. 324 с.

6. Грицко Г.И., Власенко Б.В., Посохов Г.Е. и др. Прогнозирование и расчет горного давления. Новосибирск: Наука, 1980. - 160 с.

7. Шек В.М. Объектно-ориентированное моделирование горнопромышленных систем. —Учеб. Пособие. — М.: Издательство Московского государственного горного университета, 2000. — 304 с.

8. Потапов В.П. Математическое и информационное моделирование геосистем угольных предприятий. Новосибирск: Изд-во СО РАН, 1999. — 180 с.

9. Тодд Л. CCNA: CISCO Certified Network Associate. Учебное руководство. Второе издание, 2002.-576 с.

10. Либерти Д. Программирование на С#. — Пер. с англ. — СПб: Символ-Плюс, 2003.-688 с.

11. СК Пресс 7/96, PC Magazine, February 6, 1996. p. 239

12. Маклин С., Нафтел Дж., Уильяме К. Microsoft .NET Remoting/nep. с англ. М.: Издательско-торговый дом «Русская редакция», 2003. — 384 с.

13. MSDN Libraiy. Copyright 1987-2003 Microsoft Corporation.

14. Oracle Spatial User's Guide and Reference Release 9.0.1, June 2001, Part No. A88805-01. -472 c.