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

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

Автореферат диссертации по теме "Автоматизация семантического анализа текста технического задания"

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

□□3452940

ОРЛОВА ЮЛИЯ АЛЕКСАНДРОВНА

АВТОМАТИЗАЦИЯ СЕМАНТИЧЕСКОГО АНАЛИЗА ТЕКСТА ТЕХНИЧЕСКОГО ЗАДАНИЯ

05.13.12 "Системы автоматизации проектирования (промышленность)"

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

^ —,

Волгоград - 2008

003452940

Работа выполнена в Волгоградском государственном техническом университете на кафедре "Системы автоматизированного проектирования и поискового конструирования".

Научный руководитель доктор технических наук, профессор

Заболеева-Зотова Алла Викторовна.

Официальные оппоненты: доктор технических наук, профессор

Бершадский Александр Моисеевич, кандидат технических наук, профессор Родзин Сергей Иванович.

Ведущая организация Астраханский государственный технический

университет.

Защита состоится 05 декабря в 15.00 часов на заседании диссертационного совета Д 212.028.04 в Волгоградском государственном техническом университете по адресу: 400130, г. Волгоград, пр. В.И.Ленина, 28, ауд. 209.

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

Автореферат разослан «01» ноября 2008 года.

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

Водопьянов В.И.

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

Актуальность темы исследования.

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

В настоящее время проектирование включает разработку требований или технического задания (ТЗ), разработку системы или технического проекта, программирование или рабочее проектирование, пробную эксплуатацию, сопровождение и улучшение. Необходимо учитывать взаимозависимость всех основных частей процесса проектирования от инструментария, технологий и организации работ. Большинство работ в области САПР направлены на создание и совершенствование инструментария для автоматизации процесса проектирования. Значительный вклад в развитие САПР внесли В.И.Аверченков, Г.С.Альтшуллер, А.В.Андрейчиков, Н.П.Бусленко, ВЛ.Быков, Б.С.Воинов, Г.Д.Волкова, В. Гаспарский, Дж. К. Джонс, Дж. Диксон, М.Ф.Зарипов, В.А. Камаев, К.В.Кумунжиев, В.М.Курейчик, П.М.Ма-зуркин, И. Мюллер, И.П.Норенков, И.Ю.Петрова, А.И.Половинкин, А.Ф.Похилько, Ю.М. Соломенцев, Ф.Ханзен, П. Хилл, А. Холл и др.

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

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

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

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

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

3

2. Разработать методику анализа текста технического задания.

3. Разработать и исследовать семантическую модель текста технического задания.

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

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

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

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

Предметом исследования является эффективность проектирования программного обеспечения.

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

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

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

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

3. Разработан метод построения модели программного обеспечения, описанного в техническом задании, в виде диаграмм потоков данных.

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

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

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

3. Методика и алгоритмическое обеспе.чение анализа технического задания и построения модели программного обеспечения по результатам анализа.

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

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

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

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

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

Автоматизированная система семантического анализа текста технического задания внедрена в АГТУ, АНО "СНТО сетей МГУ", Волг1ТУ, и ООО "Связь и строительство".

Апробация работы. Основные положения и результаты работы докладывались и обсуждались на: V-ой международной научно-технической конференции "Интеллектуальные системы (AIS'05). Интеллектуальные САПР (CAD-2005)" (Россия, Черноморское побережье, Дивноморское, 3-10 сентября 2005г.); VI International conference: "Interactive systems and technologies: The problems of human-Computer Interaction" (г.Ульяновск, Россия, 26-30 сентября 2005г.); Х-ой Международной конференции и Российской научной школе (научный центр "АССОНИКА"): "Системные проблемы надежности, качества, информационных и электронных технологий: Инноватика-2005" (г.Сочи, 3-14 октября 2005г.); V-ой Международной научно-методической конференции: "Дистанционное обучение - образовательная среда XXI века" (Белоруссия, г.Минск, 10-11 ноября 2005г.); Х-ой и ХП-ой региональных конференциях молодых исследователей Волгоградской области по направлению "Компьютерное и информационное обеспечение теоретических и прикладных задач (г. Волгоград, 8-11 ноября 2005-2006гг.); Всероссийской конференции студентов, аспирантов и молодых ученых: "Технологии Microsoft в теории и практике программирования" (г.Москва, 2-3 марта 2006г.); Всероссийской конференции студентов, аспирантов и молодых ученых: "Технологии Microsoft в теории и практике программирования"(г.Нижний Новгород, 21-22 марта 2006г.); "Научной сессии МИФИ-2006: Интеллектуальные системы" (г.Москва, 2006г.); VI-ой международной конференции "Информационные технологии в образовании, медицине и технике" (г.Волгоград, 2006г.); IV-ой всероссийской конференции "Прогрессивные технологии в обучении и производстве" (г.Камышин, 2006г.); "Научной сессии МИФИ-2007: Интеллектуальные системы" (г.Москва, 2007г.); IV-oii международной научно-практической конференции "Интегрированные модели и мягкие вычисления в искусственном интеллекте" (г.Коломна, 28-30 мая 2007г.): Joint International Scientific Events on

Informatics - ITA2008, "International Conference on Intelligent Information and Engineering Systems - I№OS2008"(r.BapHa, 23 июня - 03 июля 2008г.).

Работа "Естественно-языковое проектирование программного обеспечения. Формализация технического задания" удостоена дипломом третьей степени на Х-ой Региональной конференции молодых исследователей Волгоградской области (2005г.), работа "Автоматизированное проектирование программного обеспечения по тексту технического задания" награждена дипломом за активное участие в конференции аспирантов и молодых ученых "Технологии Microsoft в теории и практике программирования" (2006г.), а работа "Подсистема предварительной обработки текста" удостоена поощрительной грамоты на XI-ой Региональной конференции молодых исследователей Волгоградской области (2006г.).

Автор является победителем программы "Участник молодежного научно-инновационного конкурса" (У.М.Н.И.К. - 2008).

По теме диссертации опубликовано 27 работ, в том числе: 4 статьи опубликованы в изданиях, входящих в перечень ВАК; 2 статьи в международных журналах; 12 статей в сборниках трудов; 9 материалов конференций.

Структура и содержание диссертационной работы. Диссертация состоит из введения, пяти глав, выводов и приложений. Диссертация содержит 190 страниц основного текста, 32 рисунка и 16 таблиц. Библиографический список включает 127 наименования. Общий объем работы 248 страниц.

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

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

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

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

В современных информационных технологиях важное место отводится инструментальным средствам, системам разработки и сопровождения ПО. Эти технологии и среды образуют CASE-системы. Широко известные CASE-системы, такие как BPWin, ERWin, OOWin, Design/IDEF, CA SE-Аналитик, Silverrun, Rational Rose, Vantage Team Builder, S-Designer и др., позволяют частично автоматизировать процесс проектирования программного обеспечения. Однако, как показал анализ, данные системы автоматизируют конечные этапы проектирования программного обеспечения, такие как создание отчетной и сопровождающей документации, генерация кода и т.д.

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

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

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

Системы обработки связных текстов довольно разнообразны по структуре: интеллектуальные вопрос-ответные системы, системы общения с базами данных, диалоговые системы решения задач, системы обработки связных текстов и др. (Alex, AURA, GalaktikaZOOM, Link Grammar Parser, Гарант-Парк-Интернет, WordTabuIator, Алхимик, Худломер, Рабочее Место Лингвиста, ABBYY Retrieval & Morphology (ARM), Следопыт, ВААЛ2000 и др.). Их общей чертой можно считать широкое использование технологий представления знаний. Функции систем такого рода заключаются в понимании текста и ответах на вопросы о его содержании. Тем самым и системы обработки связных текстов оказываются не универсальными, а проблемно-ориентированными.

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

По результатам анализа существующих систем, использующих семантический анализ текста (Galaktika-ZOOM, Link Grammar Parser, AURA, Алхимик, Рабочее Место Лингвиста, AuthorIT и др.), нами не было найдено системы, анализирующей текст технического задания.

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

Ошибки, сделанные на этапе анализа требований к программному обеспечению, чрезвычайно дорого исправлять. Такие ошибки являются наибольшим классом ошибок, типично обнаруживаемых в сложном программном проекте. В исследовании проекта Sheldon выяснилось, что ошибки, сделанные на начальных этапах проектирования составляли 41% обнаруженных ошибок. Например, Tavolato и Vincena, сообщают, что причиной 56% всех ошибок являются ошибки, сделанным на стадии анализа требований.

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

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

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

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

Задачей исследования является автоматизированная обработка текста документа, который изначально создается человеком на естественном языке с соблюдением структуры, требования к которой изложены в ГОСТах.

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

При проведении исследований было рассмотрено множество различных вариантов ТЗ и детально изучены ГОСТ 19.201-78 и ГОСТ 34.602-89.

В результате было отмечено, что:

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

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

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

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

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

г) Для функций часто указывается тип: «Основная», «Дополнительная» или «Вспомогательная».

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

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

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

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

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

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

Уровень формализации Уровень реализации

Методика

.. Семантическая

модель текста ТЗ

Нечеткая

атрибутная

грамматика

Текст ТЗ на <3— ограниченном

естественном языке ;

^Обработка. ТЗ^

Внутреннее., представление

Фреймовая структура

<3- -

у

—| Создание фреймов^

Формальная, -- модель

Модель программного обеспечения

<1—

Диаграммы:

1. общая структура

2. выполняемые ' V . функции-"

V

Созданйе диаграмм^)

Рисунок 1. Методика анализа текста технического задания

9

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

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

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

Расширенная нечеткая атрибутная грамматика, необходимая для автоматизированного анализа текста технического задания, определена в виде: AG = <N, Т, Р, S, В, F, A, R(A)>,

где N - конечное множество нетерминальных символов; Т -непересекающееся с N множество терминальных символов; Р - конечное множество правил; S - выделенный символ из N, называемый начальным символом; В - множество лингвистических переменных pki„ соответствующих терминальным символам Т (переменная i на к уровне); F - множество функций принадлежности f^,, определяющих степень принадлежности лингвистических переменных р^,; А - множество атрибутов, А = AsinUAsem, где Asin - синтаксические атрибуты, Asem - семантические атрибуты; R(A) -конечное множество семантических действий.

Лингвистические переменные из множества В={рк,|}к); используемые для анализа текста технического задания описывается следующей пятеркой:

рк.,=<р,т(р), U, G, М>,

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

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

U - универсум, Т(р) с U;

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

М - семантическое правило для лингвистических переменных, которое индуцируется морфологическими и синтаксическими правилами, так как смысл терма в Т частично определяется его синтаксическим деревом, и семантическими атрибутами Asem.

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

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

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

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

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

Функции принадлежности из множества F={fki)}k,i лингвистических переменных {pk.i}k,n необходимы для построения нечеткого вывода. В частности, каждому правилу грамматики из множества Р ставится в соответствие функция принадлежности fkl. Эта двойственная система подстановок используется для вычисления смысла лингвистической переменной.

Синтаксические атрибуты Asin, используемые в грамматике: 'Название' -текст представляет собой наименование раздела; 'Содержимое' - текст представляет собой содержимое раздела; 'Клауза' - клауза; 'Клауза ТИРЕ'-Фрагмент с тире; Труппа ГЕНИТ_ИГ' - именительная группа, связанная родительным падежом и др.

Семантические атрибуты, используемые в грамматике, содержат название атрибута Asem и семантические действие R(A): "Фрейм СИСТЕМА-Создание"

- создается фрейм СИСТЕМА; "Слот НАЗВАНИЕ СИСТЕМЫ=Присваивание"

- значение присваивается слоту НАЗВАНИЕ СИСТЕМЫ; "Фрейм ПОТОК ДАННЫХ = Создание" - создается фрейм ПОТОК ДАННЫХ; "Слот ВХОД = Присваивание", "Слот ВЫХОД = Присваивание" - значение присваивается слотам ВХОД, ВЫХОД; "Слот КОЛ-ВО ДАННЫХ = Присваивание" - значение присваивается слоту КОЛИЧЕСТВО ДАННЫХ; "Слот ТИП ДАННЫХ =

Присваивание" - значение присваивается слоту ТИП ДАННЫХ; "Слот НАЗВАНИЕ ПОТОКА ДАННЫХ = Присваивание" - значение присваивается слоту НАЗВАНИЕ ПОТОКА ДАННЫХ; "Фрейм ФУНКЦИЯ =Создание" "Слот НАЗВАНИЕ ФУНКЦИИ = Присваивание"- значение присваивается слоту НАЗВАНИЕ ФУНКЦИИ; "Слот НАЗВАНИЕ ДЕЙСТВИЯ = Присваивание"-значение присваивается слоту НАЗВАНИЕ ДЕЙСТВИЯ; "Слот ОБЪЕКТ = Присваивание" - значение присваивается слоту ОБЪЕКТ; "Слот ОГРАНИЧЕНИЕ НА ФУНКЦИЮ = Присваивание - значение присваивается слоту ОГРАНИЧЕНИЕ НА ФУНКЦИЮ и др.

Фрагмент грамматики представлен в таблице 1.

Таблица 1. Фрагмент разработанной расширенной нечеткой атрибутной грамматики над фреймовой структурой технического задания_

& <Список входов> - <Название списка входов > ::'Название' ;<Описание входа> ::'Содержимое*<Списоквходов> \ €

Рм ^Название описка входов> = Текст на ЕЯ, содержащий слова "входные данные "Клауза НЕОПРЕД'

Ри <Описание ахода> := Текст, содержащий "входы" или "входные данные" Клауза' <Вход> ::"Френм ПОТОК ДАННЫХ = Создание", "Слот ВХОД=Присванвание"

<Вход> := [<Число единиц данных>] ::"Слот КОЛ-ВО ДАННЫХ - Присваивание" [<Тип данных>] ::иСлот ТИП ДАННЫХ - Присваивание" <Название потока данных> \ "Слот НАЗВАНИЕ ПОТОКА ДАННЫХ = Присваивание"

Рш.1 <Число единиц Ьанных> := 51 «Список» | «Коллек1{ия» \ «Файл» \ «Дерево» \ «Сеть» \ «Массив»

РШ2 <Тип дшшых> = « структура »\« число »¡«объект »\«значение»\«дата»\<хвремя»

Р2 <Список функций> <Название списка функций> ::'Название' <Описание фунщии> ::"фрейм ФУНКЦИЯ=Создание" , <Список функций> | е

Рг.. <Назеапие гписка функций> - Текст на ЕЯ, содержащий слова "функции" или "функциональные характеристики" ::'Клауза НЕОПРЕД'

Рад <Описание функции> <Название функции> ::'Назвапие', "Слот НАЗВАНИЕ ФУНКЦИИ = Присваивание" <Список входов ><Список выходов>.

ЙВ.1 <Пазвание функции> [<Субъект~>] <Действие>::и Слот НАЗВАНИЕ ДЕЙСТВИЯ Присваивание"<С>бъек/я>::"Слот ОБЪЕКТ = Присваивание" <Ограничение>::"Слот ОГРАНИЧЕНИЕ НА ФУНКЦИЮ = Присваивание" [<Источник>]

р2212 ]<Действие> := слово из списка операций Коллера (А И Почовинкина)

Фреймовая структура технического задания представлена в виде кортежа:

где Л'д - название системы, ^ - вектор функций системы, 4 - вектор

входных воздействий, 0„ - вектор выходных воздействий.

), тогда = (ТУ;,/;,я;,о;, я;,о;),

где N'1,- имя функции^, 7/ - вектор входных воздействий функции, 0'е-название действия, выполняемого функцией, С). - объект, над которым

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

Обозначим поток данных как DF (Data Flow), тогда О, IF, Q имеют одинаковую структуру элементов:

где ndf - название потока данных, Ddf - направление потока данных, Т№ -тип данных в потоке, с№ - количество данных в единичной порции.

Предлагаемая фреймовая структура представляется в виде фреймовой сети (рис. 2).

Рисунок 2. Фреймовая сеть

На последнем этапе методики требования представляются в виде набора диаграмм потоков данных на графическом языке Data Flow Diagrams: общая структура системы с указанием ее входных, выходных потоков и функции, выполняемые системой, с их входными, выходными потоками.

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

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

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

Входные символы конечного автомата: Ci - пустое пространство, Сг - пробел, с3 - новая строка, с4 - конец текста, с5 - 'Г..'9', с6 -'П', Со - любой другой символ.

Промежуточные состояния автомата: а> - начало разбора номера раздела, а2 -последовательность символов - текст, аз - последовательность символов -нумерация, а4 - начало разбора названия раздела, а5 - последовательность символов - название раздела, % - начало разбора текста раздела или приложения, а7 - последовательность символов - продолжение текста раздела или приложения, а8 - начало разбора названия приложения, ад -последовательность символов - название приложения, ао - конец ТЗ.

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

•7 О -1Т - записываем в таблицу - , д - пропускаем ■ -создаем раздал и записываем „...„як-.

' " 1 разделов текст разделе. пустое пространство; * ' в него название приложения "

Рисунок 3. Автомата разбора верхнего уровня текста технического задания

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

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

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

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

Для некоторой лингвистической переменной ¡3^, значение функции принадлежности: Цк,,=Гк,,(Цк+1,ьЦк+1,2,..-,Цк+1.п), где конкретное значение цк>, -степень принадлежности лингвистической переменной Р^, Первоначально будем говорить, что все лингвистические переменные нижнего уровня вносят одинаковый вклад в значение функции принадлежности, поэтому можно говорить, что функция принадлежности лингвистической переменной (5^:

где ¡д^^ - степень принадлежности лингвистической переменной рк+1^ Чкно = 1/п - вклад степеней принадлежности в значение функции. На нижнем уровне функции принадлежности определены.

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

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

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

Общий алгоритм семантического анализа

( НАЧАЛО

Компиляция грамматики

¡вход ;

¡Список лексем. . ! ¡грамматика ТЗ в виде I ¡хт1-,#жумента ' ;

Алгоритм построения дерева лингвистических переменных (5*,,

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

Дерева грамьвтщщ Код терма Код родительского терма

Тип (терминал? нетерминал} Название терма Синтаксический атрибут Семантический атрибут Лингвистическая переменная

Рассчитать степень принадлежности лингвистической переменной Ри по функции

ьТтШШь" принадлежности рц лингвистической переменкой (3*,! по

функции принадлежности, определенной .ш&шрш&Е.

(КОНЕЦ )

Рисунок 4. Алгоритм семантического анализа текста технического задания

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

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

Алгоритм создания фреймов

{_ НАЧАЛО '

Алгоритм построения диаграмм

НАЧАЛО

Создать фрейм И Требования к ПО

Потокданных (вход-выход^

...............................Г"----- ------- ВХОД: , Список фреймов в виде таблиц, справочные, таблицы

Создать набор потоков на ОРО*диаграмме, соответствующий входам системы

.......1 :

X

"'Создать фреим"ПЬ"п™ типа РЯ. Номер входа

проставить _ автоматически_

X

Присвоить фрейм слоту системы или функции

■ПрйЭоиЙ слотам""' фрейма ОРп значения терминалов <Тип данных» <Название входа»

Создать слот «Число единиц

данных» — .......| -

.........ПрИСВШГК'СГМу...........

«Число единиц данных» фрейма ЭРП знамение терма <Число единиц

Функция

"Создатьфреи метила Е Номер функции

проставить _ ветомэтически

л:

/^Для каждого фреймаУ

Присвоить фрейм слоту системы

Присвоить слотам фрейма Р„ значения «Название функции» «Действие» «Объект» «Ограничение»

^^йпя каждого входайь^ выхода ¿г

Создать фрейм"ЙР"' или найти уже созданный и добавить в конец списка ОЯ текущей функции

Уменьшаем число неактивных входов у <аждой функции за счет новых потоков

|я каждого фреша. Р с тт неактивных >ч входов

1НЫХ у'-'

Создать функцию на ОРО-диаграмме

Определить выходные потоки функции

Создать потоки на йРО диаграмме

КОНЕЦ

3

КОНЕЦ

ВЫХОД: диаграмма №0

Рисунок 5. Алгоритмы создания фреймов и построения диаграмм потоков данных.

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

В четвертой главе рассматривается разработанная автоматизированная система семантического анализа текста технического задания "Семантика ТЗ", область ее применения, принцип функционирования, архитектура, структура файлов данных и диаграммы классов. "Семантика ТЗ" состоит из следующих подсистем: "Хранение документов", "Интерфейс", "Предварительная обработка текста", "Синтаксический анализ", "Семантический анализ", "Построение диаграмм потоков данных" (рис. 6).

1 - Файлы документов 2,3 - Данные о разделах, предложениях и лексемах

4 - Синтаксические юниты, группы, клаузы 5, 9 - Фреймы

6 - Семантические правила 7 - Синтаксические правила

8 - Морфологические признаки 10 - Надписи и координаты фигур диаграмм

Рисунок 6. Архитектура автоматизированной системы "Семантика ТЗ"

Проект разработан на платформе Microsofl.NET Framework (язык разработки С#). Таблицы разделов хранятся в формате XML, а их визуальное представление возможно с использованием XSL-преобразования. Полученное при семантическом анализе фреймовое описание также сохраняется в формате XML. Построение диаграмм потоков данных осуществляется с помощью взаимодействия системы с программой MS Visio.

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

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

Показатели эффективности применения автоматизированной системы "СемантикаТЗ" для семантического анализа текста технического задания представлены на рисунке 9. Эффективность применения программы тем выше, чем больше число функциональных единиц, представленных в техническом задании. Время анализа ТЗ с использованием системы сокращается на 40-70%.

я

К* Автоматизированная система расчета локальной сет

1,я -м-,

1 ЛЬя * План помещений

Т„г,

С„„ 1 Файл (

т\

1>!\

' 1

...........I

Ла

Определение оптимальных путей между устройствами

Координаты устанавливаемых устройств и оборудования

структур типа Точка

Массив

Определение

Оптимальных путей между устройствами

Ж, I 01Р, \

DF.it

£ ! Участки кабеля без изгибов |

к Тог& \ структур тип Отрезок |

|; Соп \ Массив Л „ - "}.

Рисунок 7. Фрагмент заполненной фреймовой структуры

Выбор

оптимальном Определение

топологии требуемого

сети л оборудования

Расчёт координат оптимального расположения концентраторов . кроссовых и серверов _ ^

1 - Плен помещений 4 •• ■ ».) рйбочих мест

? - Парь; сс-здиняемых устройств 18 - Тип выбранной топологии сети

ОБОЗНАЧЕНИЯ ПОТОКОВ ДАННЫХ:

. т-а*;••••■! л* т ех* » з. Масштаб рису« та по оси V

6 •• Координаты устройств и оборудования {етка пространства карты 12 - Цены устройств и кабелей ила выбора топопогяи сети 20 - Правила выбора архитектуры сети

Рисунок 8. Фрагмент диаграммы потоков данных

140 130 120 110 ■ I 100

? 90 80 70 60 50 40 ; 30 ; 20

I

10 .....

о

Число функциональных единиц

Рисунок 9. Время, затрачиваемое на анализ ТЗ различного объема

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

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

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

19

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

-С использованием

автоматизированной системы "СемантикаТЗ "

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

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

5. Разработанные формализмы, методика и алгоритмы реализованы в виде системы автоматизации начального этапа проектирования программного обеспечения "СемантикаТЗ" на платформе Microsoft .NET Framework 2.0 (язык разработки С#) с использованием визуальной среды программирования Visual Studio 2005. Построение диаграмм потоков данных осуществляется в MS Visio.

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

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

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

ОПУБЛИКОВАННЫЕ РАБОТЫ

Статьи в журналах, рекомендуемых ВАК

1. Заболеева-Зотова, А.В. Автоматизация семантического анализа документации технического задания/ А.В. Заболеева-Зотова, Ю.А. Орлова // Вестник компьютерных и информационных технологий/ Машиностроение.- М., 2008.- Вып. 9,- С. 26-34.

2. Заболеева-Зотова, А.В. Атрибутная грамматика формального документа "Техническое задание" / А.В. Заболеева-Зотова, Ю.А. Орлова // Известия ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах": межвуз. сб. науч. ст. / ВолгГТУ. -Волгоград, 2008. - Вып. 4, № 2. - С. 39-43.

3. Заболеева-Зотова, А.В. Автоматизация процедур семантического анализа текста технического задания / А.В. Заболеева-Зотова, Ю.А. Орлова // Известия ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах": межвуз. сб. науч. ст. / ВолгГТУ. -Волгоград, 2007. - Вып.З, №9. - С. 49-52.

4. Заболеева-Зотова, А.В. Моделирование лексического анализа текста технического задания / А.В.Заболеева-Зотова, Ю.А.Орлова // Известия ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах": межвуз. сб. науч. ст. / ВолгГТУ.-Волгоград, 2007.- Вып. 2, №2,- С.39-42.

Статьи в зарубежных журналах

1. Заболеева-Зотова, А.В. Computer-aided System of Semantic Text Analysis of a Technical Spécification / А.В. Заболеева-Зотова, Ю.А. Орлова // "Information Technologies & Knowledge"/ Institute of Information Theories and Applications FOI ITHEA.- Sofia, 2008,- Vol. II,- P. 139-145,- Англ.

Статьи в российских журналах

1. Заболеева-Зотова, А.В. Computer-aided system of the semantic text analysis of a technical spécification / А.В. Заболеева-Зотова, Ю.А. Орлова // Открытое образование: приложение к журналу [по матер, междунар. конференций, Ялта-Гурзуф, 20-30 мая 2008 г.]. - 2008. - Б/н. - С. 103-104,- Англ.

Статьи в сборниках международных конференций

1. Заболеева-Зотова, А.В. Анализ текста технического задания с помощью нечеткой атрибутной грамматики/ А.В. Заболеева-Зотова, Ю.А. Орлова // Системные проблемы надёжности, качества, мат. моделирования, информ. и электронных технологий в инновационных проектах: (Инноватика-2008): матер, междунар. конф. и Рос. науч. школы / Рос. акад. надёжности [и др.]. - М., 2008. - 4.2. - С. 22-28.

2. Заболеева-Зотова, А.В. Automation of procédures of the semantic text analysis of a technical spécification / А.В. Заболеева-Зотова, Ю.А. Орлова // Интеллектуальные системы (fNTELS'2008): тр. 8-го междунар. симпозиума,

Нижний Новгород, 30 июня - 4 июля 2008 г.: [к 60-летию каф. "Системы автом. упр." МГТУ им. Н.Э.Баумана] / МГТУ им. Н.Э.Баумана, НГТУ им. Р.Е.Алексеева [и др.]. - М„ 2008. - С. 245-248.- Англ.

3. Заболеева-Зотова, A.B. Автоматизированная система семантического анализа текста технического задания / A.B. Заболеева-Зотова, В.А. Камаев, Ю.А. Орлова // Инновационные технологии в управлении, образовании, промышленности "АСТИНТЕХ - 2008": матер, междунар. науч. конф., 15-17 апр. 2008 г. / Астрахан. гос. ун-т [и др.]. - Астрахань, 2008. - С. 16-19.

4. Орлова, Ю.А. Computer-aided system of the semantic text analysis of a technical specification / Ю.А. Орлова // Дистанционное обучение -образовательная среда XXI века: матер. VI междунар. науч.-метод. конф., Минск, 22-23 ноября 2007 г. / Белорус, гос. ун-т информатики и радиоэлектроники. - Минск, 2007. - С. 127-129. - Англ.

5. Орлова, Ю.А. Автоматизированная система семантического анализа текста технического задания/ Ю.А.Орлова // VI Международная научно-практическая конференция "Интегрированные модели и мягкие вычисления в Искусственном интеллекте": сб. тр.- М., 2Ö07.- Т2.- С 565-571.

6. Заболеева-Зотова, A.B. Автоматизация семантического анализа текста технического задания / A.B. Заболеева-Зотова, Ю.А. Орлова // Системные проблемы надёжности, качества, мат. моделирования, информ. и электронных технологий в инновационных проектах: (Инноватика-2007): матер, междунар. конф. и Рос. науч. школы / Рос. акад. надёжности [и др.]. - М., 2007. - 4.1. - С. 78-79.

7. Орлова, Ю.А. Автоматизированная система семантического анализа текста технического задания/ А.В.Заболеева-Зотова, КХА.Орлова //XXXIV Международная конференция. V международная конференция молодых ученых. "Информационные технологии в науке, образовании, телекоммуникации и бизнесе IT + S&E'07".- Ялта-Гурзуф, 2007 г.

8. Орлова, Ю.А. Автоматизированная система семантического анализа текста технического задания /' Ю.А. Орлова // Интегрированные модели и мягкие вычисления в искусственном интеллекте: (к 75-летию Д.А.Поспелова): сб. науч. тр. IV междунар. н.-пр. конф., 28-30 мая 2007 г. / МГТУ им. Н.Э.Баумана, Тверской гос. ун-т [и др.]. - Коломна, 2007. - Т.2. - С. 565-571.

9. Орлова, Ю.А. Грамматика для анализа текста формального документа "Техническое задание" / Ю.А. Орлова // Дистанционное обучение -образовательная среда XXI века: матер. VI междунар. науч.-метод. конф., Минск, 22-23 ноября 2007 г. / Белорус, гос. ун-т информатики и радиоэлектроники. - Минск, 2007. - С.124-126.

10. Заболеева-Зотова, A.B. Подсистема предварительной обработки текста технического задания / Научная сессия МИФИ-2007: сб. науч. тр. В 17 т. Т. 3. Интеллектуальные системы и технологии /Моск. инж. физ. институт (гос. ун-т) и др.- М„ 2007,- С.162-163.

11. Заболеева-Зотова, A.B. Автоматизированное проектирование информационной структуры по тексту технического задания / А.В.Заболеева-Зотсва, Ю.А.Орлова //Научная сессия МИФИ-2006: сб. науч. тр. Т. 3.

Интеллектуальные системы и технологии /Моск. инж. физ. институт (гос. ун-т) и др.- М„ 2006,- С.198-199.

12. Орлова, Ю.А. Автоматизация начальных этапов проектирования программного обеспечения / Ю.А.Орлова, Н.Н.Догадин //Интеллектуальные системы (AIS'06). Интеллектуальные САПР (CAD-2006): тр. Междунар. н,-техн. конф., Дивноморское, 3-10 сент. 2006 /Таганрог, гос. радиотехн. ун-т и др.- М., 2006.- Т.2.- С.528-529.

13. Орлова, Ю.А. Семантический подход для автоматизации создания композитных систем / М.А.Рощин, Ю.А.Орлова //Интеллектуальные системы (AIS'06). Интеллектуальные САПР (CAD-2006): тр. Междунар. н.-техн. конф., Дивноморское, 3-10 сент. 2006 /Таганрог, гос. радиотехн. ун-т и др.- М., 2006.-Т.1.- С.433-438.

14. Заболеева-Зотова, А.В Tools Development For Computer Aided Software Engineering Based on Technical Specification's Text Analysis / А.В.Заболеева-Зотова, Ю.А.Орлова // Interactive Systems And Technologies: The Problems Of Human-Computer Interaction: Proc. Of the Int. Conf., Ulyanovsk, 26-30 September 2005/ Ульяновский гос. техн. ун-т и др.-Ульяновск, 2005.-Vol.II.-С.56-58.- Англ.

15. Заболеева-Зотова, А.В Алгоритм построения диаграмм потоков данных на основе анализа текста технического задания / А.В.Заболеева-Зотова, Ю.А.Орлова // Дистанционное обучение - образовательная среда XXI века: матер. V Междунар. науч.-метод, конф., (10-11 ноября 2005 г.) / Белорус, гос. ун-т информатики и радиоэлектроники,- Минск, 2005.- С. 224-226.

16. Заболеева-Зотова, А.В Естественно-языковое сопровождение процесса проектирования программных продуктов / А.В.Заболеева-Зотова, Ю.А.Орлова // Дистанционное обучение - образовательная среда XXI века: матер. V Междунар. науч.-метод. конф., (10-11 ноября 2005 г.) / Белорус, гос. ун-т информатики и радиоэлектроники.- Минск, 2005.- С. 229-232.

17. Заболеева-Зотова, А.В Разработка средств автоматизированного проектированияпрограммного обеспечения на основе анализа текста технического задания/ А.В.Заболеева-Зотова, Ю.А.Орлова //Интеллектуальные системы (AIS'05). Интеллектуальные САПР (CAD-2005): тр. Междунар. н.-техн. конф., Дивноморское, 3-10 сент. 2005 /Таганрог, гос. радиотехн. ун-т и др.- М., 2006,- Т.2.- С.41-43.

18. Орлова, Ю.А. Автоматизированный анализ текста технического задания/ А.В.Заболеева-Зотова, Ю.А.Орлова //Системные проблемы надежности, качества, информационных и электронных технологий (Инноватика-2005): матер. X Междунар. конф. и Рос. науч. школы /Науч. центр "АСОНИКА" и др..- М., 2005.- Т.2.- С.41-43.

Статьи в сборниках российских конференций

1. Заболеева-Зотова, A.B. Нечёткая атрибутная грамматика формального документа "Техническое задание" / A.B. Заболеева-Зотова, Ю.А. Орлова // Современные информационные технологии в науке, образовании и практике:

)

матер. VI всерос. н.-пр. конф. с междунар. участ. / ГОУ ВПО "Оренбургский гос. ун-т". - Оренбург, 2007. - С. 441-442.

2. Орлова, Ю.А. Автоматизированное проектирование программного обеспечения по тексту технического задания / Ю.А.Орлова, А.В.Заболеева-Зотова //Технологии Microsoft в теории и практике программирования: тр. Всерос. конф. студ., аспир. и мол. ученых. Центр, регион: Москва, 2-3 марта 2006 г. /МГТУ Н.Э. Баумана,- М„ 2006,- С.42-43.

3. Орлова, Ю.А. Конечный автомат разбора текста технического задания для формирования дерева разделов / Ю.А.Орлова, А.В.Заболеева-Зотова //Технологии Microsoft в теории и практике программирования: матер, конф., Нижний Новгород, 21-22 марта 2006 г. /Нижегород, гос. ун-т им. Н.И. Лобачевского.- Н.Новгород, 2006.- С.233-235.

Свидетельства о регистрации ПО

1. Заболеева-Зотова, A.B. Свидетельство № 10630 об отраслевой регистрации разработки "Автоматизированная система семантического анализа текста технического задания (АССАТ)" / A.B. Заболеева-Зотова, Ю.А. Орлова; ГОУ ВПО "ВолгГТУ".- Дата регистрации 13.05.2008; дата выдачи 27.05.2008,-М.: Отраслевой фонд алгоритмов и программ, 2008.

Подписано в печать 01.11.2008 г. Формат 60x84/16. Бумага офсетная Усл. печ. л. 1,0. Тираж 150 экз. Заказ 2/50.

Отпечатано с готового оригинал-макета в типографии издательства «Перемена» 400131, г. Волгоград, пр. им. В. И. Ленина, 27

Оглавление автор диссертации — кандидата технических наук Орлова, Юлия Александровна

Введение.

1 Состояние вопроса и постановка задачи исследования.

1.1 Обзор методов проектирования программного обеспечения.

1.1.1 Понятие проектировании ПО.

1.1.2 Стадии и этапы разработки программ.

1.1.3 Моделирование в проектировании ПО.

1.1.4 Современные CASE-средства.

1.2 Обработка естественного языка в автоматизированных системах.

1.2.1 Обзор систем обработки естественного языка.

1.2.2 Методы моделирования языковой деятельности.

1.2.3 Лингвистические теории и их реализации.

1.3 Цели и задачи исследования.

2 Методика анализа текста технического задания.

2.1 Основные положения методики анализа текста технического задания.

2.2 Семантическая модель текста документа «Техническое задание».

2.3 Требования к тексту технического задания.

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

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

В настоящее время проектирование включает разработку требований или технического задания (ТЗ), разработку системы или технического проекта, программирование или рабочее проектирование, пробную эксплуатацию, сопровождение и улучшение. Необходимо учитывать взаимозависимость всех основных частей процесса проектирования от инструментария, технологий и организации работ. Большинство работ в области САПР направлены на создание и совершенствование инструментария для автоматизации процесса проектирования. Значительный вклад в развитие САПР внесли В.И.Аверченков, Г.С.Альтшуллер, А.В.Андрейчиков, Н.П.Бусленко, В.П.Быков, Б.С.Воинов, Г.Д.Волкова, В. Гаспарский, Дж. К. Джонс, Дж. Диксон, М.Ф.Зарипов, В.А. Камаев, К.В.Кумунжиев, В.М.Курейчик, П.М.Ма-зуркин, И. Мюллер, И.П.Норенков, И.Ю.Петрова, А.И.Половинкин, А.Ф.Похилько, Ю.М. Соломенцев, Ф.Ханзен, П. Хилл, А. Холл и др.

Наиболее известные из коммерческих программных продуктов, используемых для проектирования программного обеспечения, предназначены для визуализации промежуточных и конечных результатов процесса проектирования. Некоторые из них позволяют полностью автоматизировать последние этапы проектирования: генерация кода, создание отчетной и сопровождающей документации и т.д. При этом задача автоматизации начального этапа проектирования - формирование и анализ текста 4 технического задания остается открытой. Это связано с необычайной сложностью проблемы синтеза и анализа семантики технического текста, для решения которой необходимо использовать симбиоз методов искусственного интеллекта, прикладной лингвистики, психологии и т.п. [70, 72, 74, 75].

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

Цель и задачи исследования.

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

Для достижения поставленной цели необходимо решить следующие задачи: a) Провести анализ процесса проектирования программного обеспечения и моделей семантического анализа текста. b) Разработать методику анализа текста технического задания. c) Разработать и исследовать семантическую модель текста технического задания. d) Разработать алгоритмическое обеспечение анализа текста технического задания и автоматического построения модели программного обеспечения. e) Реализовать разработанные формализмы, методику и алгоритмы в виде системы автоматизации начального этапа проектирования программного обеспечения.

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

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

Предметом исследования является эффективность проектирования программного обеспечения.

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

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

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

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

3. Разработан метод построения модели программного обеспечения, описанного в техническом задании, на примере диаграмм потоков данных.

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

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

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

3. Методика и алгоритмическое обеспечение анализа технического задания и построения модели программного обеспечения по результатам анализа.

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

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

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

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

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

Автоматизированная система семантического анализа текста технического задания внедрена в АГТУ, АНО "СНТО сетей МГУ", ВолгГТУ, и ООО "Связь и строительство".

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

Основные положения и результаты работы докладывались и обсуждались на: V-ой международной научно-технической конференции "Интеллектуальные системы (AIS'05). Интеллектуальные САПР (CAD-2005)" (Россия, Черноморское побережье, Дивноморское, 3-10 сентября 2005г.); VI International conference: "Interactive systems and technologies: The problems of human-Computer Interaction" (г.Ульяновск, Россия, 26-30 сентября 2005г.); Х-ой Международной конференции и Российской научной школе (научный центр "АССОНИКА"): "Системные проблемы надежности, качества, информационных и электронных технологий: Инноватика-2005" (г.Сочи, 3-14 октября 2005г.); V-ой Международной научно-методической конференции: "Дистанционное обучение - образовательная среда XXI века" (Белоруссия, г.Минск, 10-11 ноября 2005г.); Х-ой и ХП-ой региональных конференциях молодых исследователей Волгоградской области по направлению "Компьютерное и информационное обеспечение теоретических и прикладных задач (г. Волгоград, 8-11 ноября 2005-2006гг.); Всероссийской конференции студентов, аспирантов и молодых ученых: "Технологии Microsoft в теории и практике программирования" (г.Москва, 2-3 марта 2006г.); Всероссийской конференции студентов, аспирантов и молодых ученых: "Технологии Microsoft в теории и практике программирования"(г.Нижний Новгород, 21-22 марта 2006г.); "Научной сессии МИФИ-2006: Интеллектуальные системы" (г.Москва, 2006г.); VI-ой международной конференции "Информационные технологии в образовании, медицине и технике" (г.Волгоград, 2006г.); IV-ой всероссийской конференции "Прогрессивные технологии в обучении и производстве" (г.Камышин, 2006г.); "Научной сессии МИФИ-2007: Интеллектуальные системы" (г.Москва, 2007г.); IV-ой международной научно-практической конференции "Интегрированные модели и мягкие вычисления в искусственном интеллекте" (г.Коломна, 28-30 мая 2007г.); Joint International Scientific Events on Informatics - ITA2008, "International Conference on Intelligent Information and Engineering Systems - INTOS2008"(r.BapHa, 23 июня - 03 июля 2008г.).

Работа "Естественно-языковое проектирование программного обеспечения. Формализация технического задания" удостоена дипломом третьей степени на Х-ой Региональной конференции молодых исследователей Волгоградской области (2005г.), "Автоматизированное проектирование программного обеспечения по тексту технического задания" дипломом за активное участие в конференции аспирантов и молодых ученых "Технологии

Microsoft в теории и практике программирования" (2006г.), а работа "Подсистема предварительной обработки текста" удостоена поощрительной грамоты на XI-ой Региональной конференции молодых исследователей Волгоградской области (2006г.).

Автор является победителем программы "Участник молодежного научно-инновационного конкурса" (У.М.Н.И.К. - 2008).

По теме диссертации опубликовано 27 работ, в том числе: 4 статьи опубликованы в изданиях, входящих в перечень ВАК; 2 статьи в международных журналах; 12 статей в сборниках трудов; 9 материалов конференций.

Структура и содержание диссертационной работы.

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

Заключение диссертация на тему "Автоматизация семантического анализа текста технического задания"

4.6 Основные результаты и выводы к главе 4

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

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

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

В данной главе будет проведена комплексная проверка предложенной методики и алгоритмов, приведена оценка эффективности предложенной методики. В полном объеме пример представлен в приложении Д.

5.1 Техническое задание на систему расчета локальной сети

1. Наименование и область применения

Полное наименование программы - "Автоматизированная система расчета локальной сети".

Краткое наименование программы - "Проектировщик сети".

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

2. Основание для разработки

Основанием для разработки является приказ N1 от 01.01.01 по отделу программных разработок корпорации Имярек.

3. Назначение разработки

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

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

4. Технические требования к программному изделию

4.1. Требования к входным и выходным данным

4.1.1. Входные данные

На входе система должна получать следующие данные: Целое число "Количество компьютеров"

Массив целых чисел "Расстояния между компьютерами" Число "Стоимость дополнительных затрат при прокладке кабеля между компьютерами"

Число "Стоимость аппаратурных единиц"

4.1.2. Выходные данные

На выход система должна выдавать информацию: Массив строк "Требуемые аппаратные средства" Массив целых чисел "Последовательность соединения компьютеров в сети"

Число "Сумма на закупку требуемой аппаратуры"

4.2. Требования к функциональным характеристикам

Система должна выполнять следующие функции:

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

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

5. Стадии и этапы разработки

Проектирование программы происходит следующим образом: а) Разработка технического задания; б) Разработка технического проекта; в) Тестирование и подготовка программной документации; г) Ввод в эксплуатацию.

6. Технико-экономические показатели

6.1. Эффективность создания и внедрения

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

6.2. Экономическая эффективность

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

7. Порядок контроля и приёмки

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

Заключение

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

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

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

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

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

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

5. Разработанные формализмы, методика и алгоритмы реализованы в виде системы автоматизации начального этапа проектирования программного обеспечения "СемантикаТЗ" на платформе Microsoft .NET Framework 2.0 (язык разработки С#) с использованием визуальной среды программирования Visual Studio 2005. Построение диаграмм потоков данных осуществляется в MS Visio.

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

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

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

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

Библиография Орлова, Юлия Александровна, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Алгоритмы оптимизации проектных решений/ под ред. А.И Половинкина.- М.: Энергия, 1976.- 150 с.

2. Апресян, Ю.Д. Избранные труды. В4т.Т.1. Лексическая семантика/ Ю.Д.Апресян.- 2-е изд., испр. и доп.- М.: Восточная литература, 1995.- 472 с.

3. Апресян, Ю.Д. Лингвистическое обеспечение системы ЭТАП-2/ Ю. Д. Апресян, И. М. Богуславский, Л. Л. Иомдин и др. М.: Наука, 1989.- 296 с.

4. Брукс, Ф.П. Как проектируются и создаются программные комплексы: мифический человеко-месяц: очерки по систем, программир./ Ф.П. Брукс; пер. с англ. Н.А. Черемых; под ред. Ершова,- М.: Наука, 1979.- 151 с.

5. Бутенко, Л.Н. Техническое творчество: теория, методология, практика, энциклопедический словарь-справочник/ Л.Н. Бутенко, A.M. Дворянкин, В.А. Камаев и др.; под ред. А.И. Половинкина, В.В. Попова.- М.: НПО "Информ-систем", 1995. 408 с.

6. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++/ Г. Буч.- 2-е изд.- М.: Издательство Бином, СПб: Невский диалект, 1998.- 560 с.

7. Вагин В.Н., Головина Е.Ю., Загорянская А.А., Фомина М.В. Достоверный и правдоподобный вывод в интеллектуальных системах/ Под редакцией В.Н. Вагина, Д.А.Поспелова.- М.: Физматлит, 2007

8. Вендров А. М. Проектирование программного обеспечения экономических информационных систем/ А. М. Вендров.- М.: Финансы и статистика, 2005

9. Выготский, Л.П. Мышление и речь/ Л.П. Выготский.- М.: Лабиринт, 1999.-416 с.

10. Гвенцадзе, М.А. Коммуникативная лингвистика и типология текста/ М.А. Гвенцадзе.- Тбилиси: Ганатлеба, 1986.- 316 с.

11. Гийом, Г. Принципы теоретической лингвистики/ Г. Гийом.- М.: Культура, 1992.- 218 с.

12. Гильберт, Д. Основания математики. Теория доказательств: пер. с нем./ Д. Гильберт, П. Бернайс,- М.: Наука, 1982 — 652с.

13. Гладкий, А.В. Синтаксические структуры естественного языка в автоматизированных системах общения/ А.В. Гладкий.- М.: Наука, 1985.- 144с.

14. Дворянкин, A.M. Основы трансляции: учеб. пособие/ A.M. Дворянкин; ВолгГТУ.-Волгоград, 1997.- 80с

15. Диксон, Д. Проектирование систем: изобретательство, анализ, принятие решений: пер. с англ./ Д. Диксон.- М.: Мир, 1989.- 440 с.

16. Дракин, В.И Общение конечных пользователей с системами обработки данных/ В.И Дракин., Э.В. Попов, А.Б. Преображенский.- М.: Радио и связь, 1988.- 288 с.

17. Ермаков А.Е. Автоматическое извлечение фактов из текстов досье: опыт установления анафорических связей/ Компьютерная лингвистика и интеллектуальные технологии: труды Международной конференции Диалог'2007. Москва, Наука, 2007

18. Заболеева-Зотова, А.В Анализ семантической структуры и реферирование текстов на естественном языке: матер, междун. науч.-техн. конф.- М.: Изд-во Физ-мат литературы, 2003.- 226 с.

19. Заболеева-Зотова, А.В Введение в системологию/ А.В Заболеева-Зотова; ВолгГТУ.- Волгоград, 1999.- 109 с.

20. Заболеева-Зотова А.В Естественный язык в автоматизированных системах. Семантический анализ текстов/ А.В Заболеева-Зотова; ВолгГТУ.-Волгоград: РПК "Политехник", 2002.- 228 с.

21. Заболеева-Зотова, А.В. Лингвистические системы: модели, методы, приложения: монография/ А.В Заболеева-Зотова; ВолгГТУ.- Волгоград: РПК "Политехник", 2004.- 220 с.

22. Заболеева-Зотова, А.В. Подсистема предварительной обработки текста технического задания / Научная сессия МИФИ-2007: сб. науч. тр. В 17 т. Т. 3. Интеллектуальные системы и технологии /Моск. инж. физ. институт (гос. ун-т) и др.- М., 2007.- С.162-163.

23. Заболеева-Зотова, А.В Естественно-Языковое сопровождение процесса проектирования программных продуктов / А.В.Заболеева-Зотова,

24. Ю.А.Орлова // Дистанционное обучение — образовательная среда XXI века: матер. V Междунар. науч.-метод. конф., (10-11 ноября 2005 г.) / Белорус, гос. ун-т информатики и радиоэлектроники.- Минск, 2005.- С. 229-232.

25. Зализняк, А.А. Русское именное словоизменение/ А.А. Зализняк.- М.: Наука, 1967.- 153 с.

26. Камаев, В.А. Технологии программирования: учебник/ В.А. Камаев, В.В. Костерин.- М.: Высш.шк., 2005.- 359с.

27. Карл И. Вигерс Разработка требований к программному обеспечению/ Карл И. Вигерс.- М.: Русская редакция, 2006.- 576с.

28. Карпилович, Т.П. Алгоритмы порождения предложений естественного языка (обзор и анализ)/ Т.П. Карпилович.- Минск, 1977.- 300 с.

29. Кибрик, А.Е. Константы и переменные языка/ А.Е. Кибрик.- СПб.: Алетейя, 2003.- 720 с.

30. Киров, Е.Ф. Теоретические проблемы моделирования языка/ Е.Ф. Киров.- Казань.: Изд-во Казан, ун-та., 1989.- 255 с.

31. Клини, С. Введение в метаматематику: пер. с англ./ С. Клини.- М.: ИЛ, 1957.- 526 с.

32. Клир, Дж. Системология. Автоматизация решения системных задач: пер. с англ./ Дж. Клир.- М.: Радио и связь, 1990.- 544 с.

33. Компьютерная лингвистика и интеллектуальные технологии: Труды международной конференции «Диалог 2007» (Бекасово, 30 мая 3 июня 2007 г.) / Под ред. JI.J1. Иомдина, Н.И. Лауфер, А.С. Нариньяни, В.П. Селегея. - М.: Изд-во РГГУ, 2007. 658 е.: ил.

34. Котов, Р.Г. Прикладная лингвистика и информационная технология/ Р.Г. Котов.- М.: Наука, 1987.- 161 с.

35. Кречетова, Т. В. Формальный аппарат лингвистических описаний для систем понимания текста на естественном языке/ Т. В. Кречетова// Сборник трудов 12 Международной научной конференции, Новгород, 1999 г./ Новгород. Гос. ун-т.- Новгород, 1999.- С. 65-68.

36. Кулагина, О.С., О проблемах автоматической обработки текстов на естественном языке/ О.С. Кулагина// Интеллектуальные системы.- 1996.- Т.1, вып. 1-4.-С. 109-116.

37. Кустова Г.И., Ляшевская О.Н., Падучева Е.В., РахилинаЕ.В. Семантическая разметка лексики в Национальном корпусе русского языка: принципы, проблемы, перспективы // Национальный корпус русского языка: 2003-2005. Результаты и перспективы. М.: 2005.

38. Лурия, А.Р. Язык и сознание/ А.Р. Лурия; под ред. Е.Д. Хомской.-Ростов-на-Дону: Феникс, 1998.- 416 с.

39. Мальковский, М. Г. Диалог с системой искусственного интеллекта/ М.Г. Мальковский.- М.: МГУ, 1985.- 214 с.

40. Мальковский, М.Г. Лингвистический процессор в составе системы распознавания речи/ М.Г. Мальковский, И.А. Волкова, П.В. Благовещенский //Интеллектуальные системы.- 1996.- Т.1, вып. 1-4.- С. 67-78.

41. Мальцев, А.А. Алгебраические системы/ А.А. Мальцев.-М.: Наука, 1970.- 392с.

42. Мамиконов, А.Г. Модели и системы проектирования информационного обеспечения АСУ/ А.Г. Мамиконов, А.Н. Пискунова, А.Р. Цвиркун.- М.: Статистика, 1978.- 374 с.

43. Марков, В.А. Фреймы/ В.А. Марков.- М.: АН СССР, 1954.- 374 с.

44. Мельчук, И. А Опыт теории лингвистических моделей "Смысл<^>Текст". Семантика, синтаксис/ И.А. Мельчук.- М.: Наука, 1974.- 436 с.

45. Минский, М. Фреймы для представления знаний/ М. Минский.- М., 1975.- 184 с.

46. Моделирование языковой деятельности в интеллектуальных системах/ Под. ред. А.Е. Кибрика, А.С. Нариньяни.- М.: Наука, 1987.- 280 с.

47. Морфологический анализ научного текста на ЭВМ/ АН СССР, Ин-т языковедения им А.А. Потебки.- Киев: Наук, думка, 1989.- 262 с.

48. Невзорова, О.А. Машинное обучение и задачи обработки естественного языка/ О.А. Невзорова// Новости искусственного интеллекта. — 1998.- №1.- С.35-42.

49. Нильсон, Н. Принципы искусственного интеллекта/ Н. Нельсон.- М.: Радио и связь, 1985.- 634 с.

50. Норенков И. П. Основы автоматизированного проектирования/ И. П.Норенков.- М.: МГТУ им. Н.Э. БАУМАНА, 2006.- 450 с.

51. Искусственный интеллект. Системы общения и экспертные системы: справочник/ под ред. Э.В. Попова.- М.: Радио и связь, 1990.- 464 с.

52. Искусственный интеллект. ВЗт. Т.2. Модели и методы: справочник/ Под ред. Э.В. Попова.- М.: Радио и связь, 1990.- 464 с.

53. Половинкин, А.И. Методы инженерного творчества/ А.И. Половинкин.- Волгоград: ВолгПИ, 1984.- 365 с.

54. Половинкин, А.И. Основы инженерного творчества/ А.И. Половинкин.- М.: Машиностроение, 1988. 368 с.

55. Поляков, В.Н. Синтез формальных моделей языка и смысла как проблема семантической обработки естественного языка/ В.Н. Поляков// Новости искусственного интеллекта.- 1997.- №1.- С. 23-34.

56. Попов, М.Ю. Концепция системы семантического анализа текста/ М.Ю. Попов, А.В. Заболеева-Зотова// Труды Международного семинара Диалог'2002 по компьютерной лингвистике и ее приложениям.-2002.- №1,- С. 32-36.

57. Попов, М.Ю. Реализация семантико-семантического анализатора естественного языка в системе классификации полнотекстовых текстов/ М.Ю. Попов, А.В. Заболеева-Зотова, С. А. Фоменков// Успехи современного естествознания,- 2004.- №5.- С. 87-89.

58. Попов, Э.В. Общение с ЭВМ на естественном языке/ Э.В. Попов.- М.: Наука, 1982.- 360 с.

59. Поспелов, Д.А. Логико-лингвистические модели в системах управления/ А.Д. Поспелов.- М.: Энерго, 1981.-231 с.

60. Пранц, М.Г. ТАСС — диалоговая система обработки текста: разработка и применение лингвистических процессоров/ М.Г. Пранц; ВЦ ОС АН СССР.-Новосибирск, 1983.- 115 с.

61. Преображенский, А.Б. Состояние развития систем естественноязыкового общения/ А.Б. Преображенский.- М.: Радио и связь, 1990.- 395 с.

62. Прикладные нечеткие системы: Перевод с япон./ К. Асаи, Д. Ватада, С. Иваи и др.; под ред. Т. Тэрано, К. Асаи, М. Сугено. М.: Мир, 2006.

63. Процессор автоматизированного морфологического анализа без словаря Диалог.- [2001].- Режим доступа: http://www.dialog-21 .ru/Archive/2000/ Dialogue 2000-2/284.htm

64. Серебряков, В.А. Лекции по конструированию компиляторов/ В.А. Серебряков.- М.: Москва, Д993.- 180 с.

65. Системы автоматизированного проектирования. В9т. Т.4. Математические модели технических объектов/ под ред. И.П.Норенкова.- М.: Высш. шк., 1986.- 160с.

66. Системы автоматизированного проектирования. В9т. Т.5. Автоматизация функционального проектирования/ под ред. И.П.Норенкова.-М.: Высш. шк., 1986.-160с.

67. Системы автоматизированного проектирования. В9т. Т.9. Иллюстрированный словарь/ под ред. И.П.Норенкова.- М.: Высш. шк., 1986.159 с.

68. Системы автоматизированного проектирования. В9т. Т.1. Принципы построения и структура/ под ред. И.П.Норенков.- М.: Высш. шк., 1986.- 127с.

69. Старостин С.А., Мальковский М.Г. Модель синтаксиса в системе морфосинтаксического анализа «Treeton» // Компьютерная лингвистика и интеллектуальные технологии: Труды международной конференции «Диалог 2006». М.: Изд-во РГГУ, 2006. С. 481-492.

70. Технология системного моделирования/ Е.Ф. Аврамчук, А.А. Вавилов, С.В. Емельянов и др., под общ. ред. С.В. Емельянова и др.- М.: Машиностроение, 1988.- 520 с.

71. Финн, В. К. О машинно-ориентированной формализации правдоподобных рассуждений в стиле Бэкона-Милля/ В.К. Финн// Семиотика и информатика.- 1983.-№20.- С.35-101.

72. Хомский, Н. Формальные свойства грамматик/ Н. Хомский // Кибернетика.- 1966.- №2.- С. 121-130.

73. Хомский, Н. Язык и мышление/Н. Хомский.- М.: МГУ, 1972.- 159 с.

74. Хомский, Н. Язык и проблемы знания/ Н. Хомский // Вестник МГУ. Сер.9.Филология.- 1995.- №4.-С.130-157.

75. Цейтин, Г.С. К вопросу о построении математических моделей языка/ Г.С. Цейтин// Тезисы Совещания по математической лингвистике/ ЛГУ.-Л., 1959.- 45 с.

76. Шенк, Р. Обработка концептуальной информации: пер. с англ./ Р. Шенк.- М.: Мир, 1987.- 274 с.

77. Шенк, Р. Познать механизмы мышления: реальность и прогнозы искусственного интеллекта: пер. с англ./ Р. Шенк.- М.: Мир, 1987.- 156 с.

78. Antidze, Mishelashvili. Software Tools for morphological and Syntactic Analyses of Natural Language Texts, Proceedings of the conference III Georgian Language and Computer Technologirs, Tbilisi, 2005.

79. Amardeilh F. "Semantic Annotation & Ontology Population", In Semantic Web Engineering in the Knowledge Society, Cardoso Jorge and Lytras Miltiadis D. (Eds), Idea Group Reference, 2008.

80. Benoit Marchal, XML by Example. Indianapolis, IN: Que, 2006.

81. Gill A.J., French R.M. Level of representation and semantic distance: Rating author personality from texts. Proceedings of the Second European Cognitive Science Conference (EuroCogsci07), Delphi, Greece, May 2007.

82. Howard GregorySemantic/ Paperback: Routledge, 2006. PP. 104.

83. Joski, A.K. An introduction to TAG. Mathematics of language/ A.K. Joski// International journal: computers and mathematics with application.- 1992.-№2-5.-P. 87-115.

84. Kamsay, A. Computer-aided syntactic description of language systems/ A. Kamsay// Computational linguistics. An international handbook on computer-oriented language research and applications.- Boston: Walter de Giuyter, 1989.-P.204-218

85. PalaK. Word Sketches and Semantic Roles // Труды международной конференции «Корпусная лингвистика-2006». СПб.: Изд-во С.-Петерб. ун-та, 2006. С. 307-317.

86. Pitrat, J. Using declarative knowledge for understanding natural language/ J. Pitrat// Natural language parsing systems.- Berlin: Springer-Verlag, 1987.-P. 93-136.

87. Rene Witte, Qiangqiang Li, Yonggang Zhang and Juergen Rilling. Text Mining and Software Engineering: An Integrated Source Code and Document Analysis Approach. IET Software Journal, Volume 2, Issue 1, 2008, pp.3-16.

88. Reyle, U. Natural language parsing and linguistic theories/ U. Reyle.-Berlin: Rohrer Dordrecht, 2008.- 625 p.

89. Savitch, W.I. A formal method for context-free languages augmented with reduplication/ W.I. Savitch// Computational linguistics.-1989.- №4,- P.250-261.

90. Seki Y. Automatic summarization focusing on document genre and text structure. Doctoral abstract // ACM SIGIR Forum, №39(1). New York, 2005.

91. Stroustrup, B. An Overview of С++/ B. Stroustrup //ACM SIGPLAN Notices.- 1986.- № 8.- P. 7-18.

92. Tablan V., Damljanovic D. and Bontcheva K. "A natural language query interface to structured information"/ In Proceedings of the 5th European Semantic Web Conference (ESWC 2008).- Tenerife, Spain, June, 2008.

93. Thiel, M. Weighted parsing/M. Thiel// Natural language parsing systems.-Berlin: Springer-Verlag, 1987.-P. 137-160.