Проектирование технологических процессов обработки данных в диалоговом режиме
Диалог - это процесс обмена сообщениями между пользователем и компьютером, при котором осуществляется постоянная смена ролей информатора и реципиента (пользователя, принимающего информацию), причем смена ролей должна быть достаточно оперативной. Процесс диалога должен удовлетворять следующим условиям:
· единая цель информатора и реципиента;
· постоянная смена ролей пользователя и компьютера;
· общий язык общения;
· наличие общей базы знаний (данных);
· возможность пополнения базы знаний хотя бы одним из объектов (субъектов).
Для осуществления диалога необходимо разработать диалоговую систему (ДС), представляющую собой совокупность технического, информационного, программного, лингвистического обеспечения, предназначенную для выполнения функций управления диалогом, информирования пользователя, ввода информационных сообщений, обработки их с помощью прикладных программ и выдачи результатов.
Можно выделить несколько характеристик ДС, значения которых определяют процесс диалогового взаимодействия пользователя и компьютера. Важнейшей из них является степень оперативности диалога. При этом возможна оперативность двусторонняя или односторонняя - со стороны компьютера или человека. В первом случае диалог называется активным со временем ожидания до 2 с, во втором - пассивным, время ожидания при нем может достигать 3 мин.
Другой характеристикой диалоговых систем служит способность к управлению. Она тесно связана с такими условиями выполнения диалога, как наличие знаний у партнеров и взаимопонимания между ними с помощью общего языка. Эта характеристика выражается в способности к выдаче таких команд партнеру, которые требуют выполнения некоторых действий, направленных на достижение цели диалога.
В процессе диалога возможно двустороннее управление на базе языка типа «запрос - ответ», одностороннее управление со стороны компьютера с языком общения типа «меню», «заполнение шаблона» и ответа по «подсказке» или одностороннее управление со стороны пользователя с использованием языка директив (команд).
Важной характеристикой является также способность партнеров к обучению (накоплению знаний о предметной области) и общего языка взаимодействия. Выделяют системы, которые обеспечивают двустороннее обучение партнеров, и системы с односторонним обучением: со стороны либо пользователя, либо компьютера.
Помимо вышеперечисленных существует и ряд других характеристик, к которым относят:
· среднее время безотказной работы всей диалоговой системы;
· вероятность безошибочного выполнения диалога;
· коэффициент занятости системы;
· стоимость эксплуатации и разработки диалоговой системы.
Диалоговые системы можно классифицировать по ряду признаков (рис. 9.2).
|
По типу общения
4. По типу сценария
5. По форме общения
Директивы | Запрос-ответ | Шаблоны | Подсказки | Смешанные языки | Меню |
6. По типу базового языка
Рис. 9.2. Схема классификации диалоговых систем
По сфере использования можно выделить системы, применяемые в процессах управления экономическими системами, в процессах проектирования сложных систем в САПР, в обучающих системах, в системах управления данными и в информационно-поисковых системах.
По способу организации взаимодействия и наличию приоритета при организации этого взаимодействия выделяют системы с приоритетным взаимодействием (человека, компьютера) и без приоритетного взаимодействия. Бесприоритетные системы отличаются случайным характером ведения диалога и малой степенью его организованности. Такие системы не являются характерными для применения в экономических системах, в которых, как правило, используют приоритетные схемы взаимодействия человека или компьютера в пределах сценария или предметной области и выбранных средств общения.
Если принять во внимание, что основу процесса взаимодействия составляют операции информирования, то все диалоговые системы можно разделить на классы по типу общения: с активным общением и с пассивным общением, а по типу сценария все ДС делят на системы с гибким и жестким сценарием диалога. Активная схема диалога характеризуется проявлением инициативы с двух сторон, что создает возможность регулирования человеком основных характеристик взаимодействия: периода общения, количества этапов, структуры и содержания информационного потока. Следовательно, появляется возможность работать по гибкому сценарию диалога. Схема пассивного диалога более проста по своей реализации и используется при хорошей структурированности задачи, а также при лимите времени и средств компьютера.
По форме (языку) общения диалоговые системы делятся на системы с языком общения типа «запрос - ответ», «меню», «шаблоны», «подсказки», смешанные варианты. Выбор средств общения определяется требованиями, предъявляемыми к системе взаимодействия со стороны предметной области и режимами общения.
По типу сложности языка общения выделяют системы с формализованными языками (с грамматикой или без грамматики) и с естественными языками. В настоящее время с увеличением числа непрофессиональных пользователей диалоговых систем большое значение приобретает использование естественного языка общения, который обеспечивает доступность, удобство и высокое качество взаимодействия. Однако из-за трудностей реализации эффективных средств восприятия сообщений на естественном языке при использовании формы взаимодействия «запрос-ответ», «меню» и «шаблоны» применяют в основном формализованные языки с ограниченной лексикой и с грамматикой или без грамматики.
Все проблемы проектирования процессов обработки данных в диалоговом режиме можно объединить в две группы:
· проблемы методологического характера, связанные с выбором принципов и методов проектирования диалоговых систем и разработкой проекта на логическом уровне;
· проблемы, связанные с реализацией конкретного варианта проекта диалоговой системы, т.е. проектированием на физическом уровне.
Проектирование диалоговой системы на логическом уровне включает выбор стратегии проектирования, методов проектирования и оценки системы, принципов и способов логической организации и реализации на компьютере процессов взаимодействия. Выбор логической структуры диалоговой системы зависит от назначения диалоговой системы и используемого языка общения.
При выборе в качестве языка общения языка директив типовыми подсистемами ДС являются:
· ввод-вывод данных;
· ввод директив и их анализ;
· интерпретация директив.
При использовании для общения языка «меню» или языка «запросов» в диалоговой системе должна присутствовать система планирования и управления диалогом, или диалоговый монитор, в функции которого входят:
· управление процессом диалога;
· обеспечение интерфейса пользователя;
· обеспечение выполнения сервисных или справочных функций;
· анализ и обработка ошибочных ситуаций;
· вызов обрабатывающих программ;
· обеспечение работы с библиотекой прикладных программ и ведение протоколов работы системы.
При создании диалоговой системы основной проблемой является выбор логической структуры ДС и средств формализации диалога, т.е. модели ДС, которая должна описывать общую концепцию ее построения и должна использоваться как основа для детального проектирования системы. Эта проблема особенно остро стоит при разработке диалогового монитора для универсальной диалоговой системы, а также при разработке ДС с языком общения «запрос - ответ», что связано с необходимостью разработки алгоритма управления диалогом, в основе которого должно быть построение математической модели диалогового процесса.
Поскольку ДС такого типа должна характеризоваться высокой степенью адаптивности к изменению функций диалога, составу пользователей и т.д., то использование формальной модели при ее разработке позволяет обеспечить хорошие показатели эффективности работы на протяжении длительного времени. На этапе технического проектирования проектировщик на ее основе может выполнить следующие работы:
· описать подсистемы ДС, определить интерфейсы между ними и согласовать с проблемными задачами и конкретной вычислительной средой;
· выявить и учесть возможности и детали поведения ДС, а также определить сервисные возможности, предоставляемые пользователям;
· выработать обобщенный взгляд на ДС в целом;
· обеспечить взаимодействие заказчика и разработчика системы, а также определить базу для стандартизации ДС.
На этапе рабочего проектирования эта модель выполняет следующие функции:
· служит основой для детального проектирования и реализации программного обеспечения и выбора аппаратных средств ДС;
· используется как средство контроля за ходом проектирования;
· служит средством анализа свойств ДС, оценки заданных параметров и ресурсов, необходимых для реализации системы, и их оптимизации.
При построении модели ДС в качестве формального аппарата описания организации и функционирования ДС применяют, например, теорию графов, теорию конечных автоматов, специальные языки формально-логического типа. Если же решают проблему выполнения анализа, оценок и оптимизации разработанной системы, то модели строятся с использованием вероятностно-статистических методов.
При использовании подхода, основанного на применении теории графов, математическая модель диалогового процесса представляется в виде графа (ГДП), описывающего логическую последовательность действий системы «пользователь - компьютер» [5]. В вершинах графа отражаются сообщения, команды, информация в виде файлов данных, программы обработки и связи между ними.
Для отображения структуры графа G(X,F) используется представление его в виде матрицы смежности первого порядка размерностью n*n
где n- числовершин графа диалога;
т.е. элемент этой матрицы rij равен 1, если существует некоторая функция, которая переводит систему из состояния хi в хj, и rij равен 0, если не существует связи между хi и хj
Основной оператор языка описания ГДП отображает матрицу смежности в виде совокупности векторов (строк) Вk={rkj}(где ), каждый из которых показывает, с какими вершинами в графе диалогового процесса связана вершина k. Язык описания графов диалоговых процедур предназначен для описания структуры различных графов и функций диалоговых процедур; его средствами подключаются обрабатывающие программы для решения задач пользователя. Таким образом, язык предоставляет пользователю средства совместного описания структуры диалогового процесса и его функций на каждом шаге диалога, поэтому основные конструкции такого языка предназначаются для описания вершин, структуры графа и функций, составляющих диалоговый процесс на каждом шаге.
Если диалоговая система строится на базе математической модели, использующей теорию графов, и специального языка описания ГДП, то, помимо упомянутых выше программных средств, в состав ДС будут входить также программы анализа и синтеза графов диалоговых процедур и транслятор языка описания ГДП.
Эти программы предназначаются для ввода, контроля корректности описания структуры графов диалоговых процедур в синтаксическом и семантическом аспектах и корректности математической модели, корректировки описания структуры ГДП. Транслятор языка описания ГДП представляет собой ряд программ, предназначенных для обработки операторов языка описания в целях формирования диалоговых процедур для объектов с конкретной структурой и функциональной направленностью. Эти программы выполняют лексический и синтаксический анализ с последующим формированием описания шагов диалога на внутреннем языке компьютера.
Другим типом модели может служить математическая модель, основанная на теории конечных автоматов. В основе этой теории лежит положение о том, что диалоговый процесс представляет собой множество состояний и последовательный переход из одного состояния в другое, связанное с выполнением некоторой задачи (темы), причем характер переходов зависит от ответов пользователя, характера ситуации или делового процесса.
Весь диалог предметной области, поддерживаемый диалоговой системой, разбивают на несколько тем, ситуаций, каждая из которых объединяет некоторое подмножество состояний, связанных между собой общей логикой обработки или общими данными.
Таким образом, отдельную тему рассматривают как некоторое конечное множество состояний диалога, одно из которых является начальным, а состояния, в которых тема завершается, называются терминальными.
Далее все состояния разбивают на сигнальные и разговорные. В сигнальных состояниях система выполняет некоторые действия -программы обработки состояния, а также посылает пользователю сообщение и переходит в следующее состояние. В разговорных состояниях система посылает пользователю сообщение, ждет ответа и в зависимости от состояния и ответа пользователя выполняет программу обработки, после чего осуществляется переход по заранее составленному для данной темы правилу переходов - схемы или сценария диалога, представленных в виде графа, однозначно задающего переход от одного состояния к другому.
Полученный граф изображается диаграммой состояний, каждое из которых отображает результат определенной фазы деятельности пользователей. Эти фазы выделяются таким образом, чтобы им можно было поставить в соответствие инструкции пользователя, задаваемые с монитора компьютера. При этом граф определяет лишь допустимые переходы (т.е. возможности пользователя), обеспечивая контроль действий пользователя.
Конечный детерминированный автомат, соответствующий такому представлению ДС, задают в виде отношения [45 ]:
где X = {хi} - множество входных сообщений (инструкций);
Y = {yi} - множество выходных сообщений;
Q = {qi}- множество состояний ДС (q0 - начальное состояние);
φ : X * Q -> Q - функция переходов;
Ψ : X * Q -> Y - функция выходов (обычно Ψ: Q -> Y).
Для каждого состояния или входного сообщения разрабатывается программный модуль, непосредственно реализующий действие пользователя, заданное инструкцией Хр т.е. вводится отображение I: X -> А или I: Q -> А, где А={аk} - набор из N реализующих модулей.
Находясь в состоянии qi, под действием инструкции хj система переходит в состояние qi+1= φ (хj,qi), выполняет действие ак = I (хj ) или ак = I(qi), выдает пользователю сообщение Yр= Ψ(xj , qi) и останавливается, ожидая следующей инструкции.
Таким образом, состояния соответствуют местам прерывания автономной работы системы, когда для ее продолжения необходимо вмешательство пользователя.
Информационной базой, определяющей работу автомата, являются таблицы, задающие функции Ψ и φ, в которых в формальном виде описываются правила взаимодействия пользователей в системе. Эти таблицы используются программой контроля действий пользователей и диалоговым монитором для управления работой ДС. Информационное обеспечение системы, разработанной на основе модели конечного автомата, составляют файлы тем (задач), каждый из которых состоит из подфайлов: параметров тем, управляющей таблицы - сценария, файла сообщений, ответных реакций и файла «подсказок».
Технологиявзаимодействия функциональных и обеспечивающих средств ДС сводится к выполнению ряда шагов. Диалоговый монитор вызывается одной из программ пользователя. Каждая тема начинается с начального состояния, номер которого содержится в файле параметров темы. При достижении какого-либо разговорного состояния монитор по записи в управляющей таблице, характеризующей данное состояние, определяет номер соответствующего сообщения и, взяв его из файла сообщений, выдает на терминал и ждет ответа пользователя. Ответ анализируется и определяется, не является ли ответ пользователя высокоприоритетной директивой, например вызовом новой темы, переходом в заданное состояние, запросом справки. В этом случае директива интерпретируется, после чего пользователь продолжает диалог.
В случае обычного ответа монитор осуществляет сопоставление ответа пользователя с возможным для данного состояния ответом. Если при анализе не установлено совпадение с одним из возможных ответов, система классифицирует ответ как неправильный. На все неправильные ответы система формирует соответствующие диагностические сообщения.
В случае правильного ответа монитор определяет из управляющей таблицы имя прикладной программы (ПП), вызывает ее из библиотеки обрабатывающих программ. После выполнения обрабатывающей ПП управление возвращается монитору и начинается следующий цикл. После завершения темы управление передается вызвавшей диалоговый монитор программе пользователя.
Последовательность работ по проектированию процессов обработки информации задач, решаемых в диалоговом режиме, имеет свои особенности. Проектирование начинается с анализа материалов обследования, определения параметров задач и получения описания полного комплекса автоматизируемых задач и их параметров.
Далее следуют:
· анализ параметров задач,
· выявление режимов обработки и определение следующих списков:
o задач, обрабатываемых в диалоговом режиме;
o задач, обрабатываемых в пакетном режиме;
o задач, решаемых с использованием смешанного режима.
Для комплекса задач, обрабатываемых в диалоговом режиме, осуществляются выбор стратегии разработки диалоговых систем из множества стратегий проектирования диалоговой обработки данных и получение решения о встраивании диалогов в программу либо решения о разработке автономной диалоговой системы.
Выбор стратегии проектирования диалоговой системы зависит от основных параметров задач обработки данных, типа компьютера, операционной среды, а также от наличия средств автоматизации проектирования и других факторов. Например, проектировщик может принять решение о встраивании диалоговых модулей в основное тело программы или в вычислительные модули, если экономическая задача имеет небольшое количество диалоговых блоков, связана с несложным по структуре диалогом и выполнением большого количества математических действий.
Если выбрана стратегия встраивания диалоговых компонентов в тело программы, то далее будут выполняться следующие работы:
· составление «Технического задания» на разработку программного обеспечения задачи;
· разработка «Постановки задачи»;
· разработка информационного обеспечения задачи, включая разработку системы классификаторов, документации по задаче, экранных форм ввода и вывода данных и файлов ИБ;
· выполнение функционального анализа задачи и получение функциональной блок-схемы решения задачи;
· разработка блок-схем алгоритмов по каждому функциональному блоку и схемы взаимосвязи программных модулей и информационных файлов;
· разработка экранов сообщений и описание ихструктуры;
· выбор языка программирования и написание текстов программы;
· отладка программных модулей, комплексная отладка всей программы и разработка программной и технологической документации.
Если проектировщику предстоит разработать в задаче большое количество диалоговых блоков, а сама задача характеризуется сложным алгоритмом обработки с многократным обращением к информационной базе, то в этом случае ему необходимо принимать решение о проектировании автономной диалоговой системы. Разработка автономной диалоговой системы, предполагающей отделение программных блоков, связанных с диалоговыми процедурами, от блоков, связанных с обработкой данных, имеет следующие преимущества:
· обеспечивается концептуальная целостность диалога и соблюдается единство языка общения, что позволяет сократить время освоения диалоговой системы;
· упрощаются разработка, отладка, сопровождение большого количества диалоговых процедур благодаря функциональной проработке их узкоспециализированными специалистами, которые не знают детали проблемных программ, что, в свою очередь, позволяет упростить управление проектом;
· обеспечивается независимость прикладных программ от диалоговых процедур, от способа диалогового взаимодействия с пользователем и от типа используемых терминов, что влечет за собой сокращение затрат на разработку и сопровождение прикладных программ;
· обеспечиваются хорошие адаптивные характеристики диалога к накоплению опыта пользователей и появляется возможность предоставления широких сервисных средств диалога (типа выдачи справок, подсказок документации). Помимо этого для такой системы характерна хорошая приспособляемость к изменению функций управления и операций обработки.
Если проектировщиком выбрана стратегия построения автономной диалоговой системы обработки данных, то возникает проблема определения сферы применения диалоговых процедур для одной задачи или для задач некоторой предметной области. В этом случае применяют либо подход разработки индивидуальных диалоговых систем для отдельных задач или универсальной диалоговой системы типа оболочки или генератора, настраиваемых на обслуживание всех задач этой предметной области.
Далее следует осуществить выбор метода проектирования и инструментального средства проектирования. Наличие инструментальных средств проектирования или их отсутствие позволяет применять метод оригинального проектирования с помощью таких средств программирования, как СУБД, языки Паскаль, С и другие, или автоматизированного проектирования с использованием, например, диалоговой оболочки или генераторов диалога. Технологическая сеть проектирования диалоговых систем с языком общения типа «меню» в случае выбора метода оригинального проектирования представлена на рис. 9.3.
Первой операцией является разработка документа «Постановка задачи» (П1). На вход данной операции поступает документ «Техническое задание» (Д1.1) и материалы обследования (Д1.2). Результатом выполнения операции является получение документа «Постановка задачи» Д1.3).
Далее осуществляется операция (П2) «Функциональный анализ задачи», выполнение которой позволяет определить состав функциональных блоков. Результатом этой операции служит функциональная блок-схема задачи (Д2.1).
Рис. 9.3.Технологическая сеть проектирования диалоговых систем с языком общения типа «меню». Здесь приняты следующие обозначения: Д1.1 - техническое задание; Д1.2 - материалы обследования; Д1.3 - документ «Постановка задачи»; Д2.1 - функциональная структура задачи; U 3.1 - универсум языков общения; Д3.1 - сценарий диалога; Д4.1 -дерево программных модулей; Д5.1 - классификаторы и документы; Д5.2 - система экранных кадров; Д5.3 - информационная база; Д6.1 - укрупненный алгоритм решения задачи; U7.1 - универсум языков программирования; Д7.1 - коды программных модулей; Д 8.1 - совокупность отлаженных модулей; Д9.1 - исходные данные контрольного примера; Д9.2 - комплекс отлаженных программных модулей; Д9.3 - результаты реализации контрольного примера; Д10.1 -совокупность программных документов; Д11.1 - блок-схемы ТП; Д12.1 - комплект технологической документации и инструкционных карт.
Следующей операцией является «Выбор языка общения и разработка сценария диалога» (П3). На вход операции поступают универсум языков общения (U3.1) и функциональная структура задачи (Д2.1). На выходе получают «сценарий диалога» (Д3.1).
Далее выполняется операция (П4) «Разработка структуры программного обеспечения». В результате выполнения этой операции строится дерево программных модулей (Д4.1).
Операция (П5) «Разработка информационного обеспечения» должна включать проектирование системы классификаторов и документов (Д5.1), системы экранных кадров (Д5.2) и информационной базы (Д5.3).
Элементы информационного обеспечения и состав программных модулей позволяют выполнить операцию «Разработка блок-схемы работы системы» (П6) и получить документ «Укрупненный алгоритм решения задачи» (Д6.1).
Операция «Разработка кодов программных модулей и выбор алгоритмического языка» (П7) осуществляется на основе универсума языка программирования (U7.1). На выходе получают документы с кодами программных модулей (Д7.1).
Разработанные программные модули (Д7.1) подвергаются «локальной отладке» (П8), в результате чего получают совокупность отлаженных модулей (Д8.1), а затем на базе исходных данных «Контрольного примера» (Д9.1) проходят «комплексную отладку» (П9), в результате чего получают результатные данные (Д9.3) и отлаженный комплекс программных модулей (Д9.2).
Далее следуют «Разработка программной документации» (П10) и получение всей совокупности документов (Д10.1), после которой разрабатывается блок-схема технологического процесса решения задачи в диалоговом режиме (П11) и получают документ - блок-схему ТП (Д11.1), содержащую перечень ручных, машинно-ручных и автоматических операций, выполняемых в определенной последовательности пользователем при решении задачи.
Заключительной операцией (П12) является разработка и получение полного комплекта технологической документации и инструкционных карт (Д12.1).
При использовании средств автоматизации проектирования диалоговой обработки данных, т.е. ППП генерирующего или интерпретирующего типа разработанные исполнительные программы с помощью диалоговых процедур объединяются в единую программную систему. В этом случае проектировщики будут выполнять следующие дополнительные работы:
· разработку управляющей таблицы, отражающей структуру сценария диалога, макетов сообщений, исполнительских программ;
· генерацию сценария и формирование файла сценария для каждой задачи или настройку системы на параметры предметной области;
· формирование контрольных примеров и их отладку по каждой задаче;
· подготовку программной и технологической документации.
Вопросы для самопроверки
1. Каковы особенности экономических задач, влияющих на содержание проектирования технологии обработки данных?
2. Каков состав основных параметров и каковы классы экономических задач?
3. Каков состав операций проектирования технологии обработки информации при решении задачи в пакетном режиме?
4. Какие методы разработки программного обеспечения вы знаете?
5. Каковы методы выделения функциональных и программных блоков?
6. Каков типовой состав операций технологии обработки информации в пакетном режиме?
7. Каков состав критериев выбора алгоритмических языков?
8. Каков состав средств частичной автоматизации используется для проектирования процедур обработки данных для задач, решаемых в пакетном режиме?
9. Что такое «диалоговая система» и каковы классы диалоговых систем?
10. Каковы методы формализованного описания работы диалоговых систем и их содержание?
11. Каковы основные стратегии проектирования процессов обработки данных в диалоговом режиме и их содержание?