СРЕДА ПРОГРАММИРОВАНИЯ ОНЛАЙН-ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ
Разработана и внедрена среда онлайн-программирования, которая предоставляет специализированный редактор кода (CodeMirror) и консоль вывода для отображения результата выполнения кода или любого сообщения об ошибке, сгенерированной во время выполнения скрипта. Для использования в среде программирования разработан специализированный язык сценариев, основанный на языке программирования Python 3. Полученный язык наследует синтаксис и семантику, основные типы данных и встроенные функции от Python. В результате можно использовать стандартные и сторонние библиотеки в онлайн-среде. Интеграция упрощает процесс разработки и тестирования новых алгоритмов и решений. После разработки и реализации алгоритма в онлайн-среде можно легко выполнить полученный сценарий и просмотреть выходные данные, а затем, при необходимости, внести изменения и снова запустить сценарий. Например, модули "datetime", "random" и "itertools" из стандартной библиотеки, а также библиотеки "numpy" и "sympy", которые широко используются в научном и инженерном программном обеспечении, доступны без каких-либо настроек. Функциональная совместимость между Python и созданным языком сценариев дает возможность не только использовать упомянутые библиотеки, но также внедрять и интегрировать новые. Разработанная среда программирования развернута на платформе Online Computational, которая обеспечивает реализацию алгоритмов для вычисления различных свойств многомерных полиномиальных матриц, выполнения дифференциальных преобразований и других вычислений. Платформа предназначена для хранения реализаций и делает их автоматически доступными для потребителей через веб-сервис. Благодаря интеграции среды программирования с онлайн-платформой все модули и их функции стали доступны в языке сценариев. Доступны также вычислительная мощность и ресурсы, поэтому сценарии могут воспользоваться многоядерными процессорами и возможностью распараллеливания. Единая платформа позволяет решать различные задачи, в том числе параметрические, разрабатывать алгоритмы с использованием новых методологий и проводить многоверсионные тесты.