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



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

Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Бевзов Алексей Николаевич

Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования
<
Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования
>

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

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

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

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

Введение

Глава 1. Анализ информационно-поисковых систем 18

1.1 Примеры некоторых ИПС 18

1.2 Возможности поиска информации в Интернете 23

1.3 Обработка текстов на естественном языке 24

1.4 Основные составляющие ИПС 27

1.4.1 Основные типы информационно-поисковых языков (ИПЯ) 29

1.4.2 Базовые принципы обработки текстов на естественных языках (ЕЯ) 32

1.4.3 Индексирование документов 34

1.5 Эволюция и тенденции развития ИПС 37

1.6 Построение экспертных систем на основе алгоритмов нечеткой логики 42

1.7 Изучение сложных объектов в синергетике 43

1.8 Исследование формальной структуры текстов на естественном языке 44

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

2.1 Частично автоматизированный поиск информации 49

2.1.1 Поиск 1111 на основе методов нечеткой логики 49

2.1.2 Определение ЛП и дискретизация областей значений параметров 51

2.1.3 Ввод экспертных знаний 52

2.1.4 Получение продукционных правил (построение нечеткого отношения между значениями входных и выходных параметров) 53

2.1.5 Формулировка пользовательского запроса 54

2.1.6 Фазификация четкого входа и определение степени влияния каждого продукционного правила 54

2.1.7 Моделирование функциональной зависимости нечеткими композициями 55

2.1.8 Дефазификация полученного результата для определения четкого значения выхода 56

2.1.9 Определение целевого объекта 56

2.2 Полностью автоматическая обработка и поиск текстовой информации 57

2.2.1 Методология синергетики. Отказ от полного динамического описания феномена и переход к поиску аттрактора 58

2.2.2 Синергетический взгляд на информацию. Информация как эволюционный процесс 59

2.2.3 Возможности синергетики при обработке временных рядов 60

2.2.4 Алгоритм обработки временного ряда для оценки размерности аттрактора 61

2.2.5 Текст как сложный объект 66

2.2.6 Аналогия между текстом и физическим объектом 68

2.2.7 Методика предварительной обработки текста 70

2.2.8 Получение временных рядов и их обработка 73

2.3 Основные особенности для программной реализации ИПС 74

Глава 3. Создание ИПС для поиска паттернов проектирования 75

3.1 Создание модуля ПКС 75

3.1.1 Методика исследования текста с целью выявления ключевых слов на основе обработки временных рядов 77

3.1.2 Модели текста и алгоритмы обработки данных для поиска аттракторов 79

3.1.3 Проведение сравнительных испытаний 86

3.2 Создание модуля ППК 93

3.2.1 Создание списка идентификационных признаков ПП 93

3.2.2 Ввод экспертных знаний для определения 1111 97

3.2.3 Ввод пользовательского вопроса для поиска 1111 99

3.2.4 Алгоритм поиска 1111 и диаграмма объектов модуля ППК 100

3.2.5 Настройка модуля ППК на предметную область 102

3.3 Оценка созданной информационно-поисковой системы 102

Глава 4. Использование созданной ИПС для поиска паттернов проектирования при создании программного обеспечения в проектах автоматизации промышленных объектов 104

4.1 Создание коммуникационного программного обеспечения для системы автоматизации Новосибирской ГЭС 104

4.1.1 Новосибирская ГЭС как объект автоматизации 104

4.1.2 Поиск паттернов для коммуникационной системы 107

4.2 Создание программного обеспечения для ростовой установки для выращивания монокристаллов кремния 127

4.2.1 Ростовая установка как объект автоматизации 127

4.2.2 База данных параметров 128

4.3 Эффективность использования паттернов проектирования при создании программного обеспечения для автоматизации промышленных объектов 134

Заключение 136

Литература 137

Словарь сокращений 145

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

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

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

1) Классические работы по объектному проектированию и программированию

[1L И-

2) Классические работы по Windows технологиям программирования, в том
числе касающиеся программирования на уровне API, предоставляемого
операционной системы [3], программирования на уровне поддержки
библиотеки MFC [4], работы с важнейшей технологией Windows
программирования COM/DCOM на элементарном уровне [5], [6], работы с
технологией COM/DCOM на уровне поддержки библиотеки ATL [7], [8].
Такого рода работы часто сопровождаются электронной версией книги с
поставляемой вместе с ней справочно-поисковой системой.

3) Работы с описанием различных успешных архитектурных решений
создания программного обеспечения для ряда типовых задач в рамках
парадигмы объектного программирования. В качестве примеров можно
указать работы [9], [10], [11], [12].

4) Справочно-поисковая система крупнейших фирм-производителей
программного обеспечения, например фирмы Microsoft (MSDN). Такие
справочные системы либо устанавливаются на компьютер пользователя, либо
доступны на сервере фирмы производителя [13].

5) Специализированные, ориентированные на разработку программного
обеспечения справочно-поисковые системы, доступные в Интернете. В
качестве примера можно указать такие информационные Web-сайты, как [14],
[15].

6) Популярные поисковые машины Интернета, например [16].

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

Помимо нарастания объема информации есть еще ряд факторов, которые требуют более быстрой и качественной ее обработки. К таким факторам следует отнести:

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

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

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

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

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

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

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

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

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

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

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

по профессии. Он определил понятие паттерна как "решение проблемы в контексте" [17]. При этом каждый паттерн и описывает проблему, которая возникает в типичном контексте, и предлагает принцип ее решения.

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

Специалисты в области создания программного обеспечения признают необходимость применения паттернов проектирования для создания гибкого,' допускающего модификацию, обладающего возможностью повторного использования программного кода [1], [9], [10], [11], [18].

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

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

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

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

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

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

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

поиска в ИПС создается на основе математического аппарата нечеткой логики.

Основными методами исследования в данной работе являются:

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

2) методы математического аппарата нечеткой логики (при настройке ИПС с
помощью создания решающих правил на основе знаний экспертов, обработке
запросов пользователей на основе введенных знаний);

3) методы статистической и математической обработки данных
(синергетический метод обработки временных рядов);

4) метод проведения численных экспериментов (во время обработки текста на
естественном языке и получения временных рядов).

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

Методологические основы к исследованию сложных объектов были заложены А. Пуанкаре, И. Пригожиным, Г. Хакеном. Математический аппарат и методы решения и качественного исследования дифференциальных уравнений, описывающих динамику поведения сложных объектов, были исследованы в работах А. Пуанкаре, A.M. Ляпунова, Р.Тома, А.Н. Колмогорова, И.В. Арнольда и многих других. При создании информационно-поисковой системы использовались принципы, изложенные в работах Л.А. Заде, которые затем были применены для решения задач нечеткого управления промышленными объектами [19]. В методическом отношении, при построении информационно-поисковой системы использовались идеи и рекомендации, изложенные в работах [20], [21]. При исследовании текста как информационного объекта использовались идеи и методы описания, а также исследования сложных объектов, включая алгоритмы обработки временных рядов, разработанные в рамках синергетики.

Информационная база данного исследования включает несколько источников, наиболее важными из которых являются:

1) методологические, физико-математические, технические и
лингвистические работы, которые стали теоретической и методологической
основой данного исследования; идеи и методы исследования, описанные в
этих работах, определили постановку задачи и алгоритмы обработки
различных данных в этой работе;

2) в качестве объекта исследования использовались тексты с описанием
паттернов проектирования так, как они приведены в работе [9] ;

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

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

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

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

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

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

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

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

  5. Предложена методика автоматизированного поиска шаблонов (паттернов) проектирования в информационно-поисковой системе. Основой

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

Практическая ценность созданной ИПС состоит в том, что:

  1. С помощью созданной ИПС существенно облегчен поиск и работа с 1111, что позволяет более эффективно создавать программное обеспечение.

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

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

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

Созданная ИПС использовалась для поиска 1111 при создании программного обеспечения для системы автоматизации Новосибирской ГЭС, и создании автоматизированной ростовой установки для выращивания монокристаллов кремния.

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

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

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

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

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

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

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

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

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

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

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

В завершении первой главы дается анализ рассмотренных вопросов, связанных с созданием и развитием ИПС. На основе проведенного анализа формулируются требования к созданию более совершенной ИПС.

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

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

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

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

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

В первой части 3-ей главы описывается модуль поиска по ключевым словам (модуль ПКС), который предназначен для того, чтобы выполнять поиск необходимого документа в коллекции документов на основе использования ключевых слов в поисковом запросе пользователя. В этой части работы приведены результаты численных экспериментов, проведенных при исследовании текстов с описанием 1111. В основе получения и обработки временных рядов лежит методика предварительной обработки текста, описанная во 2-ой главе, однако в этой части работы основное внимание уделяется тому, как можно строить различные модели получения временных рядов из текстов с целью поиска и выделения наиболее значимой смысловой информации.

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

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

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

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

Построение экспертных систем на основе алгоритмов нечеткой логики

В свете рассматриваемой задачи (автоматизированный поиск текста с заданным содержанием) заслуживают внимания некоторые идеи и алгоритмы, появившиеся в рамках развития нечеткой логики. Основные теоретические аспекты этих идей изложены в работе [51]. Более поздние их описания, а также ряд некоторых полезных алгоритмов их практического использования, включая библиотеки готовых программ с реализацией этих алгоритмов, приводятся в книге [52]. Весьма интересным для создания ИПС с элементами экспертных систем представляются те идеи, которые были предложены в работе [19] для задачи управления парового котла. Имея формальный аппарат нечеткой логики, который включает: 1) понятие лингвистической переменной (ЛП), 2) набор термов для каждой ЛП, 3) заданную форму характеристической функции для каждого терма ЛП, 4) алгебраические правила выполнения различных логических операций типа конъюнкций ("И"), дизъюнкций ("ИЛИ") и т.д. над термами лингвистической переменной - можно составить различные продукционные правила и с их помощью моделировать различные высказывания естественного языка. Таким образом, существует возможность формализовать и ввести в экспертную систему вербальные экспертные знания, которые можно получить от специалиста в предметной области. Применительно к задаче нашего исследования аналогичным образом может быть построена экспертно-поисковая система для поиска текстов, содержащих описание паттернов проектирования.

Для создания такой ИПС, необходимо понять, каким образом можно сформулировать пользовательский запрос, а также то, каким должен быть механизм обработки такого запроса с целью поиска необходимой информации в базе данных с документами в виде текстов на естественном языке. Рассматривая вариант создания автоматизированных справочно поисковых информационных систем, нельзя не коснуться вопроса о том, что представляет собой информация в достаточно общем виде и какие существуют формальные математические методы ее обработки. В контексте данной работы этот вопрос представляет интерес ввиду того, что текст на естественном языке можно рассматривать как некоторый информационный объект. Классические работы по теории информации относятся к трудам К. Шенона [53]. Однако подход, предложенный К. Шенноном и его школой, относится, скорее, к вопросам передачи информации, не затрагивая при этом семантики информации, которая и представляет для нас основной интерес. Новый подход к изучению и трактовке информации появился в рамках синергетики.

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

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

Полностью автоматическая обработка и поиск текстовой информации

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

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

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

Несмотря на то, что у истоков синергетики как науки с точными математическими методами исследования стояли представители естественнонаучных дисциплин [70], [71], [72], ее методологический подход оказался интересным для самых разных областей знаний. Так, например, в работе [73] авторы отмечают явление пуризма (возможность использования одних и тех же математических методов и моделей для описания разных явлений).

Не является исключением и возможность применения методов синергетики для исследования информации. Так, например, уже в работе [70] Г. Хакен иллюстрирует применение аппарата синергетики для описания и исследования такого феномена как информация. Дальнейшее развитие этих идей прослеживается в отдельной монографии этого же автора [74].

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

Что касается исследования текста, то уже в ранних работах [70], [71] указывалось на возможность исследовать текст как сложный объект методами синергетики.

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

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

Авторы работы [68] отмечают, что вопрос о связи авторегрессионных моделей с динамическими системами, описывающими исследуемые процессы, возник, когда в конце 70-х годов проводились экспериментальные исследования для подтверждения идей маломодовой нелинейной динамики. Группа американских ученых в работе [76] показала, что можно получить удовлетворительную геометрическую картину странного аттрактора небольшой размерности, если вместо переменных х, входящих в уравнения динамической системы, использовать m-мерные вектора, получаемые из элементов временного ряда по тому же принципу, что и в задачах авторегрессии

После этого появилась работа [77] со знаменитой теоремой Ф. Такенса, которая лежит в основе всех алгоритмов обработки временных рядов методами нелинейной динамики.

Суть обработки временных рядов методами нелинейной динамики сводится к тому, чтобы получить ряд сведений относительно тех объектов, которые нам интересны, но относительно которых у нас есть весьма скудная информация. Такой информацией является временной ряд, полученный в результате измерения значений некоторой наблюдаемой переменной (НП)

Создание списка идентификационных признаков ПП

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

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

В работе основного модуля ИПС можно выделить два наиболее важных аспекта - настройка ИПС и поиск 1111.

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

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

В существующих каталогах 1111, как правило, уже описан ряд признаков, характерных для того или иного паттерна [9], [10], [11]. На основании таких описаний были определены базовые поисковые признаки для каждого ПП. В дальнейшем эти признаки использовались для составления продукционных правил, которые и позволяют находить необходимые 1111.

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

Расширение набора поисковых признаков можно вести с учетом различных этапов унифицированного процесса (УП) разработки программного обеспечения [80]. Этот процесс включает такие этапы, как этап постановки задачи, формулировки требований, анализа, проектирования, реализации, тестирования и сопровождения. Каждый этап имеет свои особенности, как с точки зрения создаваемых продуктов (документация, диаграммы, код программы, установка оборудования и т.д.), так и с точки зрения участвующих в ней специалистов (аналитики, проектировщики классов, кодировщики, тестеры и т.д.). Такой подход позволяет настроить ИПС на различные по квалификации и специализации группы пользователей, которые принимают участие в создании программного обеспечения и которые используют ИПС для идентификации 1111. Проиллюстрируем эти предложения на примере формирования различных поисковых признаков для какого-либо паттерна. При этом покажем, как можно составить набор признаков с привязкой к различным этапам УП.

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

Описание этого ПП, приведенное в работе [9] занимает 10 страниц текста и содержит такие разделы, как "Названия и классификация паттерна", "Назначение", "Применимость", "Структура", "Участники", "Отношения", "Результаты", "Реализация", "Пример кода". Такое описание оказывается вполне приемлемым для опытного разработчика. Однако, оно является, местами, несколько перегруженным и порой слишком абстрактным. Кроме того, чтобы принять решение об уместности или неуместности использования незнакомого паттерна, разработчику часто необходимо разбираться в описании нескольких сопутствующих паттернов (т.е. таких паттернов, которые часто используются совместно с искомым паттерном), поэтому процесс идентификации может затянуться.

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

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

Создание программного обеспечения для ростовой установки для выращивания монокристаллов кремния

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

Ростовая установка для выращивания монокристаллов кремния по методу Чохральского [98] представляет собой распределенную компьютерную сеть, компьютеры которой позволяют автоматизировать процесс выращивания кристалла [99]. Распределенная сеть состоит из трех уровней (нижний, оператора, технолога), имеющих различное функциональное назначение.

Нижний уровень предназначен для сбора данных, управления вакуумированием, нагреванием, приводами, контролем за параметрами. Уровень оператора обеспечивает визуализацию, архивацию и управление процессом плавки [100], [101], [102]. Уровень технолога позволяет подготавливать различные типы технологических программ и осуществлять анализ и обработку архивных материалов плавки.

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

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

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

На этапе постановки задачи был выдвинут ряд требований к ПО. Среди этих требований к наиболее существенным относятся следующие: 1) часть ПО должна функционировать на различных компьютерах (компьютер оператора, компьютер технолога), имеющих разное функциональное назначение; 2) разработка тесно связанных узлов ПО ведется группой программистов, поэтому создаваемые части ПО должны быть максимально независимы; 3) создаваемое ПО должно быть достаточно легко модифицируемым в случае изменения требований заказчиков, расширения функциональных возможностей, переноса на разные операционные системы; 4) БДП должна быть доступна как на локальном, так и на удаленном компьютере; 5) необходимо достичь оптимального соотношения цена/время создания ПО.

Похожие диссертации на Информационно-поисковая система для разработки программного обеспечения систем автоматизации на основе паттернов проектирования