Приложение 3.
Каталог
Примеров по формализации знаний
В приложении описана (авто)формализация профессиональных знаний до уровня постановок задач, включающих определение объектов и алгоритмов решения. Включены элементы алгоритмизации и программирования для информашин. Вместе с Приложением 4 оно относится к когнитивному обеспечению информатизации и выделено для удобства использования.
Далее будут показаны конкретные случаи визуализации знаний, представляющие как теоретический, так и практический интерес.
К сему прилагается | Каталог примеров | Частичная визуализация
Здесь приводятся примеры визуализации задач с применением частных языков из числа рассмотренных в данном документе.
Содержание
Визуализация абстрактных типов
Абстрактные типы в Компонентном Паскале
Визуализация абстрактных типов
Основываясь на изложенном об абстрактных типах, составим АТ-схемы некоторых КП-программ из книги В.В. Потопахина, обсуждаемой в этой теме.
АТ-схемы видимости в Компонентном Паскале
Здесь по сравнению с предыдущими АТ-схемами введены новые элементы визуального синтаксиса, заданные в предложенных правилах АТ-языка. Прежде всего это единообразные терминалы ветвей. Они несут также функцию классификации их содержания; главное основание – как в модуле/процедуре выделяются секции последовательности определений (типы, переменные, константы, процедуры). Род секции, как видно, указывается текстом (изначально он не определён, поэтому текст правого терминала обобщённый).
Показаны не все рода для "страдательных" сущностей – только по одной, как это м.б. по правилам визуального вывода из заготовок-аксиом (понятно, что при сочинении можно создавать терминированные ветви и назначать каждой нужный род, ещё не употреблявшийся в данной процедуре; для существующего рода ветвь добавляется над нужным терминатором).
Где это необходимо, показаны дубли глобальных величин; перекрытые локальными исключены из дублей. При этом в секции, незаполненные локальными определениями, рядом с дублями включаются ненагруженные вертикали, в которые можно вводить объявления вручную.
Конечно, РДП-редактор должен создавать эти «локально-глобальные» структуры секций автоматически (как и исключать имена перекрытых величин).
Целесообразно, видимо, также реализовать ручное включение/отключение показа дублей (м.б. удобно, чтобы сочинитель или иной читатель сосредоточился на других аспектах деклар-схем).
Далее, используется иерархическое уточнение имён по областям видимости. Конечно, это не соответствует определениям Оберона/КП, но ведь у нас язык визуализации – главное, чтобы изменения не умаляли текстового синтаксиса – тогда по схеме всегда можно сгенерировать правильный текст. Однако при этом возникает разброс длин полных имён.
Также уточнения могут затруднять понимание того, что локальное имя (краткое) перекрывает собой совпадающее по написанию, роду и абстрактному типу величины глобальное имя. Поэтому вопрос о длинных именах подлежит обсуждению; возможно, следует оставить только уточнение именем модуля, как сделано в текстовом языке.
На схемах в основном выбран краткий вариант.
Абстрактные типы в Компонентном Паскале
Ещё одну КП-программу выберем для иллюстрации графит-АТ-моделирования прогтекстов с реальными процедурами и сложной компоновкой (рекурсией и импортом). Исхтекст и визуализация деклар-части приведены на рисунке далее:
АТ-визуализация КП-программы
Видно, что введены некоторые новые правила построения АТ-схем для случаев , которые не были актуальны в предыдущих, более простых, примерах.
Так, секция переменных теперь имеет разнотипные элементы. Они выносятся в отдельные ветки АТ-дерева, но связываются общим терминалом секции; так нагляднее выделять разнородные секции.
Далее, рекурсия (здесь – явная) обозначена на схеме процедуры как самовложение (повторное употребление представляющей её вершины) в выделенной процедурной ветви, замыкаемой в цикл на заголовок процедуры; циклический маршрут выделен пунктирными линиями графики.
Отметим, что показанные АТ-схемы по определению общеязыковых требований к визуализации относятся к общим; частная схема составляется сочинителем для отдельной процедуры и поэтому в принципе не требует таких уточнений. Общая же схема в редакторе должна формироваться автоматически и использоваться для обзора; внёс сочинитель изменения/дополнения в систему частных схем данного вида – скомандовал построить общую схему и посмотрел, что у него получилось. В данном случае она построена вручную, что отражается значением атрибута <draft> (для автоматической предполагается <auto>).
Понятно, что модуль выбран за единицу общности АТ-схемы; экспорт в данном случае отсутствует.
Сравнивая результат со смыслом текста листингов, можем увидеть, что общая АТ-схема полностью передаёт его при данных свойствах АТ-языка; т.е. нам нет надобности составлять дракон-схемы процедур (и даже ПК-схему модуля). Это возможно потому, что импер-часть не определена.
Может показаться, что визуализация не слишком компактна по сравнению с прогтекстом. Однако на самом деле надо рассматривать также пояснительный текст книги к листингам; в совокупности, как можно убедиться он занимает площадь порядка формата А4, и разница становится уже не столь значительна. Но главное всё-таки не в компактности, а в другом – визуализация делает понятия и принципы, описанные в ЕЯ-тексте, наглядными, позволяет контролировать правильность и целесообразность построенной системы типов как сочинителю, так и иному читателю. Так, определённый прирост площади схемы даёт дублирование в локальных областях ветвей глобальных величин; однако это весьма удобно для контроля реального состава величин и перекрытия их по именам.
В схемах можно обнаружить некоторые "когнитивные изюминки" – предоставляем это читателям.
Пример основан на развитии визуализации процесса из Задания 1.1.1.
В задании составлена разнесённая АТ-модель, в которой каждая процедура визуализирована отдельной АТ-схемой. Обобщённая АТ-модель с совмещением всех процедур в одной схеме представлена на рисунке:
Обобщённая АТ-модель
Такая модель может составляться на основании разнесённой (в редакторе — автоматически, что отражено атрибутом статуса сочинения).
В начало страницы | Оглавление | Версия для печати
Copyright © Жаринов В.Н.