2. Фокс, А. Вычислительная геометрия. Применение в проектировании и на производстве / А. Фокс, М. Пратт; пер. с англ. -М.: Мир, 1982. - 304 с.
Митюков Виктор Вениаминович, инженер отдела автоматизации УВАУ ГА (И), научные интересы - математические методы моделирования.
Назаров Артём Сергеевич, курсант УВАУ ГА (И).
УДК 004.42
»
В. В. СЫЧЁВ
ПРОГРАММНАЯ СИСТЕМА ОБРАБОТКИ ДИАГРАММНО-ГРАФИЧЕСКИХ ЯЗЫКОВ САПР
Предлагается архитектура системы построения, сопровождения и последующего анализа диаграмм с применение клиент-серверного подхода и использованием технологий WEB 2.0.
Ключевые слова: диаграммно-графические языки, анализ графических языков, WEB 2.0, САПР.
В настоящее время в САПР активно используется графические представления объектов и процессов с использованием диаграммных языков. Существует большое количество коммерческих и свободно распространяемых программных средств, которые позволяют работать с популярными диаграммными языками, такими как ЕРС, UML, SDL, DFD и т. д., однако большая их часть не ориентирована на коллективную разработку, имеет скудные средства по расширению нотаций языка и зачастую не имеет средств анализа. Перечисленные недостатки снижают преимущества от использования средств работы с диаграммными языками для предприятий и
ТГТЛЛ/ГТ LJIL1 V 1/Т\Л*ГТС»1_1ТЛТ*
В данной статье предложена архитектура программной системы для коллективной работы,
межплатформенного сопровождения и анализа
• • __
диаграммных языков САПР, которая лишена вышеперечисленных недостатков.
Общие характеристики системы
Основной задачей, поставленной при проектирование и реализации системы, является построение универсального набора инструментов, обеспечивающих следующие основные функции для пользователя:
«> создание диаграмм графических языков; • добавление новых нотаций диаграммно-графических языков;
©Сычёв В. В., 2010
• анализ построенных диаграмм по предварительно загруженным в систему нотациям языка и алгоритмам анализа;
• добавление новых алгоритмов анализа с помощью плагинов;
• добавление описания синтаксических и семантических правил графических языков;
• создание взаимосвязи между построенными проектировщиками диаграммами;
• одновременный доступ нескольких инженеров к базе данных построенных диаграмм.
К системе предъявляются следующие требования:
должна обеспечиваться возможность межплатформенной работы приложения, т. е, интеграции приложений, функционирующих в среде различных операционных систем и на различных аппаратных платформах;
архитектура интеграционного решения должна быть основана на открытых общепризнанных стандартах.
Архитектура системы
Исходя из вышеперечисленных требований к программному продукту, архитектура приложения представляет собой несколько компонентов, взаимодействующих между собой в сети, т. е. приложение должно быть клиент-серверное. Предлагается использовать четырёхуровневую архитектуру (рис. 1), которая содержит:
• презентационный слой (клиент);
• слой взаимодействия с интерфейсом (сервер);
• слой бизнес-логики (сервер);
• слой управление данных/базой данных (сервер).
Презентационный слой
Уровень презентационной логики реализован на основе технологий HTML, JavaScript, CSS, XML и т. д. и обеспечивает диалог пользователей с ПК. При этом данный слой выполняет следующие функции:
® принятие запроса пользователя на действие и отправка запроса в слой взаимодействия с интерфейсом;
• принятие ответов от слоя взаимодействия с интерфейсом и отображение результатов действия, при этом результатами действия являются: вывод диалога с информацией пользователю, отображение/перемещение примитивов диаграммы на холсте, открытие/ закрытия элементов интерфейса пользователю и т. д.
Для отрисовки графических объектов диаграмм используются специализированные языки описания графических изображений SVG (Scalable Vector Graphics) и VML (Vector Markup Language). Использование сразу двух языков
обусловлено тем, что наиболее используемым браузером в корпоративном сегменте является Internet Explorer, а в нём реализуется только поддержка VML, большинство остальных популярных браузеров поддерживают SVG. При этом для корректной работы презентационного слоя необходим один из следующих браузеров: Internet Explorer 6+, Mozilla FireFox любая версия, Google Grome любая версия, Apple Safari любая версия.
Согласно работе [1] перечисленные выше браузеры используют более 70 процентов домашних пользователей и более 90 процентов корпоративных.
Слой взаимодействия с интерфейсом
Слой взаимодействия с интерфейсом представляет собой JAVA-приложение, работающее в среде Resin или Tomcat. Данный слой осуществляет взаимосвязь презентационного слоя приложения с бизнес-логикой и инкапсулирует её. Необходимость данного слоя обусловлена желанием создать более гибкую архитектуру с возможностью дальнейшего добавления других клиентских приложений.
Презентационный слой
Internet/LAN
Слой взаимодействия с интерфейсом
Слой управления
Слой бизнес-логики
Блок иерархического RVN-анализатора
Внешний API
Скрипты анализа
Генератор отчётов
Клиентская среда (Web-браузер)
Серверная среда (один или несколько обслуживающих серверов)
Рис. 1. Общая архитектура приложения
Запросы, поступающие с уровня презентационной логики, обрабатываются соответствующими модулями JAVA-прило-жения. Результаты обработки возвращаются клиенту в виде HTML-страниц для визуализации или AJAX-ответа в формате JSON (JavaScript Object Notation).
Бизнес-логика
Слой бизнес-логики содержит допустимые нотации диаграммно-графических языков и реализует возможность анализа й генерации отчётов по построенным проектировщиками диаграммам. Для анализа используется RVA-грамматика [2, 3], которая представляет собой автоматную грамматику, характеризующуюся линейными временными затратами на анализ диаграмм и двухкратным сокращением требуемой памяти по сравнению с существующими аналогами. Данная грамматика способна выявлять более одной ошибки за проход, используя алгоритмы нейтрализации некорректного состояния анализатора [3, 4].
Для генерирования отчёта и создания дополнительных средств анализа используется внешнее API, который позволяет:
• получить информацию о построенных диаграммах;
® вносить изменения в уже построенные диаграммы, либо создавать новые;
© формировать HTML-документ отчёта.
Доступ и хранение данных
В качестве системы управления базой данных (СУБД) используется PostgreSQL. PostgreSQL является свободной альтернативой коммерческим СУБД и существует в реализациях для всех наиболее популярных платформ, таких как Linux, Windows, FreeBSD и т. д.
СУБД обеспечивает хранение всей прикладной информации и обработку запросов, поступающих от слоя управления БД, а именно:
® описание графических примитивов;
• нотации диаграммно-графических языков;
• плагины для расширения функциональности бизнес-слоя (скрипты построения отчётов и анализа);
• построенные проектировщиками диаграммы с атрибутами и связями с другими диаграммами;
© права пользователей на доступ к модулям приложения и построенным диаграммам.
Защита данных
Защита данных обеспечивается на уровне бизнес-логики путём присваивания каждому пользователю прав на просмотр, редактирования
и удаление заданной диаграммы. Также возможно задание прав на группу пользователей.
Права пользователя хранятся в БД.
Выводы
П р е дл агаетс я у и и в с р сал ь и а я си сте ,\ 1 а обработки диаграммно-графических языков САПР, которая имеет следующие преимущества:
• централизованное хранение данных, что облегчает резервное копирование данных и обеспечивает их безопасность;
• нет необходимости в установке программного обеспечения на каждый компьютер (браузер включён во все современные операционные системы);
• нет проблем обновления приложения, т. к. необходимо обновлять приложение только на стороне сервера;
© межплатформенность;
• управление правами доступа осуществляется централизованно на стороне сервера;
• возможность анализа диаграмм, используя встроенные средства анализа (КУА-грам-матику);
• расширение возможности анализа диаграмм, используя систему плагинов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1 .http://trends.spyloa.ru/global-statistic-Ьгоу/БегБ/ - 8рук^ аналитика - Статистика использования браузеров.
2. Афанасьев, А. Н. Синтаксически-ориенти-рованная реализация графических языков на основе автоматных графических грамматик / А. Н. Афанасьев, О. Г. Шаров // Программирование. - 2005. -№ 6. - С. 56-66.
3. Афанасьев, А. Н. Анализ описаний событийных процессов в АЯ18-технологии прректирования автоматизированных систем / А. Н. Афанасьев, В. В. Сычёв // Всероссийская конференция с элементами научной школы для молодежи «Проведение научных исследований в области обработки, хранения, передачи и защиты информации», 1-5 декабря 2009 г. Россия, Ульяновск: сборник научных трудов. В 4 т. Т. 2. - Ульяновск : УлГТУ, 2009. - С. 386-396.
4. Афанасьев, А. Н. Нейтрализация ошибок в диаграммных графических языках САПР / А. Н. Афанасьев, В. В. Сычёв // Информационные технологии: межвузовский сборник научных трудов. - Ульяновск : УлГТУ, 2008. - С. 187-193.
Сычёв Виктор Владимирович, аспирант кафедры «Вычислительная техника» УлГТУ.