При семантической интерпретации конечного автомата как модели диа­логовой программы его элементам придается следующий смысл:

X — мно­жество допустимых воздействий исследователя — команды языка графи­ческого взаимодействия; Y — множество имен прикладных (семантических) программ, осуществляющих интерпретацию команд исследователя. Преобразователь AG осуществляет перевод входной цепочки терминаль­ных символов X в символы выходного алфавита Y. Каждому преобразователю AG может быть поставлен в соответст­вие ориентированный граф Г, который называют диалоговым графом (рис. 21.8, а).

Рис. 21.8. Графическое представление модели интерпрератора диало­говых языков

Каждой вершине графа соответствует состояние автомата, а каждому переходу автомата из состояния Si в Sj соответствует ориентированное ребро (Si, Sj), помечаемое парой k, Yk).

При этом множество входных символов, допускаемых автоматом Aij, совпадает с языком L(G), порождаемым грамматикой G, т. е. можно гово­рить, что грамматика G задает ДГ-язык, допускаемый автоматом АG.

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

НЕ нашли? Не то? Что вы ищете?

Контекстно-свободные языки также допускает и система конечных ав­томатов, которая является эквивалентом автомата с магазинной памятью. В такой системе каждый автомат является автоматом вида AG, а перехо­дам между автоматами соответствуют операции с магазином. Представле­ние интерпретатора в виде иерархической системы конечных автоматов является более наглядным и допускает простое отображение на традицион­ные структуры программирования. Если каждому конечному автомату такой системы поставить в соответствие диалоговую подпрограмму, интер­претирующую диалоговый подъязык, то в таком случае ДГ-программу можно представить в виде совокупности диалоговых подпрограмм, т. е. в виде структуры, принятой в традиционном программировании на проце­дурных языках высокого уровня и привычной большинству программистов. Представление системы конечных автоматов в виде графа приведено на рис. 21.8, б, на котором изображены связи между автоматами.

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

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

Первый случай соответствует наличию в семантической программе бо­лее чем одного выхода, по крайней мере, существует еще и выход по сбою. Примером сбоя может быть случай, когда объект, указанный на экране дисп­лея, не принадлежит к классу объектов, обрабатываемых данной програм­мой. Интерпретация ДГ-языков таких систем обеспечивается магазинным ав­томатом Ам. Автомат Ам может быть построен на основе автомата АG, допол­ненного памятью магазинного типа и множеством внутренних состояний , в которых производится анализ содержимого магазина, а также опреде­ляется значение соответствующих функций перехода и выхода. Над мага­зином определена операция записи SET (α), которая может производиться в семантической программе. В этом случае значение α соответствует выходу программы. Значение функций перехода и выхода во внутреннем состоянии определяется в зависимости от значения символа, находящегося на вершине магазина. Введение внутренних состояний позволяет кроме синтакси­ческого анализа ДГ-языков проводить анализ семантических условий, что повышает устойчивость ДГС к сбоям, связанным с некорректными дейст­виями консультанта.

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

Состояние Sj функционально зависит от состояний X1, Х2,.....,Хп,

если к моменту перехода в состояние Sj система находилась в каждом xi (i = 1,2,…, n) хотя бы по одному разу. Состояние Sj слабо зависит по кон­тексту от состояний xi (i = 1,2,…, n), если к моменту перехода в состояние Sj система находилась в каждом xi (i = 1,2,…, n) строго один раз. Состояние Sj сильно зависит по контексту от состояний xi (i = 1,2,…, n), если к моменту пе­рехода в состояние Sj система находилась в каждом xi (i = 1,2,…, n) строго один раз, и при этом все состояния должны быть в строго заданной последо­вательности.

Для анализа зависимостей состояний вводятся соответственно три типа условий перехода: и1 — «любое из»; и2 — «все в любом»; и3 — «все в задан­ном». Условие «любое из» истинное, если ДГ-программа побывала в любом из заданного множества состояний, условие «все в любом» истинно, если система побывала во всех состояниях из заданного множества в любом по­рядке, а условие «все в заданном» истинно, если система побывала во всех состояниях из заданного множества в строго заданном порядке.

Интерпретатор ДГ-языка, позволяющий делать анализ приведенных условий, кроме функций преобразователя АG и Ам должен в процессе функ­ционирования ДГС фиксировать в специальной памяти номера и внутрен­нее автоматное время пройденных состояний и иметь соответствующие внут­ренние состояния, в которых анализируются предписанные этим состояниям контекстные условия по предыстории диалога типа u1, и2, u3, и определять пути дальнейшего ведения диалога.

Программа интерпретатор, реализующая представленную модель, вы­деляется в независимую часть ДГС и составляет основу унификации средств интерпретации ДГ-языков рассмотренного класса.

21.5. Средства разработки и поддержки языков исследования

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

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

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

Представленная схема преобразования информации в ЭВМ позволяет сформулировать абстрактную модель АСНИ с точки зрения лингвистиче­ского обеспечения в виде совокупности обрабатывающих подсистем. Каждая обрабатывающая подсистема определяется как пара Рk = (Lk, Jk), где Lk — язык, Jk — транслирующая программа или языковый процессор для этого языка. Абстрактная модель представляет собой иерархию таких информационно связанных подсистем, причем на k-м уровне информация представ­ляется на языке Lk, преобразуется языковым процессором Jk в представле­ние на языке (k+1)-й обрабатывающей подсистемы Рk+1 = (Lk+1, Jk+1) и т. д. Верхний уровень такой модели представлен входными языками, средние уровни — внутренними и промежуточными языками, а нижний — выходными языками. В абстрактную модель в качестве одной из обраба­тывающих подсистем может быть включен и исследователь, который анализирует результаты исследования и управляет процессом исследования, на­пример, с помощью устройств ввода и языка гра­фического диалога.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87