Современные реалии рынка инженерного ПО в России бросают вызов техническим специалистам любого уровня, так как перед ними встает задача найти отечественную альтернативу привычным CAE-системам для технических вычислений и модельно-ориентированного проектирования, таким как MATLAB, Simulink, Amesim. Это непросто, поскольку предприятиям нужно максимально сохранить привычный рабочий процесс и имеющиеся наработки, в том числе многолетние, и при этом безболезненно внедрить новую систему на рабочие места и обучить сотрудников.
Мы можем с уверенностью заявить, что соответствующая таким требованиям альтернатива MATLAB, Simulink, Amesim найдена, и это среда Engee.
Что такое Engee?
Engee – это среда для разработки сложных технических систем, которая органично объединяет в себе две важных сущности. Первая – готовое программное окружение, которое позволяет инженерам эффективно анализировать данные, проводить технические расчеты, разрабатывать специальное прикладное ПО, как и в среде MATLAB.
Вторая сущность – среда визуального моделирования, похожая на Simulink или Amesim. В этой среде можно с помощью привычных блок-схем строить математические модели алгоритмов управления и сложных физических систем, а затем проводить полунатурное тестирование или генерировать код из них для дальнейшей интеграции на встраиваемых платформах.
При этом, что критически важно, эти сущности поддерживают друг друга: данные из моделей могут быть загружены в редактор кода и наоборот. В Engee присутствует мощная скриптовая функциональность для автоматизации. Через неё удобно запускать и настраивать симуляцию, анализировать результаты моделирования с помощью инженерного языка программирования (что это за язык, расскажем ниже). Что немаловажно, эта синергия сущностей в Engee безопасная и встроенная, не требует передачи данных «по сети» между разными средами. Ранее подобный подход среди всех CAE-систем в мире предоставлял только MATLAB, а теперь он доступен для пользователей Engee.
Удобная централизованная архитектура
Изначально среда Engee, как и MATLAB, создавалась на основе многолетнего опыта разработки в разных отраслях, с глубоким пониманием процесса процесса модельно-ориентированного проектирования (МОП). Engee создан специально для инженеров, исследователей данных и ученых. Engee имеет широкий спектр применения и помогает создавать, например, различные системы управления, навигации, а также цифровые системы (связь, радиолокация). Кроме того, в Engee можно проводить научные исследования и заниматься машинным обучением.
Однако в Engee есть ключевое отличие от классических CAE-систем, оно же принципиальное преимущество – клиент-серверная архитектура. Все вычисления, включая моделирование, осуществляются на выделенном сервере. Он может быть расположен в сети Интернет или в закрытом контуре предприятия. Взаимодействие со средой, написание скриптов, разработка моделей и т.д. происходят через обычный браузер на пользовательских рабочих местах.
Такой подход кардинально облегчает внедрение и управление CAE на предприятиях, так как позволяет системным администраторам централизованно управлять ресурсами для вычислений, а среда доступна каждому пользователю в сети предприятия или через Интернет. Engee не требует установки клиентской части, в отличие от MATLAB, и не зависит от операционной системы пользователя. Кстати, Engee уже работает на российских ОС Astra Linux и RED OS (и разработчики Engee не просят об отсрочке для выполнения этого требования, в отличие от многих других российских производителей ПО). Централизованное размещение CAE-системы на сервере обеспечивает высокий темп обновлений и предоставление доступа к среде, облегчает командную и проектную работу ввиду тесной интеграции с GIT. Однако, если это требуется с точки зрения ИБ, Engee может быть развернут в закрытом контуре предприятия.
Среда Engee разработана в России с пониманием потребностей русскоязычных пользователей. Интерфейс программы, в отличие от MATLAB, реализован на русском языке и содержит подробнейшую документацию также на русском языке с полным авторским переводом документации основного языка программирования.
Документация среды Engee содержит сотни примеров, а также десятки бесплатных онлайн-курсов для самостоятельного обучения, и, конечно же, разработчик предоставляет квалифицированную техническую и методическую поддержку.
Engee – это готовое эффективное окружение для разработки инженерного прикладного ПО, технических вычислений и инженерного анализа. Engee не требует от пользователи скачивания, установки и настройки дополнительных программ. Нужен только браузер и сетевое подключение. Современный, удобный и продуманный интерфейс Engee для решения различных инженерных задач приятно удивляет по сравнению со многими отечественными программами.
Математические технические вычисления
Основой любой CAE-системы является язык программирования. Он должен быть прост, удобен и понятен для инженеров и разработан для технических вычислений и анализа данных. Все CAE-системы работают на языках, удовлетворяющих этим требованиям. Engee, как и MATLAB, тоже выстроен вокруг специализированного инженерного языка, он называется Julia.
Julia – молодой, но очень динамично развивающийся язык, его синтаксис прост и похож на язык MATLAB. Он быстр, эффективен и не является проприетарным языком, он открыт для всего инженерного сообщества. Вот что создатели Julia сами рассказывают о том, для чего и на каких принципах он был создан:
«Мы хотим скорости C и динамичности Ruby. Мы хотим гомоиконический язык, с настоящими макросами, как в Lisp, но с очевидной, знакомой математической нотацией, как в MATLAB. Нам нужно что-то такое же удобное для общего программирования, как Python, такое же простое для статистики, как R, такое же естественное для обработки строк, как Perl, такое же мощное для линейной алгебры, как MATLAB, такое же хорошее для сшивания программ, как shell. Что-то, что будет простым в освоении, но при этом понравится самым серьезным хакерам. Мы хотим, чтобы он был интерактивным и компилируемым.
(Мы уже говорили, что он должен быть таким же быстрым, как C?)»
По этим причинам Julia и был выбран как основа среды Engee. Разработчики Engee уверены, что Julia – это лучшая альтернатива MATLAB сейчас как языку программирования.
Однако при всем при этом Engee – это среда разработки не только для Julia. Это по-настоящему многоязычная среда, она также поддерживает Python, язык MATLAB, язык C. Вы можете работать с Python так же, как привыкли в Jupiter’е – в формате ноутбуков, или вызывать его в своих Julia-скриптах с помощью специальных функций.
Наш ответ MATLAB’у
Разработка пользовательского ПО в Engee происходит в формате создания интерактивных скриптов – это аналог MATLAB Live Scripts или Jupiter Notebook. Интерактивные скрипты – современный и актуальный формат разработки приложений для технических задач. Скрипт подразумевает исполнение кода в отдельных ячейках, которые помимо кода могут включать текст, мультимедиа-элементы, выводы функций, графики, LaTeX-элементы и много другое. Пользователь может выполнить скрипт целиком или каждую ячейку отдельно, также может выполнять любые операции с ячейками – копировать, вставлять, удалять и т.д.
Написание инженерных программ в подобном формате облегчает отладку, повышает наглядность и автоматизирует отчетность, кроме того, поддерживается экспорт скриптов в PDF и HTML. В среде разработки присутствует подсветка кода и подсказки синтаксиса при написании ячеек.
Engee поддерживает полный рабочий процесс по анализу данных: в среду можно импортировать любые данные (Excel, MAT, JLD2, мультимедиа-файлы и много другое) и применять требуемые методы для обработки – математика, фильтрация, оптимизация, статистика, машинное обучение, искусственный интеллект и т.д. Долгое время на российском рынке подобные возможности предоставлял только MATLAB, но сейчас появилась отечественная альтернатива, доступная каждому инженеру.
Одним из преимуществ MATLAB всегда считались готовые наборы функций (toolbox) для решения различных прикладных задач. Engee и здесь не уступает лучшим образцам. Пользователь может подключать и устанавливать любые прикладные библиотеки Julia для комплексного решения задач, открытые и свободно распространяемые сообществом пользователей. Этих библиотек существует сотни для разных прикладных инженерных областей: статистика, оптимизация, аппроксимация, машинное обучение, системы управления, цифровая обработка сигналов и изображений, символьные вычисление и нейронные сети, радио, радары, работы с картами и многое другое.
Кроме того, Engee предоставляет аналогичный MATLAB метод расчетов – системные объекты. Это особые конструкции в Engee, которые служат для реализации динамических систем с входными параметрами и изменением в зависимости от времени. Системные объекты содержатся, например, в собственных библиотеках Engee.DSP, Engee.Phased, Engee.Comms, Engee.5G.
Отдельно стоит отметить, что Engee, как и MATLAB, предоставляет все необходимые инструменты для визуализации результатов математических вычислений. Среда позволяет строить любые графики, настраивать их и представлять в требуемой форме. В документации находятся десятки примеров, которые содержат уже готовые функции для построения графиков, и инженер сможет найти требуемую реализацию.
В Engee можно запускать функции MATLAB или даже конвертировать скрипты MATLAB в свой собственный формат, поэтому вы всегда можете воспользоваться привычными методами для выполнения инженерных задач.
Engee – основа МОП
МОП – это специализированная методология разработки, которая базируется на систематическом применении математических моделей для радикального повышения наглядности процесса. Модели подсистем развиваются, уточняются и эффективно используются на всех этапах жизненного цикла изделия.
Основная цель применения МОП – учет взаимного влияния отдельных компонентов в динамике при разработке целостной системы. Это помогает оптимально настроить параметры системы для выполнения поставленных задач, провести испытания во всех возможных режимах эксплуатации изделия, а также снизить стоимость проекта при достижении нужного качества изделия в приемлемые сроки. Правильное применение МОП ускоряет разработку в 2-5 раз и кардинально повышает надежность разрабатываемых систем.
Среда Engee – основа для МОП, инструмент графического моделирования с помощью привычных блок-схем из базовых и специализированных прикладных библиотек с последующей отладкой алгоритмов и генерацией встраиваемого кода.
Подобную функциональность предоставляют многие импортные CAE-системы – Simulink, Simscape, Amesim, Flowmaster, Xcos, Dymola и т.д., есть и российские аналоги.
Однако Engee, в отличие от них, изначально на уровне концепции была продумана так, чтобы включать все необходимые фундаментальные технологии для поддержки полного цикла МОП.
Библиотека направленных блоков Engee содержит большое количество элементов для разработки сложных систем управления и цифровых систем в области связи, радиолокации, навигации и прочих. Модели Engee, как и модели Simulink, являются по-настоящему мультидоменными и одновременно включают в себя:
непрерывные модели (системная динамика, модели окружения),
дискретные модели (цифровые алгоритмы управления, алгоритмы ЦОС, РЛС и связи),
физические модели,
конечные автоматы (логика, отказы, режимы работы систем).
Такой инструмент позволяет проводить моделирование и отладку системы целиком, учитывать взаимное влияние компонентов в разных условиях и режимах. Раньше такое можно было делать только в Simulink, но теперь такие возможности доступны для инженеров и в Engee. Немаловажно, что количество блоков Engee постоянно растет, появляются новые прикладные библиотеки.
Моделирование для любых отраслей
В Engee встроено ядро для акаузальных моделей физических систем. Физическое моделирование помогает быстрее создавать наглядные модели сложных систем в среде Engee по сравнению с классическим направленным подходом. С помощью специализированных библиотек элементов вы можете строить модели физических систем на основе ненаправленных физических соединений и компонентов. Такой подход применяется в Simscape (физический домен Simulink), а также Amesim.
Эти модели можно напрямую интегрировать с обычными блоками и подсистемами. С помощью физических блоков вы можете моделировать такие системы, как электродвигатели, мостовые выпрямители, гидравлические приводы и системы охлаждения, собирая схему из базовых компонентов, а Engee автоматически сформулирует дифференциальные уравнения для всей вашей физической системы. Аналогично SimScape и Amesim физические модели Engee помогают уточнять требования, проектировать системы управления и поддерживать работу в режиме реального времени в качестве цифрового двойника. Домен физического моделирования включает в себя библиотеки: теплотехника, электричество, электроэнергетика, механика, гидравлика, газ, магнетизм, влажный воздух, теплогидравлику и др.
Также Engee содержит все необходимые технологии для разработки цифровых систем обработки сигналов (ЦОС): векторизацию, комплексные числа, многоскоростные системы, вычисления с фиксированной точкой. Были разработаны специализированные библиотеки для разработки систем ЦОС, радиолокации и связи, включая LTE и сети 5G и соответствующие системные объекты для среды технических вычислений, а также блоки для среды моделирования.
Подобно привычным MATLAB-Simulink комбинация сред технических вычислений и моделирования Engee позволяет эффективно проектировать и прототипировать цифровые алгоритмы, применять методы глубокого обучения, машинного обучения и обучения с подкреплением к приложениям беспроводной связи, а также интегрировать и проверяйте свои проекты на целевом оборудовании.
Интеграция с «железом»
Особо важным фактором успешности применения среды является возможность генерировать встраиваемый, независимый и человекочитаемый Си код из разработанных и отлаженных моделей цифровых алгоритмов управления или обработки сигналов.
Российские инженеры привыкли применять для этого генератор кода Simulink Embedded Coder. Пользователь может использовать сгенерированный код во внешней среде разработки для создания исполняемого объектного файла встраиваемых процессоров с плавающей или фиксированной точкой или интегрировать сгенерированный код с кодом, написанным вручную (существующим или специализированным под процессор) для прикладного или инженерного ПО. Кроме того, поддерживается генерация HDL (Verilog) кода для ПЛИС, который вы можете встроить на аппаратное обеспечение, а затем испытать и проверить свои прототипы. Технология автоматической генерации кода в Engee сокращает время на разработку встраиваемых алгоритмов и повышает их надежность за счет отсутствия человеческих ошибок при переносе и адаптации.
Engee поддерживает запуск моделей на КПМ РИТМ для полунатурного моделирования и тестирования в режиме жесткого реального времени. Исторически разработчик среды Engee начинал свой путь в производстве инженерных программных продуктов с разработки программно-аппаратных комплексов КПМ РИТМ, которые применялись для полунатурного моделирования в связке со средой Simulink, а теперь и со средой Engee.
Такой подход позволяет инженеру проводить быстрые итерации при разработке алгоритмов управления в реальном окружении, не обладая профессиональными навыками программиста. При подобной организации тестирования учитываются задержки или эффекты квантования при передаче сигналов через физические интерфейсы, за счет применения реальных физических интерфейсов (плат ввода-вывода) и реальных объектов управления, подключенных к КПМ РИТМ.
Engee – платформа плавной миграции
Особым преимуществом Engee является тот факт, что разработчик в процессе создания блоков верифицирует их относительно блоков лидирующей среды – Simulink. Это гарантирует надежность и достоверность блоков, удобство сбора моделей и ее настройки, а также идентичное их поведение при симуляции. Подобный подход принципиально облегчает миграцию на среду Engee, так как инженер ежедневно применяет привычные блоки, подходы к созданию моделей, а также получает ожидаемый результат моделирования.
Кроме того, существует инструмент миграции моделей из Simulink в Engee, а также возможность запускать внутри среды модели Simulink для ко-симуляции и сравнения результатов. Это означает, что среда позволяет переиспользовать имеющуюся базу моделей и плавно мигрировать с импортной среды на российскую.
Поэтому можно утверждать, что Engee – это не просто очередной новый продукт на рынке. Engee – это решение, которое действительно позволяет плавно и эффективно мигрировать с западных CAE-систем, таких как MATLAB, Simulink, Amesim, SCADE и подобных. На чем основана наша убежденность в этом?
Во-первых, Engee помогает сохранить имеющиеся инженерные наработки, ведь она позволяет запускать функции MATLAB (а также автоматически переносить их в скрипты Engee из скриптов формата mlx) и модели Simulink. Engee не заставляет пользователя переносить все наработки с нуля в свой формат и дает удобные инструменты для дальнейшего их применения. Учитывая, что Engee базируется на открытых технологиях, она остается открытой всему международному сообществу и не изолирует пользователя внутри экосистемы продукта.
Во-вторых, Engee обеспечивает гибкость выбора времени перехода, ведь пользователь может сам определять, какую часть своего проекта и когда следует переносить на новый инструмент.
Этому способствует синтаксис языка Engee, который на 90% похож на MATLAB, а также сотни открытых прикладных библиотек функций, которыми можно воспользоваться в любой момент, когда они понадобятся. Блоки среды моделирования Engee выглядят и ведут себя точно также, как в Simulink, а это значит, что пользователь может постепенно и уверенно переносить свои модели, без мучительного освоения нового инструмента и технического обучения. Engee предоставляет возможность создавать пользовательские блоки и импортировать пользовательский код C, что добавляет к гибкости и удобству миграции на новую среду.
В-третьих, Engee была создана и разрабатывается экспертами с многолетним опытом в методологии МОП в самых разных областях инженерии – от создания комплексных систем управления сложных систем, таких как гражданские ЛА, беспилотные автомобили, БПЛА, до разработки радиосистем, LTE и Tetra, радиолокационных станций и систем, включающих элементы искусственного интеллекта.
В-четвертых, согласно методологии МОП, среда динамического моделирования должна предоставлять богатую функциональность:
возможность запуска любого типа динамических моделей,
достаточная библиотека блоков,
поддержка настоящего мультидоменного моделирования,
поддержка автоматической генерации встраиваемого кода,
интеграция с «железом» для полунатурного моделирования,
тесная интеграция среды моделирования со средой технических вычислений, что обеспечивает принципиально высокую степень автоматизации для отладки моделей.
Среди западного ПО подобную методологию могла предложить только CAE-система MATLAB-Simulink. Все эти требования эргономично реализованы в среде Engee и отсутствуют в других российских средах моделирования. Можно с уверенностью заявить, что российским разработчикам Engee удалось реализовать наиболее полную и единственную альтернативу MATLAB-Simulink.
Выбрав Engee, пользователь получит доступ к самому современному и полноценному инструменту для модельно-ориентированного проектирования, наиболее полной замене MATLAB/Simulink/Amesim на российском рынке, а также к лучшей в России экспертизе и методологии по применению соответствующих прикладных инструментов.
Подробно узнать обо всех возможностях Engee можно 14 ноября на Engee Day, зарегистрироваться можно по ссылке. Подписывайтесь на телеграм-канал Engee, чтобы быть в курсе обновлений этой среды.
Комментарии (7)
Arastas
06.11.2024 07:52Очень интересно! Но не всё понятно:
Кто разработчик? На чём основано? Вы же не написали полностью своё ядро за пару лет?
Какая ценовая политика для академии?
Про Matlab понятно. Что на счёт SimInTech?
Lord_Ahriman
Где можно взять "пощупать" на предмет отличий от того же Simintech? Или "пощупать" никак, только от организации по запросу?
rahmaevao
https://engee.com/account/registration
RodionGork
секретная система!
конечно можно взять опенсорсный Octave как непосредственный анало Matlab - но это бездуховно :)
Arastas
Я давно, конечно, Ocatve не трогал, но он вроде никогда не был заменой Smulink с подключением железа в real-time и кодогенерацией? Сама по себе среда вычислений это не очень интересно при наличии тех же Jupyter + Python/Julia. А вот такой же общедоступной среды моделирования я не знаю, так как у Modelica выше порог входа и сложнее с внешним железом.
gadzhikuliev
Или Scilab.
Arastas
У меня нет личного опыта с Scilab, но от тех, кто им пользовался, я слышал много разочарованных отызвов. В том смысле, что Octave гораздо лучше заменять Matlab, чем Scilab/xcos заменяет Simulink. Если у вас другой опыт, то можете рассказать? Интересует моделирование динамических систем с подключением пользовательского кода, возможность работы real-time с внешним железом и кодогенерация.