Научная статья на тему 'Применение вычислительных моделей для создания редактора диаграмм'

Применение вычислительных моделей для создания редактора диаграмм Текст научной статьи по специальности «Математика»

CC BY
179
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИАГРАММА / ВИЗУАЛЬНЫЙ ЯЗЫК / ВИЗУАЛЬНЫЙ СИНТАКСИС / ВЫЧИСЛИТЕЛЬНАЯ МОДЕЛЬ ТЫУГУ / УНИВЕРСАЛЬНЫЙ РЕДАКТОР ДИАГРАММ / DIAGRAM / VISUAL LANGUAGE / VISUAL SYNTAX / TYUGU COMPUTATIONAL MODEL / UNIVERSAL DIAGRAM EDITOR

Аннотация научной статьи по математике, автор научной работы — Степанов П.А., Охтилев М.Ю.

Рассматриваются модели и методы описания формального синтаксиса визуального языка. Используется адаптированная вычислительная модель Тыугу, на основе которой созданы универсальный редактор и формальное описание ERдиаграмм для него.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Степанов П.А., Охтилев М.Ю.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Application of computational models to creation of universal diagram editor

Models and methods of description of visual language formal syntax are considered. An adapted computational model Tyugu is employed; the model is used as a base for development of a universal editor and a formal description of ER-diagram for it.

Текст научной работы на тему «Применение вычислительных моделей для создания редактора диаграмм»

УДК 681.3

DOI: 10.17586/0021-3454-2016-59-11-939-943

ПРИМЕНЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МОДЕЛЕЙ ДЛЯ СОЗДАНИЯ РЕДАКТОРА ДИАГРАММ

П. А. Степанов, М. Ю. Охтилев

Санкт-Петербургский государственный университет аэрокосмического приборостроения,

190000, Санкт-Петербург, Россия E-mail: pavel@stepanoff.info

Рассматриваются модели и методы описания формального синтаксиса визуального языка. Используется адаптированная вычислительная модель Тыугу, на основе которой созданы универсальный редактор и формальное описание ER-диаграмм для него.

Ключевые слова: диаграмма, визуальный язык, визуальный синтаксис, вычислительная модель Тыугу, универсальный редактор диаграмм

В современных условиях постоянно возрастает объем получаемой человеком информации, поэтому крайне актуальной является задача по упрощению ее восприятия. Один из способов решения этой задачи — представление данных в виде рисунков и схем. В ряде областей этот подход практически вытеснил все остальные. В частности, применительно к разработке программного обеспечения (ПО) следует отметить ER-диаграммы [1] и язык UML [2], являющиеся основными средствами анализа и проектирования.

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

В настоящей статье продемонстрирован подход на основе моделей, сходных с вычислительными моделями Тыугу [3], и показана его применимость к созданию простого редактора ER-диаграмм.

Существует множество формализмов для создания универсального редактора диаграмм. Основным из них являются графовые грамматики — адаптированные формальные подходы для описания текстовых языков [4]; известны и другие подходы — на основе теории категорий [5], ^-исчисления [6] и пр. При этом можно выделить две общие проблемы. Прежде всего, это отсутствие у диаграмм начала и конца, что создает трудности при выборе точки начала анализа; другим недостатком является характерное деление диаграммы на содержащий графическую составляющую пространственный граф отношений (ПГО) и содержащий смысловую нагрузку абстрактный граф синтаксиса (АГС) с последующим анализом только АГС. Все это не способствует широкому использованию универсальных редакторов.

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

Приведем определения диаграммы и визуального языка, принятые в работе [7].

Определение 1. Диаграммой называется пара Б = {I,Я}, где Б — диаграмма, I —

множество изображений, Я — множество отношений между этими изображениями.

Определение 2. Визуальным языком называется множество всех допустимых для него диаграмм.

Для задания вычислительной модели визуального языка введем следующие определения.

Определение 3. Атрибутом называется пара а = {п,к} , где п — имя атрибута или 0, если имя атрибута не задано; к — значение атрибута или 0, если значение не определено.

Определение 4. Визуальным примитивом называется пара V = |а,^(а)}, где А —

множество атрибутов примитива, f (а) — графическая функция (функция, преобразующая

значения атрибутов в изображение).

Определение 5. Диаграммой называется множество Б = {А,О,V,Я}, где:

А — множество атрибутов, такое что А = Ап и Ау,, где Ап — множество невизуальных атрибутов и Av — множество визуальных атрибутов, т.е. существует однозначное отображение из Av в V;

О — алгебраическая система, заданная на атрибутах;

V — мультимножество визуальных элементов диаграммы, V е V ^ V еУ^ , где Уг — предопределенное множество известных визуальных элементов, для которого верно, что У а е А, А е V, V еV ^ а е А , Уа е А ^ а е А е V еV, т.е. множество А состоит из тех и только тех атрибутов, которые принадлежат визуальным элементам из V ;

Я — множество правил вида соиё (е{): а{ = fj (А'); а{ е А, А' с А , где ^ задано в рамках алгебраической системы О, где е1 — условие, при истинности которого выполняется присвоение а1 = fj (а) (для краткости в случае если условие всегда истинно, правило записывается как а1 = fj (а) ).

Как показано в работе [8], вычислительные модели визуального языка образуют строго формализованную семантическую сеть. Пример описания диаграммы такой сетью, состоящей из трех объектов, приведен на рисунке, где а — визуальные элементы — две окружности и соединяющий их отрезок прямой, а также их представление в виде логических объектов с атрибутами; б — семантическая сеть, описывающая отношения между атрибутами (прямоугольники, показанные штриховыми линиями) и функциями (прямоугольники из сплошных линий).

Вычислительные модели Тыугу эффективны для сравнительно простых задач вида „вычислить значение по набору других значений", однако в сложной системе с обратными связями модель Тыугу нуждается в уточнении. Рассмотрим алгоритм вычисления модели, введя предварительно следующее определение.

Определение 6. Воздействием на диаграмму Б = {А,О,V,Я} называется подмножество множества АА = |<51, ^2, ■■■, 01п} , где для любого а{ = [щ,к{} е А 3а{ = ^,ki }е АА , т.е. атрибуты с совпадающими именами имеют, возможно, различные значения.

состоит из двух этапов. На первом этапе осуществляется первоначальное изменение некоторых переменных A (воздействие на модель). На втором этапе применяются правила R до тех пор, пока не будет установлено, что не осталось применимых правил; при этом a добавляется в множество A . Любое правило wnd (c{) : a{ = f (A'); a{ e A, A' с A из множества R может

быть применено при соблюдении следующих условий:

— новое значение ki еще не получено;

— пересечение A' и A не пусто;

— условие ^nd истинно.

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

Разработанный редактор состоит из трех основных частей — математического ядра, реализующего вычислительную модель, контроллера представления, выполняющего манипуляции над объектами, и собственно графического интерфейса на Java Swing.

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

Контроллер представления преобразует описание языка в логику интерфейса. Любое необходимое действие можно представить в виде вычисления математическим ядром

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

Для проверки рассмотренной модели реализован дескриптор, описывающий простую ER-диаграмму, с возможностью трансляции в код на языке SQL. По результатам сделаны следующие выводы:

— предложенный подход работоспособен для простых визуальных языков;

— логика дескриптора ER-диаграммы перегружена мелкими деталями, поэтому необходимо создание высокоуровневых элементов визуального алфавита;

— полностью отказаться от программирования в пользу математических операций не удалось даже для простой диаграммы;

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

Исследования, выполненные по данной тематике, проводились при финансовой поддержке ведущих университетов Российской Федерации: Санкт-Петербургского политехнического университета Петра Великого (мероприятие 6.1.1) и Университета ИТМО (субсидия 074-U01), а также Программы НТС Союзного государства „Мониторинг-СГ" (проект 1.4.1-1), Российского фонда фундаментальных исследований (гранты № 15-07-08391, 15-08-08459, 16-07-00779, 16-08-00510, 16-08-01277), Программы фундаментальных исследований ОНИТ РАН (проект № 2.11), в рамках бюджетных тем № 0073-2014-0009, 0073-2015-0007.

список литературы

1. Chen P. The entity-relationship model-toward a unified view of data // ACM Transact. on Database Systems. 1976. Vol. 1, N 1. P. 9—36.

2. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. М.: ДМК Пресс, 2004.

3. Тыугу Э. Х. Концептуальное программирование. М.: Наука, 1984.

4. Pfaltz J. L., Rosenfeld A. Web grammars // Intern. Joint Conf. on AI; Washington, DC, USA. 1969. P. 600—619.

5. Ehrig H., Ehrig K., Prange U., Taentzer G. Fundamentals of Algebraic Graph Transformation. Berlin, Heidelberg, New York: Springer, 2006.

6. Erwig M. Functional programming with graphs // 2nd ACM SIGPLAN Intern. Conf. on Functional Programming. Amsterdam. 1997. P. 52—65.

7. Chang S-K. Visual languages: A tutorial and survey // IEEE Software Magazine. 1987. Vol. 4, is. 1. P. 29—39.

8. Степанов П. А., Охтилев М. Ю. Вычислительная модель визуального языка // Изв. вузов. Приборостроение. 2006. Т. 49, № 11. С. 28—32.

Сведения об авторах

Павел Алексеевич Степанов — СПбГУАП, кафедра компьютерных технологий и программной инженерии; ст. преподаватель; E-mail: pavel@stepanoff.info Михаил Юрьевич Охтилев — д-р техн. наук, профессор; СПбГУАП, кафедра компьютерных технологий и программной инженерии; E-mail: oxt@mail.ru

Рекомендована СПИИРАН Поступила в редакцию

01.06.16 г.

Ссылка для цитирования: Степанов П. А., Охтилев М. Ю. Применение вычислительных моделей для создания редактора диаграмм // Изв. вузов. Приборостроение. 2016. Т. 59, № 11. С. 939—943.

APPLICATION OF COMPUTATIONAL MODELS TO CREATION OF UNIVERSAL DIAGRAM EDITOR

P. A. Stepanov, M. Yu. Okhtilev

St. Petersburg State University of Aerospace Instrumentation, 190000, St. Petersburg, Russia E-mail: pavel@stepanoff.info

Models and methods of description of visual language formal syntax are considered. An adapted computational model Tyugu is employed; the model is used as a base for development of a universal editor and a formal description of ER-diagram for it.

Keywords: diagram, visual language, visual syntax, Tyugu computational model, universal diagram

editor Pavel A. Stepanov

Mikhail Yu. Okhtilev —

For citation: Stepanov P. A, Okhtilev M. Yu. Application of computational models to creation of universal diagram editor // Izv. vuzov. Priborostroenie. 2016. Vol. 59, N 11. P. 939—943 (in Russian).

DOI: 10.17586/0021-3454-2016-59-11-939-943

Data on authors

St. Petersburg State University of Aerospace Instrumentation, Department of Computer Technologies and Software Engineering; Senior Lecturer; E-mail: pavel@stepanoff.info

Dr. Sci., Professor; St. Petersburg State University of Aerospace Instrumentation, Department of Computer Technologies and Software Engineering; E-mail: oxt@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.