Содержание к диссертации
Введение
Глава первая. Формализация понятийной деятельности в ООАП. 13
1.1 Формирование нормативных проектных решений в разработках АС 13
1.2 Тематический обзор методов и средств формализации проектных документов 29
1.2.1 Системы управления проектированием АС 29
1.2.2 Средства автоматизированного анализа требований 33
1.2.3 Языки формальных спецификаций и средства их обработки 37
1.2.3.1 Языки формальных спецификаций алгебраической семантики 40
1.2.3.2 Языки формальных спецификаций моделеориентированной семантики 44
1.2.3.3 Графические языки проектирования САПР 46
1.2.3.4 Языки исполнимых спецификаций 47
1.3 Семантические представления принимаемых решений средствами языка предикатов первого порядка 50
1.3.1 Вопросно-ответное моделирование рассуждений 50
1.3.2 Место формализации в QA-подходе к проектной деятельности 53
1.4 Задача исследований и разработок системы средств оперативной формализации проектных решений... 59
1.4.1 Обобщённая формулировка задачи исследований 59
1.4.2 Вопросно-ответный анализ задачи исследований 60
1.5 Выводы по ПЕРВОЙ ГЛАВЕ 69
Глава 2. Прологоподобная формализация в концептуальном проектировании. 71
2.1 Модели предложений естественно-профессионального языка 71
2.1.1 Модели предложений русского языка 75
2.1.2 Модели предложений английского языка 84
2.2 Язык прологоподобной формализации 95
2.3 Выводы по ВТОРОЙ ГЛАВЕ 100
Глава третья. Методики решения зада ч опера тивной формализации 102
3.1 Место оперативной формализации в QA-процессе концептуального проектирования .102
3.1.1 Концептуальные модели 102
3.1.2 Вопросно-ответные модели 104
3.1.3 Операционная обстановка рабочего словаря 109
3.1.4 Динамика процессов сборки 113
3.2 Задачи оперативной формализации проектных решений 117
3.2.1 Структуризация действий 117
3.2.2 Распознавание переводных соответствий 121
3.2.3 Задача преобразования многосоставных сложных предложений 126
3.2.3.1 Конструкции с однотипной синтаксической связью 127
3.2.3.2 Конструкции с комбинированной синтаксической связью 128
3.3 Методики «Рабочего Словаря» 129
3.4 Методики «Логического Процессора» 138
3.5 Оценка повышения степени обнаружения ошибок 142
3.6 Выводы по третьей главе 145
ГЛАВА 4. Комплекс средств оперативной формализации 147
4.1 Подсистема «Рабочий Словарь» 147
4.1.1 Описание логической структуры. Алгоритмы программы 147
4.2 Программная реализация компонента «Рабочий Словарь» 153
4.2.1 Состав программного комплекса 153
4.2.2 Интерфейс пользователя 155
4.2.3 Диаграммы классов 161
4.2.4 Структура базы данных «Рабочего Словаря» 163
4.3 Логическая структура «Логического Процессора» 165
4.3.1 Запуск «Логического процессора» из «Рабочего Словаря» 165
4.3.2 Структура программных модулей «Логического процессора» 165
4.3.3 Описание таблиц базы данных Логического Процессора 166
4.3.4 Основные этапы построения формулы сложного предложения 166
4.3.4.1 Разбор сложного предложения на пары главных и зависимых предложений 166
4.3.4.2 Выявление типов логических связен между простыми предложениями в парах 168
4.3.4.3 Выбор шаблона формулы логики предикатов для пары 168
4.3.4.4 Составление обобщенной формулы на языке логики предикатов для сложного предложения 169 4.3 Интерфейс пользователя 169
4.5 Выводы по ЧЕТВЕРТОЙ ГЛАВЕ 173
Заключение... '. 175
Список литературы
- Тематический обзор методов и средств формализации проектных документов
- Семантические представления принимаемых решений средствами языка предикатов первого порядка
- Операционная обстановка рабочего словаря
- Программная реализация компонента «Рабочий Словарь»
Введение к работе
Одной из принципиальнейших проблем современной программной инженерии считается чрезвычайно низкая степень успешности (около 30%) разработок автоматизированных систем (АС), интенсивно использующих программное обеспечение (ПО).
Основными источниками негативных воздействий на процессы разработки АС и результаты таких процессов являются ошибки в формулировках требований и определении спецификаций, неприемлемая степень неопределённостей в формулировках требований, дефекты и пропуски в систематизации требований и спецификаций, а также родственные названным причинам негативы в архитектурных описаниях АС и деталях концептуального проекта.
У всех отмеченных негативных воздействий на степень успешности разработок АС есть общая причина, связанная, во-первых, с максимально свободным употреблением естественно-профессионального языка (ЕПЯ), способствующим творческим проектным решениям, а во-вторых, обусловленная свободой высокая степень неоднозначности употреблений ЕПЯ в рассуждениях проектировщиков и описаниях проектных решений, которые ими создаются.
Препятствовать свободному употреблению ЕПЯ в актах принятия проектных решений нельзя, а значит, регистрируя рассуждения и тексты, использованные в построениях проектных решениях, затем их следует обрабатывать, нацеливая обработку на снижение негативных воздействий, отмеченных выше.
Одним из направлений обработки считают использование специальных искусственных языков, позволяющих повысить степень определённости в описаниях требований, ограничений, архитектурных решений и других деталей концептуального проекта. К числу таких языков относятся, например, OBJ (алгебраическая нотация), SDL, Estelle (исполнимые спецификации), Z, В
(моделе-ориентированная нотация), UML, DFD, Сети Петри (графические языки).
Использование в практике программной инженерии большого количества формальных языков указывает на то, что, во-первых, вопросы, связанные с унифицированными средствами формализации проектных решений пока ещё не получили необходимых ответов и, во-вторых, что исследования в области формализации проектных решений сохраняют свою актуальность.
Интересы диссертационной работе сосредоточены на оперативной формализации проектных решений, порождаемых в коллективной разработке АС. Оперативность формализации подразумевает пошаговое построение формальных описаний для проектных решений, связанных с построением структурированных концептуальных моделей АС или её частей.
Область исследований. Инструментально-технологическое обеспечение работ по формированию требований к АС, определению спецификаций АС и её составляющих, построению архитектурных описаний АС и других деталей её концептуального проекта.
В диссертационной работе сформулирована и решена задача, которая вносит в представленную область исследований новые теоретические и практические результаты. На формулировку постановку задачи исследований оказали влияние выбор и определения объекта и направления исследований.
Функции объекта исследований было решено возложить на методы и средства формализации проектных решений в корпоративных средах автоматизированного проектирования АС.
Направление исследований в работе связано с оперативной формализацией проектных решений, позволяющей накапливать составляющие формального описания по ходу построения и естественно-языкового описания частей структурированных проектных решений
Предметом исследований диссертационной работы являются средства
оперативной формализации, построенные на основе имитации машинного
перевода текстовых описаний проектных решений и их составляющих и приводящие к повышению степени успешности разработок АС, в первую очередь за счёт своевременного обнаружения и исправления ошибок в описаниях решений.
Цель исследований направлена на создание комплекса средств оперативной формализации проектных решений, использующего автоматизированный перевод естественно-языковых описаний на прологоподобный язык семантики в такой версии, которая позволяет снизить расходы на разработку АС, сократить время разработки, повысить её результативность и качество.
Для достижения намеченной цели потребовалось решение следующих задач:
Разработать язык оперативной формализации L , удобный для проектировщиков и позволяющий автоматизировать переход от описаний проектных решений на ЕПЯ к прологоподобному языку Lp их семантики, причём с возможностью автоматизированной коррекции исходных ЕПЯ-описаний.
Разработать и исследовать метод оперативной формализации проектных решений, сущность которого определяет автоматизированная имитация машинного перевода, вводящая в процесс концептуального проектирования АС ряд положительных эффектов.
Разработать набор методик, обеспечивающих решение задач оперативной формализации проектных решений в рамках вопросно-ответной модели технологий разработки АС.
Разработать комплекс инструментально-технологических средств, обеспечивающий реализацию оперативной формализации проектных решений в рамках технологий разработки АС.
На научную новизну претендуют:
1. Язык оперативной формализации проектных решений L , в основу
которого положена система моделей сложных предложений естественно-профессионального языка, для каждой из которых существует адекватный эквивалент языка логики предикатов первого порядка, что позволяет автоматизировать процесс оперативной формализации проектных решений по ходу их построения.
Метод оперативной формализации проектных решений, применение которого осуществляется в форме автоматизированной имитации машинного перевода описаний проектных решений с естественно-профессионального языка на прологоподобный язык их семантики, что способствует оперативному выявлению ошибок в решениях и их своевременной коррекции, а также снижению степени неопределённости проектных решений в актах понимания и актах материализации по ходу жизненного цикла АС.
Библиотека переводных грамматических соответствий,
определяющая для каждого типового сложного естественно-языкового предложения, состоящего из двух простых предложений, его эквивалент на языке логики предикатов первого порядка, применение которой не требует специальных лингвистических знаний от лица, проводящего оперативную формализацию проектных решений.
4. Набор методик оперативной формализации проектных решений,
обеспечивающий рациональную реализацию метода оперативной формализации, в том числе и в тех случаях, когда общее формальное описание проектного решения накапливается шаг за шагом из результатов оперативной формализации для составляющих этого решения.
Методы исследований основаны на использовании методов машинного перевода, логики предикатов, теории и практики автоматизированного проектирования, методологии объектно-ориентированного анализа, проектирования и программирования.
Достоверность полученных результатов обеспечивается использованием
достоверных знаний, методов и средств из логики,, теории машинного перевода,
прикладной информатики и программной инженерии. Практический вклад в достоверность подтверждается включением разработанных средств в опытно-конструкторскую разработку.
Теоретическую значимость исследования определяют:
Исследования грамматик русского и английского языков, позволившие для каждого из этих языков построить представительную коллекцию переводных соответствий между сложными предложениями из двух простых предложений и их аналогами на языке логики предикатов первого порядка.
Обоснования метода оперативной формализации проектных решений, открывающего возможность для лица, не обладающего специальными лингвистическими знаниями, произвести переход от естественно-языковых описаний проектных решений к формальным описаниям их семантики на прологоподобном языке.
Практическую ценность работы составляет разработанный комплекс средств оперативной формализации, позволяющий формировать для каждого проектного решения связную совокупность его естественно-языкового и первопорядкового описаний, а при необходимости и его графического описания.
Основные положения, выносимые на защиту:
Грамматика языка оперативной формализации проектных решений, в которой используются только модели сложных предложений, состоящих из двух простых предложений, дополненная правилами преобразования любых сложных предложений в грамматику языка L*, имеет потенциал, достаточный для формализации любых описаний проектных решений в разработке АС.
Метод оперативной формализации проектных решений, адаптированный к его пошаговому применению в корпоративной сети, позволяет осуществлять согласованную формализацию проектных решений группой проектировщиков АС.
Реализация и внедрение результатов работы. Разработанные программные средства и комплекс методик включены в ОКР, выполненную в ФНПЦ ОАО «НПО «Марс».
Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на следующих конференциях: «Interactive Systems», 2003г. (г. Ульяновск), «Вузовская наука в современных условиях», 2004г., 2006 г. (г. Ульяновск, УлГТУ), «Континуальные алгебраические логики, исчисления и нейроинформатика в науке и технике», 2004г. (г. Ульяновск), «Проблемы лингвистики, лингводидактики и межкультурной коммуникации», 2004 г. (г. Ульяновск), «Interactive Systems And Technologies», 2005г. (г. Ульяновск), «Актуальные задачи лингвистики, лингводидактики и межкультурной коммуникации», 2006 г. (г. Ульяновск), «Информационно-математические технологии в экономике, технике и образовании», 2006г. (г. Екатеринбург).
Объем и структура работы. Диссертационная работа состоит из введения, четырёх глав с выводами, заключения, библиографического списка использованной литературы.
Во введении обоснована актуальность темы, сформулированы цель и задачи исследования.
В первой главе определяется место формализации в процессе
концептуального проектирования, определяется место формализации
проектных решений в работах по проектированию автоматизированных систем,
интенсивно использующих программное обеспечение, и рассмотрены
последствия пренебрежительного отношения к этому этапу. Проводится
обобщенный анализ области исследования, рассмотрен ряд российских и
международных стандартов, представлены результаты аналитического обзора.
Раскрывается специфика вопросно-ответного подхода в концептуальном
проектировании, и представляются результаты его применения к анализу
обощенной постановки задачи диссертационного исследования,
сформулированной на основании результатов аналитического обзора и
предложенной в диссертационном исследовании идеи об использовании имитации машинного перевода в автоматизированной формализации проектных решений.
Вторая глава связана с построениями и обоснованиями языковых средств, обеспечивающих осуществление оперативной формализации проектных решений с помощью имитации машинного перевода. В построениях применяется подход к автоматизированному переводу на базе специального класса предикатных моделей предложений естественно-профессионального языка L . Выявление предикатных моделей сложных предложений выбранного класса проведено для двух естественных языков — русского и английского. Источником информационного материала для построения коллекции предикатных моделей послужил ряд отечественных исследований в области синтксиса русского и английского языков. Кроме того, результаты анализа их грамматик и последующего сопоставления позволили специфицировать грамматику языка L .
В третьей главе представляются место и роль оперативной формализации проектных решений в их концептуальном моделировании. Для демонстрации необходимых действий приводится обобщённый пример формализации, выделяются задачи формализации, определяется метод оперативной формализации, в том числе, и на уровне его методик. При определении места и роли формализации основное внимание уделяется «Рабочему словарю», а также связанным с ним компонентам лингвистического и логического анализа текстов преоктных решений. Для оценки степени повышения обнаружения ошибок в проектных решениях за счёт использования средств оперативной формализации решена задача для потоков входных и обнаруженных ошибок пуассоновского типа.
В четвертой главе представляются результаты диссертационной работы,
которые доведены до состояния их использования в практике разработок АС.
Раскрыты детали реализации подсистем «Рабочего Словаря», а также
специальной компоненты, обеспечивающей преобразование прологоподобных
описаний классов в коды на алгоритмических языках Object Pascal и C++. В деталях реализации «Рабочего Словаря» выделены его структура, обеспечивающая взаимодействие со словарём по его базовым функциональностям, структура его раздела в базе данных проекта, а также интерфейсные решения, согласованные с интерфейсами вопросно-ответного процессора NetWIQA.
В приложениях приведены справка о внедрении результатов работы, сопоставительная таблица грамматических особенностей и принципов построения формул для двух ЕЯ (русского и английского), схемы перевода многосоставных предложений ЕЯ в связные пары, коллекция правил переводных соответствий, примеры формализации текстов проектных решений и концептуальных диаграмм, таблицы лингвистической базы, используемые в реализации программных решений, а также детали автоматизированного формирования программных объектов.
Тематический обзор методов и средств формализации проектных документов
В первой главе работы были рассмотрены технологии извлечения и формирования СТ, а также принципиальное значение применения этих технологий в разработках АС, интенсивно использующих ПО. Особое внимание обращалось на тот факт, что процесс извлечения и документирования бизнес требований все еще осуществляется посредством личных дискуссий бизнес-аналитика и пользователя о функциональных возможностях проектируемой системы. Однако, наблюдаемое увеличение масштабов и усложнение проектов в области ИТ, с возрастающими претензиями к безопасности и производительности, неизбежно усложняются и увеличиваются в объемах документы требований. В данном разделе рассмотрены популярные инструменты по работе с требованиями, которые поддерживают большинство задач в процессах инжиниринга требований, таких как извлечение, анализ и управление. Кроме того, есть возможность контроля объема работ, управления версиями и конфигурацией, поддержка и контроль качества, поддержка многопользовательского режима [146].
Borland s CaliberRM. Корпоративная система управления требованиями, предназначенная для улучшения взаимодействия между участниками проекта, упрощения анализа влияний и процесса передачи информации в сфере управления изменениями исходных требований [8, 40]
К возможностям и преимуществам системы CaliberRM можно отнести следующие: Рис. 1.5 Работа с требованиями. Взгляд Borland
- Легкое получение и изложение визуальных сценариев, что обеспечивает общий язык для всех участников проекта.
- Наличие центрального репозитария с защищенным доступом к данным для хранения проектных требований. Все запрашиваемые требования предоставляются пользователям в наглядном виде в целях обнаружения ошибок на ранних этапах жизненного цикла разработки приложения. Таким образом, CaliberRM создает благоприятные возможности для сотрудничества между всеми членами проектных групп, способствуя повышению качества проекта
- Возможность участия в интерактивных дискуссиях: интерактивные дискуссии помогают получить важную информацию, которую не всегда можно найти на совещаниях или в электронных сообщениях. При этом каждый раз новые знания связываются с соответствующими требованиями.
- Возможность генерировать прецеденты BPMN и UML с целью улучшения скорости и точность разработки требований.
- Управление и сопровождение требований ПО на протяжении всего жизненного цикла, оценка воздействия и быстрое реагирование на когда- либо-изменяющие требования
- Уведомления о важных изменениях: безотлагательные уведомления об изменениях в проектных требованиях предназначаются ответственным пользователям, чтобы предупредить их удивление, когда эти изменения станут очевидными в последующих циклах разработки.
- Сортировка требований и назначение приоритетов: представления требований в электронных таблицах позволяют сортировать и назначать приоритеты в соответствии с установленными затратами и/или стоимостью; представления могут быть созданы на основе любых данных, собранных для удобства управления требованиями.
- Фиксация базовых версий для оценки степени изменений: каждое требование в CaliberRM имеет собственную версию и подлежит управлению версиями; наборы требований конкретных версий составляют базовые версии в рамках системы Сравнивая базовые версии в подходящем для этой цели отчете, пользователи сразу смогут заметить, где были сделаны изменения, внесены модификации, дополнения и удаления.
Optimal Trace (Professional Edition) — система инструментов для управления проектом, которая позволяет начинать и вести проекты, основываясь на бизнес требованиях компании и выполнять их в рамках бюджета и времени.
В Optimal Trace можно видеть все изменения, а также видеть влияние изменений на связанные требования, автоматически генерировать тестовые сценарии (прототипы), что помогает уточнять требования на стадии их определения, раньше находить дефекты, автоматически связывать тесты с функциональными и нефункциональными требованиями [54, 146]. Optimal Trace - это однопользовательский инструмент для формализации и управления проектными требованиями, который представляет требования в интуитивно понятной структуре, кроме того, позволяет генерировать проектную документацию в форматах MS Word, MS Excel, на основе предопределенных шаблонов, которые легко адаптируются под стандарты компании. Документация может просматриваться и редактироваться многочисленными пользователями, в то время как требования редактируются только пользователем Optimal Trace.
Rational Requester Pro - средство управления требованиями к проекту. Позволяет разработчикам создавать, структурировать, отслеживать, контролировать изменения требований, возникающих на любом этапе разработки компонентов приложения. Преимуществом данной системы является возможность для участников групп разработки участвовать в онлайновых дискуссиях. Участие в дискуссионной группе может осуществляться через Web-, Windows-клиент и по электронной почте, причем состав участников может быть расширен за счет представителей заказчика, не использующих Requester Pro [62].
Семантические представления принимаемых решений средствами языка предикатов первого порядка
Как уже упоминалось, проблемы с пониманием и взаимопониманием в группе разработчиков, приводя к необходимости в следующих видах работ: 1. Формирование словаря проекта в рамках предметной области АС. 2. Формирование системы требований к АС, или другими словами, создание концептуального представления АС в виде чёрного ящика. 3. Формирование архитектурного представления АС как системы эталонов, обслуживающих понимание на всех этапах разработки АС. 4. Создание концептуального проекта АС, включающего все конструкты первых трёх пунктов, а также их концептуальную детализацию, достаточную для успешной работы на последующих этапах жизненного цикла АС.
Концептуальные модели, входящие в концептуальный проект, строят в рамках той или иной технологии объектно-ориентированного анализа и проектирования (ООАП), каждая из которых требует, в первую очередь, разработать объектное представление АС. Через такое представление в проект вводится система концептов (понятий и соответствующих им конструктов), без которых концептуальное моделирование невозможно.
Базовой единицей концептуальных средств является логико-лингвистический объект «концепт». Выявление концептов, необходимых для разработки АС, их логико-лингвистическое оформление, систематизация и связывание с будущей материальной реализацией АС начинается на ранних этапах проектирования, когда осуществляется анализ проблемной области АС. Формирование системы концептов, или другими словами «онтологии» процесса и результата разработки АС, является наиболее важным видом работ концептуального проектирования.
В концептуальном проектировании объекты (концепты), связанные с решаемой задачей и логические отношения между ними (концептуальные модели) определяются в форме словесных описаний. Для использования моделей в алгоритмах по обработке текстов, формирования заключений и обнаружения новых вопросов необходимо применять формальный язык, основанный на принципах математической логики. Известно, что минимальной логической системой, позволяющей описывать реальную ситуацию в формальном виде, а также позволяющей делать выводы, учитывая при этом внутреннюю структуру простых высказываний является логика предикатов первого порядка.
Логика предикатов, или, что то же самое, логика сказуемых наиболее близка к логической системе естественного языка. Логика предикатов является логикой классов, позволяющей фиксировать свойства объектов и отношения между объектами, что имеет принципиальное значение для концептуального проектирования АС, нацеленного на спецификации (свойства, отношения, ограничения) предметной области АС. Именно по этой причине большинство из языков, представленных выше в обзоре, или являются разновидностями предикатных языков или близки к ним. По названным причинам для формализации концептов и концептуальных конструкций целесообразно использовать средства логики предикатов, в первую очередь первопорядковые предикатные языки [114,124].
Заметим, что из концептов и разных версий их представлений производится сборка более сложных концептуальных конструктов, в том числе знаковых текстовых и знаковых графических (визуализированных) концептуальных моделей, например UML-диаграмм. Разместить подобные модели в БД NetWIQA и использовать их в процессах автоматизированных систем представляется возможным только в формализованном виде.
Таким образом, для развития QA-подхода предлагается расширить инструментарий в технологические процессы решения задач проектирования в системе NetWIQA, включив в эту систему средства оперативной формализации проектных решений, источниками которых служат оперативные рассуждения разработчиков. В качестве способа формализации выбрана предикативная обработка текстов, в основе которой лежит конструктивная имитация машинного перевода текстовых представлений принимаемых решений на язык семантики прикладной логики предикатов первого порядка.
Предикативная обработка текстовых единиц ТІ, каждая из которых либо представляет принятое решение Rj либо его часть A Rj, заключается в их переводе с ЕПЯ на тот же самый язык с промежуточным представлением Tj на языке предикатной семантики Lp. Обобщенная схема имитации перевода приведена на рис. 1.14.
Имитация машинного перевода [145] осуществляется в виде пошагового процесса перевода текста Tj на прологоподобный язык Lp с использованием перевод ТІ на промежуточные языки L и L , грамматики которых приближены к грамматике языка L .
В общем случае текст ТІ СОСТОИТ ИЗ системы предложений S({Cm }), которая на первом шаге перевода (интервал времени ti-12) преобразуется в систему S({SCmn}) простых предложений SCmn, каждое из которых регистрируется в виде одноместного или двухместного предиката в контексте слов, не уместившихся в предикатной форме.
Операционная обстановка рабочего словаря
Качество и результативность работы человека существенным образом зависят от организации его рабочего места, от того, как и какие средства предоставляются ему для действий, в первую очередь от того, как размещены и как доступны инструменты и материалы, необходимые для работы. С такой организацией и её наполнением конкретным содержанием на экране дисплея в компьютерных приложениях удобно связывать понятие «операционная обстановка».
Рациональная и удобная операционная обстановка особенно важна для работ с концептами и концептуальными конструкциями, материализующими результаты мыслительной деятельности. На качество и результативность операционных обстановок такого типа большое влияние оказывают средства, обеспечивающие оперативную обратную связь с мышлением.
Для предлагаемого подхода к концептуальному проектированию разработана связная совокупность операционных обстановок, в составе которой принципиальное место занимает операционная обстановка «Рабочего словаря». «Рабочий словарь» в системе средств вопросно-ответного концептуального проектирования используется в действиях: - по предикативному анализу текстов вопросов и ответов любых типов; - по анализу простых предикатов, извлечённых из текстов, и отбору на такой базе информационного материала для построения онтологии проекта (О-модели проекта); - по синтезу из простых предикатов предикатных формул (F-моделей) текстовых единиц и их совокупностей; - по построению визуализируемых графических представлений текстовых единиц в виде семантических граф-схем (вариант концептуальных моделей, К-моделей); - по уточнению вопросов и ответов QA-моделей и развитию их представления в QA-базе данных проекта; - по накоплению информации для каждой из К-моделей и построению на такой базе её семантической граф-схемы (в любом состоянии К-модели, а не только в её завершённом состоянии); - по построению определения (построению D-моделей) для К-моделей и для составляющих О-моделей.
Основа операционной обстановки представлена на экранной форме (рис.3.4), выполняющей, по сути дела, функции поля сборки концептуальных объектов. Структуризация экрана отражает структуру специализированной базы данных, представляющей «Рабочий словарь» через систематизированную совокупность его словарных статей.
Основа операционной обстановки «Рабочего словаря»
В каждый конкретный момент времени содержимое экранной формы представляет конкретную словарную статью, а вернее, текущее состояние её содержания. Форма также содержит обрабатываемый текст, результат его предикативного анализа, имена словарных статей онтологии и «закладку», в которой накапливаются спецификации концептуальной конструкции, представляющие её с позиций реализации АС.
На рис. 3.4 представлена одна из закладок, предназначенная для накопления информации о классе. Переход к необходимой закладке происходит через активизацию её имени. Структура каждой из закладок согласована со структурой концептуальной конструкции, которую закладка представляет. Через закладку «UML» открыт выход на варианты закладок для традиционных диаграмм UML.
Поскольку операционная обстановка выполняет функции поля сборки концептуальных конструкций, основным видом действий на этом поле является действие «Drag And Drop». Единицы сборки выбираются в определённых
Программная реализация компонента «Рабочий Словарь»
Компонент «Рабочий Словарь» реализован как плагин вопросно-ответного процессора NetWIQA. Особенность реализации данного компонента в том, что он состоит из трех частей: серверная часть, клиентская часть и коннектор. Рассмотрим подробнее каждою из вышеназванных частей.
В серверной части реализуются функции работы с базой данных «Рабочего Словаря». Именно там происходит обращение к БД посредством запросов, а также первичная обработка полученных данных. То есть фактически в данном плагине серверная часть ответственна за реализацию модели данных компонента «Рабочий Словарь». В серверной части реализуются также функции, объявленные в интерфейсе коннектора. Еще одной важной функцией серверной части является рассылка сообщений другим плагинам об изменениях в базе данных «Рабочего Словаря». Это делается для избежания конфликтов при одновременной работе с одним набором нескольких плагинов.
Коннектор играет роль связующего звена как между клиентом и сервером, так и между плагином «Рабочего Словаря» и другими плагинами вопросно-ответного процессора NetWIQA. В коннекторе описан интерфейс работы с данными, который использует клиентская часть для того, чтобы осуществить выборку или сохранение определенных данных. В этом интерфейсе описаны типовые функции, необходимые клиентской части для работы с данными, а реализованы они все в серверной части. Также в коннекторе описываются классы, описывающие каждую сущность, использующуюся в «Рабочем Словаре». Еще коннектор, как уже было сказано выше, играет роль связующего звена между «Рабочим Словарем» и другими плагинами вопросно-ответного процессора NetWIQA. Каким образом это происходит? Дело в том, что между плагинами существует некая договоренность в вопросе того, какие данные должны между ними передаваться. Класс, описывающий те сущности, которые будут передаваться между плагинами, объявляется в коннекторе того плагина, который должен их передавать. Также в интерфейсе коннектора плагина прописываются функции по работе с этими сущностями. Реализованы эти функции в серверной части. Таким образом, коннектор является частью плагина, предоставляющей функции работы с данными для клиентской1 части плагина, а также для тех плагинов вопросно-ответного процессора NetWIQA, которым необходим доступ к данным «Рабочего Словаря».
В клиентской части реализован пользовательский интерфейс Рабочего Словаря, а также вся логика приложения «Рабочего Словаря». Именно в этой части описана основная форма «Рабочего Словаря». И именно в этой части реализуется вся логика по транспортировке информационного материала на закладки словарных статей. В процессе своей работы, клиентская часть активно обращается к информации с закладок словарных статей, хранящихся в базе данных. Все функции, необходимые ей для этой работы, объявлены в коннекторе и реализованы в серверной части. Из клиентской части также вызываются клиентские части других плагинов - Лингвистического и Логического Процессоров. Для этого в клиентскую часть вопросно-ответного процессора NetWIQA пересылается структура с передаваемыми данными, после чего происходит вызов и загрузка формы вызываемого плагина. Клиентской части вопросно-ответного процессора NetWIQA указывается, какую функцию следует вызвать при завершении работы вызванного плагина. В этой функции производится обработка полученных от вызываемого плагина данных, причем вызываемый плагин передает структуру возвращаемых данных также клиентской части вопросно-ответного процессора NetWIQA.
Поскольку логика приложения реализуется именно в клиентской части, то на ней лежит вся ответственность за своевременные действия по транспортировке информационного материала на закладки словарных статей, а также действия по транспортировке информационного материала между
модулями «Лингвистический процессор», «Онтологии» и «Логический процессор». Клиентская часть также загружает всю информацию из словарной статьи на экран, используя при этом функции работы с данными, описанные в интерфейсе коннектора.