Engee: впечатления преподавателя ПсковГУ

Заведующий кафедрой медицинской информатики и общественного здоровья Псковского государственного университета, доцент, к.т.н. Александр Иванович Самаркин в течение трех месяцев поработал с системой Engee и поделился впечатлениями от ее использования. Далее приводим рассказ А.И. Самаркина от первого лица.
Я преподаю дисциплины, связанные с компьютерным моделированием и инженерными расчетами, уже около 30 лет, поэтому познакомиться с новой средой Engee было очень любопытно. Разработчик среды – российская компания ООО «РИТМ», а сама среда внесена в реестр отечественного ПО.

Существует много продуктов, которые позволяют выполнять расчеты на компьютере. Многие из них платные (такие как MATLAB, Maple); есть и бесплатные, в том числе доступные в исходных кодах (GNU Octave, SciLab). Первые, как правило, обладают более комфортной средой разработки, однако это достигается за счет огромных размеров соответствующих пакетов и все более высоких требований к компьютерам пользователей.

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

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

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

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

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

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

Разработчики Engee выбрали в качестве основы молодой, но быстроразвивающийся язык Julia. По моему мнению, у этого языка большое будущее, поскольку он исключительно гибкий, высокопроизводительный и сравнительно простой в обучении. Во многом он напоминает язык скриптов MATLAB и тоже ориентирован на работу с векторами и матрицами как с базовыми сущностями.

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

Значительный объем расчетов в таких системах, как Mathematica, Maple или Python, происходит в блокнотах. Блокноты содержат ячейки расчетов, результаты расчетов и текстовый комментарий, что позволяет создавать качественно оформленные «живые» документы, удобные и для преподавателя, и для студентов.
Среда моделирования
Многие системы, особенно при изучении кибернетики, моделировании систем, физиологической кибернетики удобно разрабатывать визуально, используя взаимодействующие между собой блоки. Это особенно важно для студентов, не ориентированных на программирование, например, медиков, инженеров-механиков и др.

Существует, например, Simulink, реализованный как приложение MATLAB, или отечественный пакет моделирования SimInTech, которые реализуют парадигму визуального проектирования. Engee обладает, как представляется автору, двумя средами визуального моделирования, тесно связанными между собой.

В первом случае моделирование происходит путем использования стандартных математических блоков – это источники сигналов, модули обработки, средства визуализации и логирования расчетов. Эта часть позволяет «закрыть» значительный объем расчетов для моделирования систем, описываемых дифференциальными уравнениями (популяционная динамика, эпидемиология, фармакокинетика…).

Во втором случае Engee предоставляет системы специализированных блоков, удобных для моделирования определенных физических систем (механических, радиоэлектронных и т.д.). Такие системы позволяют смоделировать процессы в терминах определенной предметной области и исследовать их поведение таким образом, чтобы специалисты в предметной области могли взаимодействовать с разработчиком на взаимно понятном языке.

Недостатки
Что можно отметить в качестве недостатков? Как часто бывает, недостатки являются продолжением достоинств. Стоит сказать про недостаточно консистентный интерфейс при переходе от режима работы со скриптами к работе с моделями. Например, не очень наглядно сделано логирование сигналов в моделях. Периодически графический редактор моделей «застывал», особенно после удаления блоков или отмены последнего действия.

Общая структура программы
Engee – очень интересный и перспективный проект создания облачной среды моделирования и инженерных расчетов. Сочетание производительного языка программирования и среды визуального моделирования позволяют сравнить проект с такими известными продуктами, как MATLAB.

Реализация Engee в облаке дает возможность выполнять тяжелые расчеты с использованием облачных ресурсов, что снижает требования к рабочему месту пользователя и делает доступными возможности Engee в любом месте, где есть доступ к сети Интернет.

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

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