Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Черноусов Антон Владимирович

Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике
<
Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике
>

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

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Черноусов Антон Владимирович. Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике : диссертация ... кандидата технических наук : 05.13.18 / Черноусов Антон Владимирович; [Место защиты: Ин-т систем энергетики им. Л.А. Мелентьева СО РАН]. - Иркутск, 2008. - 170 с. : ил. РГБ ОД, 61:08-5/74

Содержание к диссертации

Введение

1. Проблемы создания вычислительной инфраструктуры исследований в энергетике 20

1.1. Специфика исследований в энергетике 20

1.1.1. Проблемы сохранения интеллектуальных ресурсов в исследованиях энергетики 31

1.1.1.1. Сохранение методов 31

1.1.1.2. Сохранение алгоритмов 32

1.1.1.3. Сохранение программных комплексов 33

1.2. Необходимость адаптации в вычислительную инфраструктуру унаследованного программного обеспечения 34

1.2.1. Объективная необходимость замены системного программного обеспечения 34

1.2.2. Изменение требований к программному обеспечению 36

1.2.3. Проблема морального устаревания программного обеспечения 38

1.3. Проблемы интеграции программного

обеспечения в вычислительную инфраструктуру 40

1.3.1. Необходимость интеграции программного обеспечения 40

1.3.2. Проблема интеграции по функциям 42

1.3.3. Проблема интеграции по данным 43

1.4. Обзор современных информационных технологий для ин теграции программного обеспечения 44

1.4.1. Технология GRID 44

1.4.2. Технология сервис-ориентированной архитектуры (SOA) 47

1.4.3. Технология XML 52

1.5. Выводы к главе 1 и постановка задачи диссертационной работы 54

2. Предлагаемый подход к построению вычислительной ин фраструктуры исследований в энергетике 57

2.1. Состав и базовые компоненты вычислительной инфраструк туры исследований в энергетике 57

2.1.1. Состав ИТ-инфраструктуры 57

2.1.2. Определение и назначение вычислительной инфраструктуры 58

2.1.3. Вычислительная инфраструктура и средства её поддержки 59

2.1.4. Телекоммуникационная инфраструктура как основа для построения вычислительной инфраструктуры 66

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

2.2.1. Предлагаемая архитектура расширяемого Web-приложения 72

2.2.2. Методика создания расширяемого Web-приложения 78

2.2.3. Механизм интеграции приложений на основе SOA 80

2.2.3.1. Поддержка интеграции Web-приложений по функциям с помощью Web-сервисов 80

2.2.3.2. Поддержка интеграции Web-приложений по данным с использованием XML 82

2.2.4. Предлагаемые методы и средства интеграции программного обеспечения 83

2.3. Методика адаптации унаследованного программного обеспечения 84

2.3.1. Требования к унаследованному программному обеспечению 84

2.3.2. Методика адаптации унаследованного программного обеспечения 86

2.3.2.1. Принципы выделения вычислительного ядра 87

2.3.2.2. Проведение реинжиниринга подсистемы ввода-вывода 89

2.3.2.3. Методика улучшения представления кода 90

2.4. Выводы к главе 2 93

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

3.1. Создание телекоммуникационной инфраструктуры как основы для функционирования вычислительной инфраструктуры исследований в энергетике 94

3.2. Реализация базовых системных программных компонентов (паттернов) как стандартных решений в программных комплексах для исследований в энергетике 102

3.2.1. Системно-концептуальные решения при реализации Web-приложений 102

3.2.2. Передача данных в Web-приложении 104

3.2.3. Реализация Модели как части паттерна МVC в Web-приложении 107

3.2.4. Стратегии реализации Контроллера как части паттерна MVC в Web-приложении 108

3.2.5. Реализация оповещения между частями паттерна MVC в Web-приложении 110

3.2.6. Подход к созданию Команд в Web- при л ожении 112

3.2.7. Способы работы с СУБД в Web-приложении 115

3.2.8. Управление доступом в Web-приложении 117

3.2.9. Хранение настроек и создание экземпляров Команд на их основе в Web-приложении 122

3.2.10. Создание Фабрики Команд для Web-приложения 125

3.2.11. Реализация механизма доступа к функциям приложения в рамках (SOA) 127

3.2.11.1. Применение средства Axis для организации доступа к функциям приложения 127

3.2.11.2. Реализация контроллера функций Web-сервиса 129

3.2.11.3. Подготовка комплекта инсталляции 130

3.3. Применение предложенного методического подхода и базовых системных компонентов для создания программных комплексов нового поколения для исследований в энерге тике и исследований по грантам РФФИ и РГНФ 131

3.3.1. Возможности и пример адаптации унаследованных ПК для исследований энергетики 131

3.3.1.1. Анализ имеющихся ПК для исследований энергетики с точки зрения возможной адаптации 131

3.3.1.2. Организация Web-доступа к программному комплексу ИНТЭК для исследования проблемы энергетической безопасности 135

3.3.2. Применение методики адаптации унаследованного программного обеспечения на примере Web-сервиса для решения задач нелинейной оптимизации 138

3.3.3. Применение предложенного подхода в проектах по грантам РФФИ и РГНФ 139

3.3.4. Применение методики создания Web-приложения на примере разработки системы управления ИТ-ресурсами142

3.4. Выводы 144

Заключение 145

Литература

Введение к работе

Актуальность

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

Традиционно для исследований направлений развития топливно-энергетического комплекса (ТЭК) в ИСЭМ СО РАН разрабатывались пакеты прикладных программ и информационные системы. Постановки задач для автоматизации этих исследований формріровались в 60-70-х годах XX века работами ученых Л.А. Мелентьева, А.А. Макарова, А.П. Меренкова, Ю.Д. Кононова, Л.Д. Криворуцкого, Б.Г. Санееваи др. Были реализованы версии программного обеспечения под руководством Э.Н. Яськовой, Г.Н. Волошина, Г.Н. Антонова, Л.В. Массель и др.

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

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

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

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

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

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

ПК нового поколения обладает следающими свойствами [14]:

свойство расширяемости ПО в его современной трактовке1;

многослойная архитектура, предусматривающая использование серверов приложений и серверов БД;

ориентация на работу в вычислительных сетях (как локальных, так и глобальных).

Проблемами разработки программного обеспечения в свое время

:В современной трактовке расширяемой программой называется только такая программа, которая может быть адаптирована к решению новой задачи без редактирования ее исходного кода [15,114].

занимались: Д. Кнут, сформулировавший многие методы реализации алгоритмов, Э. Дейкстра, который в своих работах посвященных разра-боке ПО, поднял вопросы документирования и отладки программного обеспечения, а также является основоположником идей параллелизма, Г. Майерс, посвятивший ряд своих работ надежности ПО. Необходимо также отметить, что разработка объектно-ориентированного подхода к созданию ПО, компонентных технологий, распределенных вычислений рассмотрены в работах Г. Буча, И. Якобсона, Дж. Румбау, Э. Гаммы, Н. Вирта, Р. Орфали.

На рубеже 21 века во всем мире остро встали вопросы, связанные, с поддержанием и адаптацией унаследованного ПО, и, в связи с этим, нельзя не отметить вклад в постановку и решение этих вопросов таких ученых, как: Ф. Брукс, М. Фаулер2, Дж. Кериевски, К. Касперски, Р.К. Мартин, А.П. Ершов, В.И. Легоньков, М.М. Горбунов-Посадов; в ИСЭМ СО РАН — Л.В. Массель, Е.А. Болдырев.

Работы перечисленных выше авторов являются основой для проведения интеграции ПО и основой для создания интеграционных сред. Одной из таких сред является ИТ-инфраструктура исследований в энергетике, предложенная Л.В. Массель и реализованная под ее руководством коллективом сотрудников лаборатории Информационных технологий в энергетике ИСЭМ СО РАН. Под ИТ-инфраструктурой понимается совокупность: технических и программных средств, телекоммуникаций и информационной базы научных исследований; технологий их разработки и использования; стандартов, как внутренних, так и внешних, для разработки информационных и программных продуктов в области исследований в энергетике, обмена ими и их представления на информационный рынок [54].

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

2Работы «Рефакторинг: улучшение существующего кода» и «Архитектура корпоративных программных приложений»

ке, термин «телекоммуникационная» отражает технические аспекты ИТ-инфраструктуры.

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

В последнее время все более широкое распространение получает деятельность, связанная с предоставлением услуг в области информационных технологий и называемая «аутсорсинг». В широком смысле слова «аутсорсинг» (от англ. Outsoursing) — деятельность, связанная с передачей ряда функций, не являющихся профильными для данного предприятия или организации, другому предприятию, организации или лицам, являющимся «реальными носителями квалификации», русский аналог этого термина — ИТ-услуга [18].

Актуальность создания ИТ-инфраструктуры исследований в энергетике обуславливается [49]:

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

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

необходимостью разработки новых и адаптации унаследованных ПК для исследований в энергетике с целью оказания ИТ-услуг через Internet

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

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

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

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

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

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

Вычислительная инфраструктура объединяет программные комплексы, реализованные на разных уровнях: локальные ПК, сетевые ПК (реализованные в архитектуре клиент-сервер) и ПК, которые обеспечивают доступ через Internet.

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

Для достижения поставленной цели необходимо решить следующие задачи:

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

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

  3. Исследование подходов к разработке платформеннонезависимых Web-приложений, доступных через Internet.

  4. Проектирование и реализация базовых системных программных компонентов для быстрой разработки Web-приложений (паттернов).

  5. Разработка методики проектирования и реализации компонентов вычислительной инфраструктуры в виде Web-приложений на основе вновь создаваемых ПК.

  6. Разработка методики проектирования и реализации компонентов вычислительной инфраструктуры в виде Web-приложений на основе унаследованных ПК.

7. Применение предложенных методов, моделей и базовых системных программных компонентов для реализации Web-приложений для исследований в энергетике и исследований по грантам РФФИ и РГНФ.

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

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

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

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

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

  4. Разработаны базовые системные программные компоненты, облегчающие создание Web-ориентированных прикладных ПК.

  5. Предложена технология разработки современных программных комплексов (приложений) для исследований в энергетике, имеющих возможность быстрой адаптации для предоставления сервиса в Internet или в составе систем, реализованных в концепции SOA.

На защиту выносятся:

  1. Информационные модели вычислительной и телекоммуникационной инфраструктур.

  2. Информационная модель современного расширяемого Web-приложения.

  3. Методика создания Web-ориентированного приложения.

  4. Технология реализации расширяемых Web-приложений.

  5. Технология создания современного Web-приложения, имеющего возможность быстрой адаптации для предоставления сервиса в Internet или в составе систем, выполненных согласно SOA.

Практическая значимость. Результаты работы применены:

При выполнении проекта №2003-3 программы Интеграционных фундаментальных исследований СО РАН «Методы, технологии и инструментальные средства создания вычислительной инфраструктуры в Internet» (2003 - 2004 гг.).

При выполнении работ по грантам: РФФИ № 04-07-90401; РГНФ № 04-02-00271 (2004 - 2006 гг.); РФФИ № 07-07-00265а; РГНФ № 07-02-12112в (2007-2009 гг.).

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

Личный вклад. Результаты, составляющие новизну и выносимые на защиту, получены лично автором.

Публикации. По теме диссертации опубликовано 14 работ, три — в реферируемых журналах, рекомендованных ВАК по специальности.

Помимо этого, опубликована серия статей (7 статей) на тему создания Web-приложений в русской редакции журнала LinuxFormat.

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

Основное содержание работы

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

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

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

Выделяются три уровня ПК, образующих вычислительную инфраструктуру: локальные, сетевые и Web-ориентированные. Сетевые и

Web-ориентированные ПК должны предоставлять пользователям удаленный (сетевой) доступ к реализованным методам на базе сервис-ориентированной архитектуры (SOA). Следствием этого требования авляется необходимость обеспечить все компоненты вычислительной инфраструктуры сетевыми интерфейсами для интеграции в ИТ-инфраструктуру.

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

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

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

Отмечается, что в результате выполнения большинства исследований создаются программные комплексы, которые являются промышленными или коммерческими продуктами, или близки к этому. Так, на форуме «Сибирская индустрия информационных систем», проходившем в г. Новосибирске в марте 2005 г., ИСЭМ СО РАН были представлены 16 таких программных комплексов. Кроме этого, имеется ряд программ-

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

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

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

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

Проблемы сохранения интеллектуальных ресурсов в исследованиях энергетики

Здесь и далее будем опираться на следующее определение, данное А.Н. Колмогоровым: алгоритм — это всякая система вычислений, выпол няемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи [33].

Отметим, что в процессе выполнения научно-исследовательских работ сотрудники института используют большое количество алгоритмов, в том числе и уникальных, разработанных в ИСЭМ СО РАН. Алгоритмы, разработанные в институте, прежде всего, учитывают особенности проведения научных исследований в области энергетики, опираются на методы и методики, уже зарекомендовавшие себя в данной области, используют разработанные или модифицированные в ИСЭМ модели ТЭК и СЭ. Ценность этих алгоритмов заключается в практическом внедрении для выполнения актуальных исследований, проводимых сотрудниками ИСЭМ — алгоритмы составляют интеллектуальную собственность института.

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

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

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

К сожалению, ряд факторов угрожают сохранению ПК в работоспособном состоянии, т.е. значительно усложняют процессы сопровождения ПО [6,40]: системные проблемы, например, смена платформы использования ПК, вызванная моральным устареванием или выходом из строя оборудования, прежде всего, компьютеров; уменьшение числа инэ/сенериых кадров, т.е. количества разработчиков ПК; отсутствие документации, как правило, техническая документация на ПК либо не актуальна, либо неполная или вовсе отсутствует; утрата исходных кодов ПК.

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

Системное програмное обеспечение3 (СПО) имеет свойства устаревать, как и прикладное ПО. Обычно замена операционной системы, или, как говорят, смена платформы, производится один раз в три-пять лет и обусловлена следующими факторами [6,102]: устаревание ПО: драйверов, системных утилит и др., проблема рассмотрена в 1.2.3; изменение требований к ПО, проблема рассмотрена в 1.2.2; моральное и физическое устаревание комплекса технических средств, прежде всего, компьютеров.

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

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

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

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

Первая причина изменения требований к ПО — развитие технологий хранения информации — переход от хранения информации в файлах к хранению в БД, доступом к которым управляют сетевые СУБД. Часто БД с соответствующими СУБД расположены на специальных серверах БД. Вторая серьезная причина — это фундаментальные изменения в языках программирования — переход от структурно-алгоритмических языков программирования, в которых основными абстракциями являются действия и алгоритмы) к объектно-ориентированным языкам, в которых основными абстракциями являются классы и объекты, объединяющие данные и способы их обработки. Изменение парадигмы программирования потребовало пересмотра техник и методик разработки ПО.

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

Изменение технологий, лежащих в основе разработки ПО, потребовало изменить требования к инструментальным средствам разработки программного и информационного обепечения. За последние 15 лет произошла эволюция средств разработки от простых текстовых редакторов к специализированным редакторам и RAD-средам, дополненным CASE-средствами для разработки БД и ПК (например, RationalROSE, ERWin) и инструментами графического моделирования програмных комплексов с помощью UML [55,83].

Сформулируем отличительные черты ПК нового поколения: иерархическая многослойная архитектура, предусматривающая использование серверов приложений и серверов БД; ориентация на работу в вычислительных сетях, как локальных, так и глобальных; расширяемость ПО (в его современной трактовке) [51].

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

Для построения ПК, соответствующих современным требованиям к программному обеспечению, необходимо использовать следующие методы и технолгии: методы объектно-ориентированного проектирования и программирования] объектное моделирование ПК па этапе проектирования] методы моделирования данных, построение инфологических моделей, ER-моделей, технологии проектирования с использованием CASE-средств для БД и ПК] методы распараллеливания вычислений, обеспечивающие либо распараллеливание по нескольким компьютерам, либо по нескольким процессорам, либо по нескольким программам; методы построения расширяемых ПК] технологии, создающие предпосылки для перехода к работе с ПК через Internet/Intranet.

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

Вычислительная инфраструктура и средства её поддержки

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

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

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

Информационная инфраструктура [34] объединяет информацию обо всех разрозненных хранилищах данных, используемых для хранения базовой (основной), промежуточной и результирующей информации; о методах (алгоритмах), выполняющих какие-либо действия над информацией (программных комплексах, пакетах прикладных программ, различных сервисах), по сути дела она является высокоуровневым инструментом для интеграции ПО и опирается на вычислительную инфраструктуру как на один из инструметов.

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

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

Используя ФС-модель [56], вычислительную инфраструктуру можно представить в виде совокупности вложенных сферических оболочек (слоев), определяемой тройкой {V, F, G}, где V - множество слоев, F - множество отображений, G - множество инвариантов. Фрагмент ФС-модели представлен на рис. 2.2.

Вычислительная инфраструктура V, согласно фрактальной методологии, расслаивается (стратифицируется) на средства организации доступа (VA), средства поиска (Vs) и вычислительные мощности (Ус). Вводятся отображения слоев: F$ : VA —» Vs, FQ\ VS — Vc, FQ\ VA -VC (рис. 2.2). Инвариантами (G) являются цели поддержки системных исследований в энергетике.

Средства обеспечения доступа представляют собой совокупность сервисов, обеспечивающих процессы, связанные с организацией доступа к различным сетевым ресурсам. Они проецируются на средства поиска, которые, в свою очередь, проецируются на вычислительные мощности. С технической точки зрения, в состав вычислительной инфраструктуры входят следующие средства: вычислительные серверы, серверы приложений; Web-серверы и Web-приложения; Web-сервисы; серверы поиска информации, содержащие: UDDI-сервис, DNS-сервис, LDAP-сервис, Службы каталогов; серверы доступа: VPN-серверы, Internet-шлюзы, прокси-серверы.

Все средства делятся на поддерживающие конкретный слой и обеспечивающие отображения между слоями (см. таб. 2.1). Рассмотрим пример: пользователь подключается к вычислительной инфраструктуре с помощью средств поддержки, которыми могут являться VPN-сервера или Internet-шлюзы (зависит от конфигурации вычислительной инфраструктуры). Переход из слоя VA в слой Vs осуществляется благодаря средству отображения, в качестве которого могут выступать прокси-сервер или VPN-сервер. На уровне средств поиска Vs пользователь получает информацию о необходимом ресурсе в средствах поддержки, таких как: UDDI-сервис, LDAP-сервис или Служба каталогов, переходит на уровень вычислительных мощностей, где и получает доступ к Web-сервисам. Отображение в слой Vc всегда осуществляется с помощью DNS-сервиса как единственного вида средств отображения на данном уровне вычислительной инфраструктуры, вне зависимости от конфигурации.

Реализация базовых системных программных компонентов (паттернов) как стандартных решений в программных комплексах для исследований в энергетике

В качестве основных технологий для реализации было предложено использовать: ООЯ Java — как основной инструмент, современное, стабильное и на 103 дежное решение поставленных проблем в исследованиях по грантам РФФИ и РГНФ. Apache Tomcat — Web-контейнер, открытая разработка, наиболее устойчивая и, в тоже время, динамически развивающаяся платформа для Web-приложений. FireBird — СУБД, открытая разработка, мощная, имеющая серьезную поддержку в лице отечественных разработчиков и удовлетворяющая предъявленным требованиям. JayBird — JDBC драйвер, открытая разработка для организации доступа к СУБД.

Данные средства разработки были выбраны по следующей причине: все средства являются кроссплатформенными, то есть их использование позволяет создавать платформонезависимые продукты. Java является объектно-ориентированным языком программирования, его распространенность и поддержка среди крупных корпораций является гарантом стабильности развития, а большое сообщество разработчиков — источником бесплатных библиотек высокого качества [29]. Apache Tomcat фактически является стандартом среди Web-контейнеров для Java Web-приложений. СУБД FireBird и JDBC драйвер JayBird являются высококачественными продуктами, обеспечивающими высокую производительность и надежность.

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

При реализации проектов, поддержанных грантами РГНФ и РФФИ2, была разработана и использована архитектура современного Web-приложения, основные положения которой раскрыты в 2.2.1.

При разработке ПК на основе предложенной архитектуры автором использовались стандартные возможности, реализованные в выбранной платформе, содержание и особенности которых изложены в разделах 2рффИ № 04-07-90401, РГНФ № 04-02-00271, РФФИ № 07-07-00265а, РГНФ № 07-02-12112в 3.2.2, 3.2.8 и 3.2.9. С использованием этих принципов автором разрабо-танны собственные стандартные компоненты, принципы функционирования которых раскрыты в разделах 3.2.3, 3.2.5, 3.2.7 и 3.2.10.

Уровень представления данных в предложенной автором архитектуре Web-приложения (рис. 2.12) представляет собой реализацию паттерна MVC. При ее реализации подробно был рассмотрен процесс «общения» клиента и сервера при выполнении какого-либо бизнес-процесса.

Из всех представленных методов наиболее простым и, в тоже время, мощным является сессионный объект (Session), реализованный в Java посредством интерфейса javax.servlet.http.HttpSession. Использование этого объекта сопряжено с использованием объекта типа HttpServletRcquest для получения данных от пользователя или обеспечения возможности их транспортировки внутри приложения.

Основное отличие объекта HttpSession от HttpServletRequest заключается во времени жизни (рис. 3.7). Объект HttpServletRequest предназначен для передачи запроса (и необходимых данных) от браузера к Web-приложению и существует в промежутке времени между запросом пользователя и ответом ему, в то время как объект HttpSession обеспечивает средства хранения и доступа к данным пользователя на протяжении всего периода работы с приложением.

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

навливается некоторое время, по истечении которого после последнего запроса пользователя необходимо удалить объект HttpSession.

Фактически, объект HttpSession - это Hashtable, в котором можно хранить любое количество пар объектов типа «ключ — объект». При использовании сессионного объекта данные приложения пользователю не отправляются, так как это происходит с cookie. Сессионный объект хранится на сервере персонально для каждого пользователя и сервер различает пользователей (кому какая сессия принадлежит) с помощью маркера, который предоставляет серверу пользователь. Маркер хранится в cookies до конца сессии, что накладывает некоторые ограничения на клиентское рабочее место (использование cookies для вашего приложения должно быть разрешено). Можно убедиться в этом во время работы с Web-приложением, просмотрев состояние cookies в вашем браузере4 (рис. 3.8).

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