Главная/Портфолио/Инструмент CPN IDE: моделирование и симуляция производственных процессов для студентов Tu/e в Нидерландах

Инструмент CPN IDE: моделирование и симуляция производственных процессов для студентов Tu/e в Нидерландах

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

Отраслиобразование, производство, HoReCa
Услугипроектирование архитектуры, создание проектной документации, разработка ПО, тестирование
Технологический стекJava, Springboot, JavaScript, Angular, Electron
Визуальный_редактор_для_моделирования_производственных_процессов(5) Визуальный_редактор_для_моделирования_производственных_процессов(5)

О клиенте

К нам обратилась команда учёных Технического университета Эйндховена (Tu/e), основанного в 1956 году в Нидерландах.

О задаче

Нас попросили разработать решение, которое позволило бы студентам бакалавриата и магистратуры Tu/e использовать цветные сети Петри* для моделирования и симуляции производственных процессов. Создать продукт с открытым исходным кодом и собрать подробную проектную документацию, чтобы клиенту было проще масштабировать решение в дальнейшем.

На стороне клиента уже существовало подобное программное обеспечение, но оно устарело: студентам хотелось видеть более удобный интерфейс и работать в облаке, а не устанавливать ПО на компьютер.

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

*Сети Петри — это математический инструмент для моделирования и анализа систем, которые состоят из процессов, взаимодействующих друг с другом. Цветные сети Петри (CPN, Colored Petri Nets) предоставляют расширенные возможности сетей Петри, позволяя использовать различные типы данных и моделировать более сложные системы.

Пример применения CPN: моделирование работы бургерной закусочной, где можно создавать элементы (точки) процесса: получение заказа, работа кухни, доставка заказа — и определять условия выполнения каждого шага. Также сети Петри позволяют симулировать выполнение процесса и выявлять возможные проблемы, такие как нехватка ингредиентов и задержки в обслуживании.

CPN широко применяются не только в производстве, но и в логистике, управлении запасами, обслуживании клиентов в общепите и аэропортах.

Наши решения

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

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

При создании продукта мы использовали Java, SpringBoot, JavaScript, Angular и фреймворк Electron, на котором были написаны такие известные решения, как Figma, Microsoft Teams, WordPress, Asana, Trello и пр.

С Electron можно, используя HTML, CSS и JavaScript, разрабатывать настольные приложения: таким образом мы упрощаем процесс, экономим время и деньги клиента, при этом добиваемся превосходного качества итогового продукта.

В результате запустили кроссплатформенное веб-приложение, главными компонентами которого являются:

  • автономный сервер, решающий задачи валидации и симуляции моделей систем;
  • графический интерфейс, способный реализовать новые функции инструмента CPN IDE и сделать процесс работы в нём максимально простым и удобным.

Так выглядит моделирование производственного процесса в CPN IDE:

Функциональные возможности продукта CPN IDE

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

В NLABTEAM мы уже не впервые разрабатываем no-code веб-приложения, которые позволяют программировать сложные процессы, просто создавая графические схемы.

Если вам актуален такой подход, рекомендуем также ознакомиться с нашим кейсом по запуску no-code платформы для управления микроконтроллерами: благодаря новому решению, клиент может настраивать их, не прибегая к помощи С-программистов. Чтобы выполнить задачу, ему достаточно перемещать блоки в графическом редакторе. Код в этот момент пишется сам.

Читать кейс →

Результаты проекта

CPN IDE играет ключевую роль в обучении и исследовательской деятельности университета. Он позволяет студентам и преподавателям:

  • Создавать детализированные модели производственных процессов, учитывая различные типы данных и условия выполнения.
  • Симулировать процессы: динамическое моделирование позволяет «проигрывать» выполнение процессов и отслеживать их состояние в реальном времени, выявляя узкие места.
  • Анализировать и улучшать процессы: инструмент предоставляет расширенные возможности аналитики — например, мониторинг состояния элементов и выявление проблем в модели.

Это open-source решение, поэтому университету удобно адаптировать его под свои нужды при появлении потребности, не привлекая нас.

Отзыв клиента

Дирк Фаланд, доцент Технического университета Эйндховена (Tu/e):

«Нашей целью было разработать новый интерфейс с современным UI/UX для существующего бэкенда. Интерфейс, поддерживающий большинство актуальных вариантов использования. Вся реализация — с открытым исходным кодом и документацией, которая помогла бы в дальнейшем легко масштабировать наш продукт.

Мы предоставили NLABTEAM доступ к устаревшему программному обеспечению, обозначили высокоуровневые требования и предоставили истории пути пользователей для разработки нового решения.

Решение, предоставленное NLABTEAM, полностью устранило все жалобы пользователей (студентов бакалавриата и магистратуры) на удобство использования инструментов моделирования. Решение работает безупречно, оно доступно в виде продукта с открытым исходным кодом: https://github.com/cpn-io/cpn-js

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

 

*Источники иллюстраций: buildings.honeywell.com, cpnide.org