Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций.doc
Скачиваний:
106
Добавлен:
02.05.2014
Размер:
686.08 Кб
Скачать

2.3 Средства проектирования и реализации интеллектуальных пакетов прикладных программ

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

┌───────┐

│МОНИТОP│

└───┬───┘

┌───────┼───────┐

┌─┴─┐ ┌─┴─┐ ┌─┴─┐

│ППП│ │БД │ │БЗ │

└───┘ └───┘ └───┘

Рисунок 2.9 - Структура интеллектуального пакета прикладных программ

Монитор семантического моделирования - это интерактивная оболочка, предназначенная для проектирования, комплексирования, отладки и эксплуатации прикладных программных систем различного назначения. Наибольший эффект дает применение монитора для создания систем, содержащих большое число программных модулей: САПР, АСНИ, прикладные графические системы, БД и БЗ, экспертные системы и т.п.

Монитор семантического моделирования несет следующие функции:

- управление вычислительным процессом на основе унифицированного человеко-машинного интерфейса, ориентированного на данные;

- синтез оптимального по времени и точности вычислительного процесса по интегральному критерию качества;

- вызов необходимых функций визуализации и манипулирования данными;

- обеспечение легкой модифицируемости и расширяемости системы.

База знаний целевой системы включает в себя процедурные знания, представленные в виде прикладных программных модулей пакета прикладных программ (ППП), которые реализуют частные математические модели и алгоритмы обработки информации, и декларативные знания. Последние содержат информацию о библиотеке функциональных модулей, порядке их использования и о составе и структуре информационных объектов моделируемой предметной области. Декларативная информация, согласно которой синтезируется вычислительный процесс решения задачи пользователя, представляется в базе знаний в виде семантической сети. Эти знания представляют собой априорную информацию о закономерностях соответствующей предметной области и вариантах их реализации в пакете прикладных программ. Традиционно эти знания не подвергались формализации, что приводило к значительным затратам на сопровождение программ и существенным неудобствам конечного пользователя, которому приходилось тщательно изучать состав и назначение модулей библиотеки. При большом объеме библиотеки (сотни программных единиц) становится совершенно невозможным непосредственно использовать подобную систему специалисту-предметнику. Применение в рамках СУБЗ машины алгоритмического вывода на семантической сети позволяет не только автоматически организовать вычислительный процесс, но и оптимизировать его по интегральному критерию минимальной сложности в зависимости от требований к решению задачи.

Использование СУБЗ в составе монитора значительно упрощает процесс постановки задачи. Для этого пользователю достаточно указать объекты исходных и искомых данных, а не последовательность процедур их обработки. Такая гибкость использования прикладного программного обеспечения делает возможным выход за рамки решения стандартных задач. Задав сложный запрос к базе знаний, можно сформулировать принципиально новую, ранее не решавшуюся задачу в рамках исходной предметной области и получить программу ее решения. Использование моделей неопределенности в описателях данных позволяет получать решения в информационном смысле некорректно поставленных задач: при нехватке исходной информации недостающие данные генерируются автоматически с учетом соответствующих вариалов.

Таким образом, БЗ хранит:

- семантические сети предметной области решаемых задач;

- описатели программных модулей;

- описатели наборов данных.

В мониторе реализуется объектно-ориентированое представление данных в виде семантической среды, для поддержки которой используют СУБД нереляционного типа. В базе данных хранятся:

- значения информационных полей объектов;

- протоколы работы с информационной средой;

- типовые процессы решения стандартных задач.

Накапливаемая в БД информация обобщается и используется для самообучения системы.

Монитор интеллектуального пакета прикладных программ (ИППП) использует описание семантической сети пакета на входном языке, формальная грамматика которого представлена на рисунке 2.7.

программа = S-секция F-секция R-секция I-секция C-секция

S-секция = *S s-имя {s-имя}

F-секция = *F f-имя {f-имя}

R-секция = *R {f-имя ( {s-имя} > {s-имя} )}

I-секция = *I s-имя {s-имя}

C-секция = *C s-имя left right top bottom {s-имя left right top bottom}

Рисунок 2.10 - Грамматика входного языка монитора ИППП

Программа монитора состоит из пяти секций, каждая из которых начинается именем секции (*S, *F, *R, *I и *C). Предложения программы записываются по одному в строчку или через пробел. S-секция содержит список имен s-объектов (файлов данных) программы, F-секция - список имен f-объектов (исполняемых модулей) программы. R-секция предназначена для описания вычислительной сети предметной области. Предложения этой секции содержат имя исполняемого модуля, его входные и выходные файлы данных. Предложения I-секции содержат описания файлов данных, которые при синтезе алгоритма решения задачи пользователя считаются известными (добавляются в список исходных s-объектов задачи). C-секция описывает координаты: ординаты верхней и нижней границы, абсциссы правой и левой границы отображаемого s-объекта в абсолютной системе координат экрана монитора в текстовом режиме. Отображаемый s-объект воспринимает щелчки мышки в его экранной области и изменяет свой цвет. Цвет s-объекта обозначает его состояние: искомый, исходный и нейтральный. С помощью выделения исходных и искомых объектов пользователь ставит системе задачу, которая решается с применением модулей пакета прикладных программ по автоматически синтезированному алгоритму.

Монитор использует в своей работе два системных файла:

- config.knb - файл базы знаний с описанием вычислительной сети предметной области на входном языке монитора;

- pict.knb - файл экранного образа. Это текстовый файл, содержащий изображение, на фоне которого происходит высвечивание отображаемых объектов вычислительной сети.

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

Первоначально монитор работает в режиме View. В этом состоянии при щелчке мышью в области отображаемого s-объекта вызывается программа редактирования и визуализации, соответствующая этому объекту. Соответствие задается при описании вычислительной сети в файле config.knb: если f-объект имеет некоторыйый s-объект в качестве своего входного и выходного параметра, значит данный f-объект является программой редактирования и визуализации этого s-объекта.

При выборе пункта меню Mark монитор переходит в режим постановки задачи. В этом режиме щелчки мыши в области отображения s-объекта меняют его цвет. Зеленый цвет обозначает исходные s-объекты задачи, красный - искомые, сиреневый - исходные и искомые, фиолетовый - нейтральные. Выделяя цветом нужные объекты, пользователь ставит задачу системе.

Выбором пункта меню Calculate монитор переводится в режим вычислений. В этом режиме по описанию задачи пользователя автоматически синтезируется алгоритм ее решения, затем выполняются действия по этому алгоритму: запускаются на выполнение соответствующие модули пакета прикладных программ с параметрами, указанными в описании вычислительной сети в файле config.knb. По окончании вычислений монитор автоматически переходит в режим View для просмотра результатов работы алгоритма.

View Mark Calculate Exit

╔═════════GREEN-in RED-out MAGENTA-i/o VIOLET-view═════[↑]═╗

║ ║

║ ┌────────ОБУЧАЮЩАЯ ВЫБОРКА────────┐ ▲

║ │ │ ◘

║ │ ╔════════╗ ╔═══════╗ │ ╔═══════════╗ ░

║ │ ║СИМПТОМЫ║ ║ДИАГНОЗ║ │ ║ АЛГОРИТМ ║ ░

║ │ ╚════════╝ ╚═══════╝ │ ║ДИАГНОСТИКИ║ ░

║ │ │ ╚═══════════╝ ░

║ └─────────────────────────────────┘ ░

║ ┌───────КОНТРОЛЬНАЯ ВЫБОРКА───────┐ ░

║ │ │ ╔═══════════╗ ░

║ │ ╔════════╗ ╔═══════╗ │ ║ПОКАЗАТЕЛИ ║ ░

║ │ ║СИМПТОМЫ║ ║ДИАГНОЗ║ │ ║ КАЧЕСТВА ║ ░

║ │ ╚════════╝ ╚═══════╝ │ ║ДИАГНОСТИКИ║ ░

║ │ │ ╚═══════════╝ ░

║ └─────────────────────────────────┘ ░

║ ┌───────────ДИАГНОСТИКА───────────┐ ░

║ │ │ ░

║ │ ╔════════╗ ╔═══════╗ │ ░

║ │ ║СИМПТОМЫ║ ║ДИАГНОЗ║ │ ░

║ │ ╚════════╝ ╚═══════╝ │ ░

║ │ │ ▼

║ └─────────────────────────────────┘ ║

╚═◄░◘░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░►═╝

Рисунок 2.11 - Экран диалога экспертной системы

Монитор интеллектуального пакета прикладных программ реализует пользовательский интерфейс типа DWIM (Do What I Mean - Делай, Что Я имею в Виду). Он отличается от ставшего традиционным интерфейса WIMP (Window Icon Menu Pointer - Окно Пиктограмма Меню Указатель) тем, что этот подход не требует от пользователя подачи заранее известных системе команд, алгоритма обработки данных. Система выполняет те действия, которые неявно подразумевает пользователь, формулируя условия задачи. Эти действия являются "осмысленной" реакцией машины на запрос человека, результатом анализа автоматом формализованных знаний о предметной области и синтеза решения. В этом заключается "интеллектуальность" интерфейса DWIM.

Интерфейс DWIM является более естественным способом взаимодействия человека с информационной системой, поскольку он ориентирован на данные, изначально более декларативен. Человек объясняет машине, что он хочет получить, а не как это сделать. Преимущества этого типа интерфейса раскрываются в полной мере, когда пользователь не знает алгоритма обработки информации. От него не требуется знаний состава и правил применения модулей пакета прикладных программ (базисного набора вычислителя). Это позволяет сократить до минимума время обучения использованию системы и сосредоточить внимание пользователя на его профессиональных задачах, способствует обеспечению более дружественной среды информационной поддержки решения прикладных задач.

При работе монитора интеллектуального пакета прикладных программ возможны 3 варианта реализации пользовательского интерфейса DWIM:

а) пользователь явно отмечает исходные и искомые данные, синтез алгоритма решения и вычисления инициируются командой меню CALC. Этот способ наиболее эффективен при реализации прикладных программ в виде отдельных исполняемых модулей, когда вычисления могут занимать много времени по сравнению с интерактивной реакцией системы.

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

в) при автоматическом контроле изменений данных и вычислительных зависимостей между ними вычисления производятся при попытке обращения к данным (до визуализации), значения которых зависят от измененных данных. Этот метод не требует обращения к пункту меню Calculate, но неэффективен при многократно повторяющихся расчетах по одному и тому же алгоритму, так как каждый раз требует затрат времени на синтез алгоритма.

Наиболее оптимальным может быть сочетание этих методов и предоставление пользователю возможности выбора любого из них в зависимости от решаемой задачи.

Описанная выше структура прикладной программной системы порождает следующую CASE-технологию проектирования и разработки:

- формализовать знания о предметной области в виде вычислительной сети, специфицируя типы данных s-объектов и алгоритмы f-объектов;

- описать вычислительную сеть на входном языке монитора - системный файл config.knb;

- создать экранную форму в системном файле pict.knb;

- выделить отображаемые s-объекты вычислительной сети;

- задать их координаты в файле config.knb;

- разработать и отладить программы визуализации и редактирования отображаемых s-объектов;

- реализовать прикладные программы обрабатывающие модули пакета прикладных программ;

- с помощью созданных интерактивных модулей и монитора протестировать каждый обрабатывающий модуль в отдельности и всю систему вцелом на решение наиболее часто встречающихся задач.

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