При семантической интерпретации конечного автомата как модели диалоговой программы его элементам придается следующий смысл:
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 |


