Применение механизма продукционных правил для вывода ограничений целостности в графических редакторах АСТПП
Методы, применяющиеся в современных графических пользовательских интерфейсах, которые дают возможность пользователю упростить процесс взаимодействия с информационной системой. Ограничение как математическое соотношение между множеством переменных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 22.08.2020 |
Размер файла | 198,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Применение механизма продукционных правил для вывода ограничений целостности в графических редакторах АСТПП
Митин А.А.
В последнее время появилось большое количество программных систем, служащих для создания графического пользовательского интерфейса в АСУТП и АСТПП. Растет интерес к методам их создания. Пользователь, как правило, не обладает специализированными знаниями, связанными с управлением сложными вычислительными системами. Поэтому в современных графических пользовательских интерфейсах (ГПИ) применяются различные методы, дающие возможность пользователю упростить процесс взаимодействия с системой. Среди этих методов - метод, основанный на метафоре модели мира, прямое манипулирование объектами, вывод геометрических ограничений целостности и т.д. При этом пользователь должен иметь возможность быстро изучать принципы работы с системой и наиболее эффективно решать свои прикладные задачи.
Исследования в области построения графического пользовательского интерфейса позволили выявить следующее:
1. Объекты современного графического пользовательского интерфейса должны сохранять геометрические соотношения.
2. Эти соотношения должны обслуживаться пользовательским интерфейсом вместе с графическими объектами в БД как ограничения целостности.
3. Проблема задания геометрических соотношений - ограничений целостности в пользовательских интерфейсах до конца не решена.
4. Существуют попытки логически выводить ограничения целостности из действий пользователя.
Ограничение - это математическое соотношение между множеством переменных. Оно считается удовлетворенным, если величины переменных соответствуют данному отношению. Отношения могут быть равенствами, неравенствами или более сложными. Если рассматриваемые переменные представляют атрибуты объектов, то ограничения можно рассматривать, как взаимоотношения между этими объектами. В графических приложениях такими объектами обычно являются графические примитивы.
Как было показано во многих работах, большое число задач автоматизации может быть решено за счет эффективного использования техники обработки ограничений. Особенно широко ограничения были использованы в задачах автоматического геометрического планирования в интерактивных пользовательских интерфейсах. Декларативная семантика языков ограничений позволяет определять графические объекты и их внутренние связи, избегая лишней информации о реализации алгоритмов визуализации. Одним из больших преимуществ использования ограничений является их способность описывать сложные объекты просто и естественно. Поэтому техника работы с ограничениями может использоваться для декларативного представления знаний о взаимном расположении объектов в процессе создания и ведения графической документации в графических редакторах АСТПП.
В программировании с ограничениями модель системы представляется в виде графа, включающего ограничения целостности и связываемые ими объекты.
В этой системе должны предусматриваться несколько механизмов. Один из них определяет состояния объектов, которые удовлетворяют всем требованиям, установленным ограничениями. Другой механизм позволяет осуществлять вывод ограничений или геометрических зависимостей, которые могут быть установлены между объектами. Таким образом, объекты связываются в единую сеть, и изменение состояния одного объекта ведет к изменениям во всей сети.
В качестве основных функций графического редактора, реализующего вывод геометрических ограничений целостности, можно выделить следующие:
1. Визуализация модели. В общей структуре системы графический редактор отвечает за визуализацию графических изображений с учетом их геометрических особенностей.
2. Управление взаимодействием с моделью. Графический редактор должен иметь набор средств для конструирования из элементарных объектов законченных изображений, и должен обеспечивать управление размерами графических объектов. Кроме того, в графическом редакторе должен присутствовать механизм, осуществляющий вывод ограничений целостности между объектами.
Перечисленные функции графического редактора должны реализовываться средствами пользовательского интерфейса. Следовательно, в общей структуре графического редактора с выводом ограничений пользовательский интерфейс занимает одно из центральных мест. Сформулируем основные требования к графическому редактору:
1. Проектируемые в графическом редакторе изображения имеют сложную структуру. Поэтому ПИ должен обеспечивать создание и управление объектами сложной структуры.
2. В процессе редактирования некоторые свойства графических объектов должны оставаться неизменными. Или иными словами, модель проектируемого изображения, с которой в процессе работы взаимодействует пользователь, должна сохранять свою целостность, а не распадаться на отдельные части.
3. В процессе создания и редактирования чертежа должен осуществляться логический вывод геометрических зависимостей для его объектов. Вследствие этого графический редактор должен иметь средства визуального представления выведенных зависимостей пользователю, позволяя ему выбрать и установить некоторое ограничение, тем самым в графический редактор должен быть встроен компонент - «интеллектуальный помощник». графический пользовательский интерфейс информационный
Помимо названных требований необходимо отметить и другие, которые учитывают человеческие факторы. Задача создания хорошего ПИ значительно усложняется тем, что при ее решении важно учитывать особенности пользователя-оператора, который в большинстве случаев является специалистом в своей предметной области и не имеет достаточного опыта работы с интерактивными графическими системами.
В соответствии с требованиями к пользовательскому интерфейсу графического редактора, реализующего вывод геометрических ограничений целостности, составляющих его компонентов и выполняемых им функций, на рисунке 1 представлена структура графического редактора с выводом и поддержкой ограничений целостности.
При анализе структуры графического редактора, реализующего вывод ограничений целостности, было выявлено, что его модель может быть представлена шестеркой объектов:
<G, C, F, R, P, V>,
где G - множество графических примитивов редактора;
C - множество ограничений, определенных в базовом наборе;
F - множество фактов, содержащих данные о графических объектах;
R - множество продукционных правил, использующихся для вывода ограничений;
P - множество графических представлений, необходимых для осуществления функции визуализации;
V - функция визуализации, отображающая множество графических примитивов на множество представлений: GP.
Набор порождающих правил или система продукций реализуются в форме правил, манипулирующих с символическими структурами типа списка векторов.
В результате алфавит канонической символьной системы заменяется словарем символов или атомов и простой грамматикой формирования символических структур. Словарь состоит из трех подмножеств:
· подмножества N имен объектов предметной области;
· подмножества P имен свойств, которые рассматриваются в качестве атрибутов объектов;
· подмножества V допустимых значений атрибутов.
Рисунок 1 - Структура графического редактора с выводом ограничений целостности
Подмножества N и V обычно перекрываются.
Используемая грамматика имеет вид триад объект-атрибут-значение. Триада (v,р,w) существует, если v N и р P, и w V. Например, триада (ТОЧКА, координата, значение) представляет отдельную точку, одна из координат которой имеет определенное значение.
Представленная синтаксическая форма обобщается в том случае, когда нужно для некоторого объекта v представить n вариантов пар атрибут-значение (р1,w1),…, (рn,wn). В таком случае они объединяются в вектор в форме (v, р1, w1, рn, wn) [4].
Для реализации продукционной системы в составе графического редактора АСТПП разработан специализированный язык представления продукционных правил для вывода ограничений целостности. В данном подходе левая часть правила или условие детализируется и состоит из двух частей: условие сопоставления конкретного объекта определенному классу (Сопоставить) и проверка атрибутов графического объекта на удовлетворение определенным условиям (Проверить). Правая часть правила состоит также из двух частей: создание нового факта в рабочей памяти (Создать) и выполнение методов, относящихся к определенным объектам (Выполнить). Эти методы могут быть направлены на модификацию значений атрибутов графических объектов или удаление определенных фактов (объектов) из рабочей памяти.
На рисунке 2 показан пример правила для ограничения параллельности отрезков, построенного на основе специализированного языка представления правил.
Рисунок 2 - Пример определения правила для ограничения параллельности отрезков
Разработанный механизм вывода геометрических ограничений целостности использует алгоритм, построенный на основе усовершенствованного алгоритма Rete. Разработанный алгоритм использует для представления модели системы граф или сеть. В контексте прямой цепочки рассуждений, алгоритм определяет процедуру, которая работает путем перемещения каждого нового факта через узлы сети, каждый из которых представляет операцию реляционной алгебры на одном или нескольких отношениях. Каждый факт представляет информацию об определенном графическом объекте. Узлы сети Rete делятся на два вида: альфа-узлы и бета-узлы. Альфа-узел - узел, в котором хранится отношение для определенного антецедента (левой части) продукционного правила. Отношение каждого альфа-узла накапливает все факты или утверждения, формирующиеся посредством операции SELECT. Бета-узел сети Rete - узел, хранящий результат объединения нескольких отношений, выполняемого с помощью операции реляционной алгебры JOIN.
На рисунке 3 представлена сеть Rete для правила, проверяющего отношение длин между двумя отрезками. Узлы A1, A2, A3 - альфа-узлы, сформированные для каждого антецедента продукционного правила с помощью операции реляционной алгебры SELECT. Узлы B12, B23 - бета-узлы, полученные объединением отношений альфа-узлов посредством операции JOIN. Результирующее отношение, хранящееся в узле Результат, формируется посредством операции проекции PROJECT по соответствующим атрибутам графических объектов.
Так как для вывода ограничений используется продукционная система, то сложность алгоритма вывода ограничений полностью зависит от алгоритма, выбранного для функционирования продукционной системы. Для реализации механизма вывода был использован алгоритм, построенный на основе усовершенствованного алгоритма Rete. Известно, что сложность алгоритма Rete зависит от количества правил (точнее, от общего количества элементарных условий в левой части правил) и количества фактов в системе.
Таким образом, сложность алгоритма Rete составляет O(с*f), где с - общее количество элементарных условий в левой части правила, а f - количество фактов.
Так как количество фактов при усложнении графического изображения (чертежа) увеличивается, в результате работы системы вывода появляется большое количество вопросов к пользователю по принятию тех или иных ограничений. Для устранения такого эффекта было принято решение производить в системе вывод новых ограничений только для выделенных объектов. В результате время работы алгоритма вывода ограничений перестало зависеть от общего количества фактов, представляющих данные об графических объектах, тем самым сложность алгоритма вывода составляет O(c). Так как набор правил фиксирован, то время работы алгоритма вывода ограничений также фиксировано.
Рисунок 3 - Сеть Rete для правила, проверяющего отношение длин между двумя отрезками
Литература
1. Myers, B. A. Creating Interaction Techniques by Demonstration [Text] / B.A. Myers // IEEE Computer Graphics and Applications. - 1987. - P. 51 - 60.
2. Myers, B. A. Creating User Interfaces by Demonstration [Text] / B.A. Myers. - Boston: Academic Press. - 1988.
3. Borning, A. Constraint-Based Tools for Building User Interfaces [Text] / A. Borning, Duisberg // ACM Transactions on Graphics, 1986. - Vol. 5. - N.4. - P. 345 - 374.
4. Питер, Дж. Введение в экспертные системы [Текст] : учеб. пособие : [пер. с англ.] / Джексон Питер. - М.: Издательский дом «Вильямс», 2001. - 624 с.
5. Рамбо, Дж. UML [Текст] : специальный справочник / Дж. Рамбо, А. Якобсон, Г. Буч. - СПб.: Питер, 2002. - 656 с.
Размещено на Allbest.ru
...Подобные документы
Общие сведения о графических редакторах, понятия компьютерной растровой и векторной графики, форматов. Обзор и сравнительный анализ современных программ обработки и просмотра графических изображений: Paint, Corel Draw, Adobe Photoshop, MS PowerPoint.
дипломная работа [283,9 K], добавлен 09.08.2010Особенности формирования растрового изображения. Графические примитивы, которые используются наиболее часто в современных графических системах (линии и фигуры). Основные алгоритмы создания растровых изображений в графических компьютерных программах.
презентация [883,6 K], добавлен 26.01.2015Типы графических объектов в среде Mathlab. Команды и функции, которые предназначены для открытия графических окон (figure) и принципы управления ими. Структура и работа программы, ее структура и сферы применения. Анализ результатов работы программы.
реферат [182,2 K], добавлен 21.01.2015Характеристика цифровых изображений, применяющиеся в издательской деятельности. Отличительные особенности растровых и векторных изображений, понятие цветового охвата, изучение моделей для описания отраженных цветов. Форматы и виды графических файлов.
контрольная работа [22,9 K], добавлен 16.09.2010Растровая графика, составление графических изображений из отдельных точек (пикселей). Растровые графические редакторы. Векторная графика - построение изображения из простых объектов. Достоинства, недостатки и применение растровой и векторной графики.
презентация [7,8 K], добавлен 06.01.2014Виды графических редакторов. Форматы файлов для хранения растровых графических изображений. Среда графического редактора. Панели инструментов и режимы работы графических редакторов. Инструменты редактирования рисунка. Изменение шрифта текста на рисунке.
контрольная работа [246,6 K], добавлен 16.12.2010История развития графических адаптеров и их характеристики. Конкуренция изготовителей ATI и NVIDIA как "двигатель прогресса" графических адаптеров. Обзор основных моделей: ATI Radeon, Nvidia GeForce FX. Критерии выбора графических адаптеров при покупке.
реферат [134,7 K], добавлен 14.11.2013Общая характеристика растровых и векторных графических форматов: поддержка графическими редакторами, применение и отличия друг от друга. Специфика алгоритмов кодирования данных в исследуемых форматах, их совместимость с программным обеспечением.
презентация [25,2 K], добавлен 06.01.2014Изучение теоретического материала, касающегося общих сведений о СУБД MySQL, синтаксиса, а также ее характеристик и возможностей. Формулировка и обоснование разных ограничений семантической и ссылочной целостности, реализуемых в информационных системах.
курсовая работа [571,3 K], добавлен 21.10.2012Графические компоненты экрана, системные объекты и функции. Система средств взаимодействия пользователя с устройством. История графических пользовательских интерфейсов персональных компьютеров, их классификация. Оконная система X Window System.
презентация [5,4 M], добавлен 22.05.2012Общая характеристика СУБД MySQL. Отличительные черты физической организации хранения и обработки данных, имеющимся в СУБД MySQL. Характер связи между таблицами. Реализация ограничений семантической и ссылочной целостности на примере "Салон магии".
курсовая работа [965,5 K], добавлен 13.01.2013Создание инструмента проектирования и прототипирования графических пользовательских интерфейсов сложных информационных систем. Интерфейс пользователя и командной строки. Средства прототипирования и их характеристики. Создание интерактивных прототипов.
дипломная работа [2,4 M], добавлен 04.07.2011Описание математических методов представления и обработки графических изображений. Описание разработанного программного дополнения. Описание функций и их атрибутов. Представление и обработка графических изображений. Результаты тестирования программы.
курсовая работа [1,7 M], добавлен 27.01.2015Анализ графических пользовательских интерфейсов современных систем оптимизации программ. Создание математической модели и алгоритма системы управления СБкЗ_ПП, ее архитектурно-контекстная диаграмма. Техническая документация программного средства.
дипломная работа [1,1 M], добавлен 18.04.2012Особенности подготовки иллюстраций в печатных изданиях в различных графических редакторах. Понятие цветоделения и его назначение. Методы печати иллюстраций. Особенности программы векторной графики Corel Draw. Анализ возможностей программы Adobe PhotoShop.
дипломная работа [1,7 M], добавлен 19.07.2010Применение гетерогенных вычислительных систем в задачах молекулярной динамики. Потенциалы взаимодействия частиц. Процесс разработки приложения с использованием Altera Open CL Compiler. Сравнение архитектур ГУ и ПЛИС, их пиковая производительность.
дипломная работа [2,0 M], добавлен 22.08.2017Существующие методы нахождения графических примитивов и программных реализаций. Базовое преобразование Хафа: поиск прямых, выделение окружностей на изображении, нахождение кривых высшего порядка. Составление руководства программиста и пользователя.
курсовая работа [2,7 M], добавлен 20.03.2012GIF как формат хранения графических изображений, возможности. Анализ особенностей сжатия по методу LZW. Характеристика графического формата ВМР. CMY как аппаратно-ориентированная модель, используемая в полиграфии для субтрактивного формирования оттенков.
дипломная работа [673,9 K], добавлен 28.05.2013Программы компьютерной графики для рисования. Основные инструменты для создания рисунка в графических редакторах. Выделение объектов в векторном редакторе. Описание этапов создания текстового граффити на кирпичной стене с помощью программы Photoshop.
курсовая работа [2,1 M], добавлен 04.07.2014Растровые и векторные графические редакторы. Формирование изображений, форматы графических файлов. Особенности векторной графики, ее достоинства. Построение треугольника и гиперболы по алгоритму Бразенхема. Математические модели поверхностей и объектов.
курсовая работа [769,5 K], добавлен 21.12.2013