Сравнение аналогов - Разработка программы для реализации редактора временных графов синхронизации
Поскольку конечной целью работы был редактор сетей Петри, интегрированный с внешней библиотекой алгебраических вычислений, было рациональным рассмотреть существующие редакторы сетей Петри, пригодные для модификаций и дополнения недостающим функционалом.
Некоторые варианты отклонялись сразу же, по причине недоступности исходного кода или из-за использованного стека технологий -- например, .NET, Java, в сочетании с неудобными интерфейсами. Если в случае. NET о кроссплатформенности не может идти и речи, то в случае с Java трудности могут возникнуть при интеграции библиотеки libminmaxgd[10, 16], реализованной на C++. Особенно, если учитывать качество исполнения этих существующих решений. Фактически, проблемы у всех одни и те же, но некоторые программы можно выделить как более-менее пригодные к использованию, хотя, к сожалению, миссии данной работы они посодействовать никак не смогут.
Petri Net Toolbox.
Популярное расширениедля MATLAB, обладает хорошим набором функционала, поддерживаются разные типы (т. е. наборы правил) сетей Петри, имеется интеграция с алгебраическим аппаратом max-plus, что приближает это решение к целям данной работы. Но плагин является платным, исходный код недоступен. Сам MATLAB также является платным и довольно большим комплексом программ, что отметает данный вариант. Во-вторых, использовать данный плагин без модификаций невозможно, скриншот программы представлен на рис. 9.
Рисунок 9. Petri Net Toolbox
PIPE v4.3.
Пожалуй, самое проработанное решение из доступных, разрабатывалось с 2003 по 2011 год разными специалистами из разных университетов, некоторые интегрируют это решение с MATLAB. Данный редактор выполнен качественно, большинство опций интерфейса (рис. 10) работают, сама программа стабильна -- установка и запуск прошли гладко, работе ничего не мешает. К недостаткам данного приложения можно отнести:
Интерфейс и управление слишком перегружены, а редактирование сети осуществляется исключительно при помощи мыши. На 10 позиций, 10 дуг и 10 переходов пришлось 120 нажатий мыши. При этом скопировать уже созданную структуру невозможно.
Слишком общий подход. Нельзя выбрать конкретный набор правил организации сети, то есть система автоматически предлагает подкрутить вес дуги, разрешает делать позициям несколько входящих дуг и так далее.
В то же время, некоторые опции оказываются недоступными или проработаны недостаточно хорошо -- каждый элемент автоматически снабжается видимой подписью, хотя в большинстве случаев важна именно маркировка, а не имя. Позициям нельзя назначать временную задержку.
Навигация по полотну затруднена, полотно ограничено слева-сверху, значит сеть при росте может упереться в край и нужно будет сдвигать;
У программы проседает производительность даже на относительно небольших сетях, что при наличии процессора Intel i5 (1.7GHz) ставит под сомнение оптимальность реализации;
При желании, список можно было бы продолжить, но ключевая цель программы -- облегчить пользователю работу с алгебраическими инструментами, выполнена по всем признакам недостаточно хорошо.
Рисунок 10. PIPE в действии
Romeo.
Еще одно популярное решение для построения и верификации сетей Петри. К программе написано несколько инструментов для интеграции с другими проектами, но сама программа обладает недостаточным качеством исполнения, устаревшим подходом к разработке графического интерфейса (используются Tcl/Tk). Более того, в отличие от предыдущего решения функционала здесь меньше, но стабильность программы страдает -- при осуществлении бытовых операций иногда возникают неприятные внутренние ошибки (рис. 11 и 12). Кстати, код написан частично на французском, поэтому модифицировать его для своих нужд де-факто не удастся. Положительным моментом является наличие возможности копировать отдельные участки сети, идея хорошая.
Рисунок 11. Romeo в действии
Рисунок 12. Или нет
После рассмотрения как и отрицательных, так и положительных сторон у существующих решений, а также после согласования требований научным руководителем, был составлен список функциональных требований, которым должна удовлетворять создаваемая программа.
Графическое задание временной сети Петри. Возможность добавлять элементы сети, соединять дугами, устанавливать начальную маркировку позиций с указанием задержки и фишек, снабжать элементы сети именами/комментариями. Полотно должно быть условно-бесконечным без ограничения перемещения в любую из 4х сторон, должно обладать возможностью масштабировать отдельно взятые участки относительно произвольного центра. Поддержка формирования и расформирования изолированных групп элементов, с целью скрыть детали реализации участков сети и для создания множества участков сети с единой конфигурацией. Поддержка копирования участков сети и групп с сохранением настроек дуг (контрольные точки для кривых) и настроек внешнего вида элементов (комментарии, ориентация, и т. д.). Должна иметься возможность снятия скриншота как минимум видимой области с последующим сохранением в файл. Возможность сохранять созданную сеть в файл и загружать из файла.
Редактор информации о входящем потоке событий. Как в графическом режиме (расстановка конусов на плоскости), так и при помощи символьного описания элементов. Добавление точек, выделение точек, перемещение точек, применения замыкания Клини к выделенной коллекции точек, отображение информации для каждого перехода (входы системы) в отдельном слое. Этот же редактор в режиме read-only должен обеспечивать просмотр информации о событиях на выходе системы.
Интеграция с библиотекой символьных вычислений в диоидной алгебре и разработка с учетом необходимости подключения дополнительных модулей в дальнейшем.
Похожие статьи
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Сеть Петри это двудольный направленный граф с маркировкой, ребра которого задают причинно-следственные отношения "события-условия" и именуются дугами....
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
Множество D с двумя заданными на нем операциями (плюс) и (умножение) называется диоидом, если выполнены следующие аксиомы: § Ассоциативность. §...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Пример с tegview ¦ L-- qml ¦ +-- tegrender. js ¦ L-- tegview. qml +-- tegview ¦ +--...
-
Поворот точки относительно центра на заданный угол: X = o. X + (p. X-o. X) * cos(angle) - (p. Y-o. Y) * sin(angle) Y = o. Y + (p. X-o. X) * sin(angle) +...
-
Введение - Разработка программы для реализации редактора временных графов синхронизации
Математическое моделирование дискретно-событийных динамических систем является относительно молодым направлением науки теории управления. Разработка...
-
Приложение разрабатывается в соответствии с паттерном проектирования Model-View-Presenter (MVP), который является производным от Model-View-Controller...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Solidworcks Enterprise PDM (SWE-PDM) управляет данными и процессами на различных этапах жизненного цикла изделия, обеспечивая коллективную (параллельную)...
-
Обоснование выбора средств разработки проекта Для реализации корпоративной информационной системы "Бюджетное планирование и отчетность" в исследуемой...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Ввиду того, что для языка JAPE не предусмотрен специализированный редактор, разработчики рекомендуют использовать Vim[10] или Eclipse[11], ассоциировав...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Компонент TPanel является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней...
-
Программу обработки данных можно запускать как до, так и после включения устройства сопряжения. Перед первым использованием, а также после изменения...
-
На данный момент у TUIO есть 3 версии протокола: 1.0, 1.1 и 2.0. Версия 2.0, вышедшая в 2014, имеет множество изменений и нововведений по сравнению с...
-
Литература - Разработка программы для реализации редактора временных графов синхронизации
1. Авдошин С. М. Оптимизация гибких производственных систем // 1987. 2. Лескин А. А. Алгебраические модели гибких производственных систем // 1986. 3....
-
Полное наименование разрабатываемой системы - корпоративная информационная система "Бюджетное планирование и отчетность" группы компаний, занимающейся...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
Общие сведения о программе Программа разработана для демонстрации возможностей языка C++ и может использоваться для пользователей, которые не знакомы с...
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Капиталовложение, связанные с работой ЭВМ, рассчитывается по формуле: КВЭвм = СЭвм + ЗТ + ЗЗч + ЗМ, (8) Где СЭвм - стоимость ЭВМ (руб.); ЗТ - стоимость...
-
Данная компания является ведущем производителем оборудования и выпуска квалифицированных специалистов в мире. Это одна из самых оцененных компаний в...
-
Разработка сайта, Среда разработки web-сайта - Разработка сайта для компании
Среда разработки web-сайта При разработке web-сайта используются: - HTML - язык разметки web-страниц; - CSS - формальный язык описания внешнего...
-
В главе рассмотрены существующие решения веб-редакторов, позволяющих создавать разного типа диаграммы и генерировать на их основе программный код. Так же...
-
Программирование подключенной к параллельному порту аппаратуры заключается в установке определенных битов в регистрах данных и управления и чтении...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
В ходе исследования был разработан веб-редактор для визуального языка в соответствии с требованиями, выделенными в главе 2, по результатам опроса...
-
При запуске программы с входными параметрами {"-makexls" "filename. xls" "температурная_точка" "отклонение" "элемент"} происходит извлечение результатов...
-
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов....
-
Реализация клиентской части приложения На языке JavaScript, в соответствии с диаграммой классов, представленной в приложении Б, были разработаны объекты...
-
Информационно - измерительные системы: структура и состав Постоянное совершенствование и развитие средств измерений необходимо для промышленного...
-
Перспективной областью применения стандарта Zigbee являются беспроводные системы считывания показаний различных счетчиков. Данный сегмент рынка крайне...
-
Основания для разработки Система разрабатывается в соответствии с планом учебного процесса Института менеджмента и Информационных технологий (ИМИТ...
Сравнение аналогов - Разработка программы для реализации редактора временных графов синхронизации