РАЗДЕЛ 2
ИССЛЕДОВАНИЕ МЕТОДОВ ПОСТРОЕНИЯ ЭКСПЕРТНОЙ
СИСТЕМЫ
2.1. Исследование предметной области экспертной системы
Область экспертизы для решаемых задач состоит в трансформации визуальной
информации, отражающей некоторый проект, описанный своей структурной схемой и
поведением в программный код на определенном языке программирования или
моделирования.
При употреблении системы автоматизации проектирования проектировщик использует
в качестве входного языка своего проекта визуальную информацию, язык
представления которой близок к принятому в данной области языку описания
проектов, в виде схемы проектируемого объекта и описания поведения. При
дальнейшем преобразовании входной информации система автоматизации
проектирования использует специально созданную экспертную систему. Данная
экспертная система в ходе преобразования исходной информации в программный код,
оперирует с визуальной информацией. Очевидно, что обработка визуальной
информации требует значительно больших вычислительных ресурсов, чем работа со
строковой информацией. Поэтому есть необходимость преобразования визуальной
информации в текстовую. Обрабатывая в дальнейшем текст, можно значительно
ускорить процесс функционирования экспертной системы. Кроме того, вводится
единая форма языкового представления проектов, которая может служить средством
представления фактических знаний о проекте.
В целом схема преобразования визуальной информации в программный код
представлена на рис. 2.1. Интеллектуальной системой преобразования,
изображенной на этом рисунке, является экспертная система.
Рис. 2.1. Общая схема преобразования визуального описания
компонента в код
Для проектировщика предпочтительнее работать с графическим интерфейсом, что
позволяет оперировать зрительными образами (компонентами), однозначно
трактуемыми на всех уровнях декомпозиции, отображающими связи, взаимодействия и
функциональное поведение, как каждого компонента, так и их совокупности. Сейчас
известно большое количество сред разработки программного обеспечения (ПО),
например, С++Builder, BPwin, ERwin, Rational Rose для создания ПО различного
назначения. Ясно, что графический интерфейс среды разработки проекта должен
быть близок к языку разработки в этой области.
Структурная форма иерархии проекта подразумевает процесс декомпозиции проекта,
т.е. проектирование «сверху - вниз». Исходное описание проекта представляется в
форме языковой конструкции некоторого формального языка (язык проектировщика).
Далее эта конструкция трансформируется в последовательность промежуточных
представлений. Конечным представлением является конструкция на языке
программирования или моделирования. Задача среды проектирования –
автоматизировать процессы трансформации от исходного представления проекта до
получения кода, для чего необходимо формализовать все описания.
Формализация описаний производится на основе компонентной технологии, где
базовым элементом выступает компонент. У компонента описываются входы и выходы,
а так же его поведение. Компонент может быть примитивом или моделью более
низкого уровня. На любом уровне моделирования модель – совокупность связанных
компонентов, а компонент может трактоваться и как примитив, и как модель более
низкого уровня. Если компонент трактуется как примитив, то это обозначает, что
описаны его входы и выходы и задано поведение. Поведение компонента-примитива
может описываться таблицами вход-выход, булевыми функциями, алгоритмами. Если
компонент описывается моделью более низкого уровня, его поведение описывается
композицией поведения входящих в него компонентов более низкого уровня.
Пусть визуально примитив представляется так, как показано на рис. 2.2. Здесь
поведение примитива описывается таблицей истинности, где каждый входной и
выходной сигнал имеют свои спецификации.
<имя примитива>:ТАБЛИЦА: <таблица истинности, ставящая в соответствие
комбинации входов выходы>
Рис. 2.2. Представление визуальным компонентом примитива и его поведения
Для формализации иерархии уровней и соединения компонентов между собой можно
применить графовые представления (описание структуры проекта), которые
преобразуются в строковые представления, называемые графовой продукцией.
Продукция состоит из двух частей – левой и правой, соединенных стрелкой. В
левой части продукции находятся имя компонента и его интерфейсы. В правой части
продукции расшифровывается структура схемы более низкого уровня или задается
поведение компонента. Рассмотрим графовые продукции на примере. Схема
какого-либо уровня есть не что иное, как граф с помеченными вершинами и дугами.
В общем случае количество меток вершины может быть больше одной, но одна из них
является уникальной – это имя компонента в иерархии уровней. Метки дуг
представляют собой данные, тип которых должен быть описан либо непосредственно
на схеме данного уровня, либо на схеме более высокого уровня.
Поясним состав упрощенной графовой продукции на примере графа, представленного
рисунком 2.3.
Рис. 2.3. Граф, состоящий из трех компонент
Пусть в процессе проектирования некоторого объекта появляется компонент К с
тремя соединениями: Х1, Х2 – входы; Y – выход. Этот компонент может быть
представлен как
Числа 1, 2, 3 обозначают точки сочленения данного компонента с другими
компонентами, а Х1, Х2, Y – данные, типы которых могут описываться
непосредственно на компоненте. Компонент К расшифровывается как структура,
состоящая из компонентов К1, К2, К3, описанных аналогично К. Графовая продукция
есть строка вида:
К(1:3, 2:3, 3:5) К1.К2.К3(4.1.0, 3-2.0.0, 1.0.0, 5.0.2, 0.2.0, 0.3.4, 0.4.3,
(2.1)
В лев
- Київ+380960830922