Свободное программное обеспечение в высших учебных заведениях военной направленности. Математические Продукты
А.В. Бобровских, Т.Ю. Урывская, А.П. Алимов
Военный учебно-научный центр военно-воздушных сил «Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина»
Аннотация: В статье рассмотрены ограничения, существующие на текущий момент при снабжении ВУЗов военной направленности прикладными проприетарными программными продуктами, необходимыми для реализации соответствующих образовательных программ и организации научной работы, определены наиболее популярные программные решения для данной категории, предложены наиболее близкие аналоги среди свободного программного обеспечения и критерии их выбора. Ключевые слова: математические системы, проприетарное программное обеспечение, свободное программное обеспечение, информационно-образовательная среда, критерии выбора программ.
Одним из компонентов современной информационно-образовательной среды ВУЗа является компьютерная техника и исполняемое на ней программное обеспечение (ПО). В соответствии с федеральными государственными стандартами «Организация должна быть обеспечена необходимым комплектом лицензионного и свободно распространяемого программного обеспечения, в том числе отечественного производства (состав определяется в рабочих программах дисциплин (модулей) и подлежит обновлению при необходимости)». Следовательно, от укомплектованности образовательной организации данными компонентами зависит качество подготовки обучающихся.
На текущий момент порядок снабжения Вооруженных Сил Российской Федерации программными продуктами имеет ряд ограничений, в частности:
- выделенных лимитов денежных средств не всегда хватает на полное удовлетворение существующей потребности в ПО;
- периодичность запроса средств в соответствующий довольствующий орган на приобретение ПО осуществляется только один раз в год, что лишает
возможности его своевременного внедрения в информационно-образовательную среду ВУЗа;
- в соответствии с постановлением Правительства РФ от 16.11.2015 № 1236 введен запрет на допуск ПО, происходящего из иностранных государств (за исключением ПО, включенного в Единый реестр программ для электронных вычислительных машин и баз данных из государств -членов Евразийского экономического союза);
- трудности, вызванные отсутствием возможности модернизации и настройки ПО под себя, в зависимости от меняющихся задач и переносом в другую программную и аппаратную среду без наличия дополнительного финансирования;
- необходимость соблюдать ряд условий, в частности требуется знать и учитывать: класс, происхождение (иностранное или отечественное) ПО, порядок и соответствующие формы его запроса, тонкости расходования средств федерального бюджета в соответствии с законами РФ и нормативно-правовыми актами, трудности, возникающие при разработке технических заданий и другой тендерной документации, вопросы, связанные нормами снабжения ПО военных организаций, а также другие факторы, затрудняющие процесс получения ПО [1].
Перечисленные ограничения распространяются на проприетарное (собственническое) программное обеспечение (ППО), и не относятся к свободному программному обеспечению (СПО) (определения и термины содержаться в ГОСТ Р 54593-2011 и [2,3]). Более подробно о концепции СПО и перечне лицензий на него, включая тексты, доступны в разделах «Философия» и «Лицензии» на сайте Фонда Свободного Программного Обеспечения [4].
Следовательно, целесообразно провести инвентаризацию ППО, необходимого для реализации соответствующих образовательных программ
и организации научной работы, и выбрать для него наиболее функциональные аналоги среди СПО с последующим его внедрением в процесс обучения и научно-исследовательскую деятельность. Эмпирической базой исследования явился анализ заявок на обеспечение прикладным ПО в период с 2017 по 2019 годы, подаваемых кафедрами, факультетами и научными структурными подразделениями ВУНЦ ВВС «ВВА» (г. Воронеж, г. Сызрань, г. Челябинск) и инструментария фонда алгоритма и программ данной организации, на базе которого разрабатывались собственные прототипы ПО.
В данной статье осуществляется выбор и сравнение наиболее популярных математических пакетов, используемых в образовательном процессе и научно-исследовательской деятельности.
Анализ проведенный в данном направлении, показал, что наиболее востребованными проприетарными математическими системами являются MathCad и Matlab, а их ближайшими аналогами SMathStudio, Maxima и Scilab, GNU Octave соответственно.
В качестве наиболее значимых критериев при отборе определенного программного решения среди СПО были выбраны следующие [4-6]:
- максимальное сходство СПО с ППО с точки зрения их функциональности и возможности решения как можно большего круга задач, возникающих перед субъектом (пользователем);
- взаимная совместимость программных продуктов;
- возможность работы под управлением различных операционных систем (кроссплатформенность), в частности операционных систем семейства Linux;
- состояние проекта (год создания первого выпуска программы, регулярность выхода обновленных версий программ и др.);
-достоверность вычислений.
MathCad - математическая система, относящиеся к классу CAS computer algebra system, система компьютерной алгебры). Данное программное обеспечение позволяет выполнять, анализировать важнейшие инженерные расчеты, обмениваться ими и предназначено для выполнения математических вычислений, символьных преобразований, а также построения графиков. Есть возможность создания электронных книг (e-Book) [7].
Maxima - свободная система компьютерной алгебры, написанная на языке CommonLisp. Программа специализируется на символьных вычислениях и позволяет решать практически все типовые задачи, относящиеся к различным разделам математики.
SMath Studio - бесплатная математическая программа, написанная на языке С#, с графическим редактором и полной поддержкой единиц измерения. Имеет стандартный набор операций и функций для вычисления математических выражений и построения графиков. Имеет встроенный менеджер расширений, который позволяет получить доступ к различным официальным и сторонним дополнениям. Реализована возможность работы с файлами Mathcad (открытие и сохранение).
MatLab - это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и их визуализации и представляет собой основу всего семейства продуктов американской компании MathWorks. Возможности MATLAB позволяют осуществлять анализ данных, разрабатывать алгоритмы, создавать модели, приложения и решать широкий спектр научных и прикладных задач, в таких областях как: моделирование объектов и разработка систем управления, измерение сигналов и тестирование, проектирование коммуникационных систем, финансовое моделирование, обработка сигналов и изображений, вычислительная биология и др. Ядро MATLAB позволяет максимально просто работать с матрицами
реальных, комплексных и аналитических типов данных и со структурами данных и таблицами поиска [8].
Ключевыми особенностями программы являются:
- большое количество (несколько сотен) функций для анализа данных и удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования;
- интерактивная среда для разработки кода, управления данными и файлами;
- функции линейной алгебры, статистики, решение дифференциальных уравнений, анализ Фурье и др.;
- наличие встроенных средств разработки пользовательского интерфейса для создания законченных приложений на MATLAB;
- средства интеграции с C/C++, наследование кода, ActiveX технологии;
- возможность создавать специальные наборы инструментов (англ. toolbox) для решения определённого класса задач, расширяющие функциональность программы.
SciLab - программное обеспечение с открытым исходным кодом для численных расчетов. Также как и MATLAB включает сотни математических функций и имеет схожий язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab.
Scilab основан на методах численных расчетов (анализ данных, разработка алгоритмов и моделей). Доступные методы включают в себя: интерполяцию и регрессию, дифференцирование и интеграцию, линейные системы уравнений, анализ Фурье, обыкновенные дифференциальные уравнения, матричный расчет (определение собственных и сингулярных значений) и другие.
Scilab предоставляет графические функции для визуализации, аннотирования и экспорта данных и предлагает множество способов
создания и настройки различных типов графиков и диаграмм: линии, круговые диаграммы, гистограммы, поверхности и др. Позволяет экспортировать графики различные форматы: PNG, PPM, EMF, EPS, FIG, PDF, SVG [9]. Возможности Scilab могут быть расширены внешними программами и модулями, написанными на разных языках программирования.
По данным с официального сайта программы число загрузок в месяц составляет порядка 100000, что свидетельствует о популярности программы. По версии свободной энциклопедии «ВикипедиЯ» Scilab - это «самая полная общедоступная альтернатива MATLAB».
GNU Octave - свободная система для математических вычислений, использующая совместимый с MATLAB язык высокого уровня. Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.) [10].
Octave - интерпретируемый язык программирования. Он поддерживает большинство основных функций стандартной библиотеки Си, а по синтаксису сходен с MATLAB, и грамотно написанные скрипты будут исполняться как в Octave, так и в MATLAB.
В таблицах 1 и 2 представлены основные характеристики математических пакетов, информация о разработчиках и осуществляется их сравнение. Данные актуальны для последних версий программ выпущенных к маю 2019 года.
Таблица 1
Сравнение математических систем MathCad, SMath Studio и Maxima
Параметр MathCad SMath Studio Maxima
Разработчик, официальный сайт ParametricTechnolog y Corporation (PTC), https://www.ptc.com/ ru/products/mathcad/ Андрей Ивашов,Ы^://га. smath.com/ Massachusetts Institute of Technology (MIT), http://maxima.sourc eforge.net/
Год выпуска 1986 2006 1982
Последняя версия программы, месяц и год ее выпуска (публикации) Prime 5.0 (июнь 2018) 0.99.7030 -стабильная (апрель 2019); 5.43.0 (май 2019)
Лицензия Проприетарная Freeware* GNU GPL
Требования к операционной системе Microsoft Windows Linux, Microsoft Windows, mac OS X Linux, Microsoft Windows, mac OS X
Системные требования (под управлением ОС Windows) Место на жестком диске: 2.1 GB (600 MB for PTC Mathcad with one language installed, 1.5 GB for temporary space during installation) Прочие требования: 4.6.2 or later version of .NET that Microsoft certifies is a replacement for 4.6.2 На сайте разработчика информация отсутствует. Работа программы проверялась на ПЭВМ со следующими характеристиками Процессор: AMD E1, 1,8 Ghz Оперативная память: 2 Gb Видеокарта: 512 Mb На сайте разработчика информация отсутствует. Работа программы проверялась на ПЭВМ со следующими характеристиками: Процессор: AMD E1, 1,8 Ghz Оперативная память: 2 Gb Видеокарта: 512 Mb
Основные функциональные возможности:
Алгебраические да да да
вычисления
Дифференцирование да да да
Интегрирование да да да
Операции с матрицами да да да
Вычисления в символьном виде да только дифференцирова ние да
Вычисления с элементарными функциями да да да
Вычисление пределов да нет да
Построение графиков да да да
Операции с комплексными числами да да да
Вычисления со специальными функциями да нет в меньшем количестве
Случайные числа да да да
Аппроксимация да нет нет
Обработка сигналов да нет нет
Оператор if да да да
Операторы while и for да да да
Сведения о форматах данных Собственные форматы: Mathcad document (.mcd, xmcd); поддержка (импорт) форматов: XML, текстовые файлы (.txt), файлы Excel (.xlsx, .xls, .csv), файлы изображений (.bmpvjpg) Собственные форматы:.Бт,.вс; экспорт (конвертация): exe; ограниченная поддержка ХМСБ Собственные форматы: .wxm, .wxmx; поддержка форматов: .mac; .out; .xml
Русский язык интерфейса да да да
Возможность Разрешается Запрещено Запрещено
использования в закрытых информационных системах использовать использовать
Цена, руб. 45000 Бесплатно Бесплатно
* - бесплатное программное обеспечение, в отличие от СПО, может распространяться без исходных текстов и может иметь ограничения на коммерческое использование, модификацию и т. д. СПО предоставляет каждому, помимо права на использование программного обеспечения, право модификации и ряд других прав.
Таблица 2
Сравнение математических систем Matlab, Scilab и GNU Octave
Параметр Matlab Scilab GNU Octave
Разработчик, официальный сайт The MathWorks, https://www.mathw orks.com/ Scilab Enterprises (с 2017 года часть ESI Group), http://www.scilab.o rg/ John W. Eaton, https://www.gnu.or g/software/octave/
Год первого выпуска программы 1984 1994 1988
Последняя версия программы, месяц и год ее выпуска (публикации) R2019a (MATLAB 9.6) 6.0.2 (февраль 2019) 5.1.0 (март 2019)
Лицензия Проприетарная CeCILL (свободная, совместимая с GNUGPL v2) GNU GPL
Требования к операционной системе Linux, Microsoft Windows, mac OS X, Unix Linux, Microsoft Windows, mac OS X Linux, Microsoft Windows, mac OS X
Системные требования (под управлением ОС Windows) Процессор: семейства Intel or AMD x86-64 (минимум) Оперативная память: 4 ГБ(минимум) Процессор: класса Pentium IV (или эквивалент) с инструкциями SSE2 Оперативная память: На сайте разработчика информация отсутствует. Работа программы проверялась на ПЭВМ со следую-
Видеокарта: 2 ГБ ОЗУ щими характери-
рекомендуется (минимум 1 ГБ) стиками:
видеокарта с аппаратным ускорением, поддерживающая OpenGL 3.3 с 1 ГБ Место на жестком Процессор:
диске: AMD E1, 1,8 Ghz
600 МБ Оперативная
память:
2 Gb
памяти GPU Видеокарта:
Место на жестком 512 Mb
диске:
2,9 ГБ на жестком
диске(только для
MATLAB), 5-8 ГБ
для обычной
установки (полная
установка всех
продуктов MathWorks может
занять до 29 ГБ)
Основные функциональные возможности:
Алгебраические да да да
вычисления:
Дифференцирование да да да
Интегрирование да да да
Операции с да да да
матрицами
Вычисления в да (Symbolic Math В меньшей В меньшей
символьном виде Toolbox) степени степени
Вычисления с
элементарными функциями да да да
Построение графиков да да да
Операции с
комплексными да да да
числами
Вычисления со
специальными да да да
функциями
Случайные числа да да да
Аппроксимация да да да
Обработка да да да
сигналов
Оператор if да да да
Операторы while и for да да да
Сведения о MATLAB-M, .sce (Scilab Script), cсобственный
форматах данных Hierarchical Data .sci (Scilab Macro формат: .m (.M)
Format (hdf) Definitions), .zcos (Scilab XML Diagram), .cosf (Scilab ASCII Diagram), .cos (Scilab Binary Diagram); Hierarchical Data Format (hdf) Поддержка: Hierarchical Data Format (hdf)
Русский язык интерфейса Официальный отсутствует да да
Возможность Разрешается Запрещено Запрещено
использования в использовать использовать
закрытых информационных
системах
Цена, руб. В зависимости от комплекта. 3550 версия Student R2019a в комплектации MATLAB and Simulink Student Suite Бесплатно Бесплатно
Из таблицы 1 видно, что программы SMath Studio и Maxima не являются полными аналогами Mathcad и уступают ей функционалом.
Среди недостатков SMath Studio можно выделить малое количество встроенных функций, бедная реализация вычислений в символьном виде и отсутствие средств для оформления документов. В программе Maxima при решении системы уравнений, полученные результаты сложно использовать в
дальнейшем. По причине построчной записи данных в лист программы при вводе длинных выражений с большим количеством математических действий, увеличена вероятность допустить ошибку.
К достоинствам SMath Studio относится визуальное представление решаемых математических задач, наличие поддержки пользователю в форме всплывающих подсказок по вводу переменных и функций, как в современных средах программирования, возможность расширения программы с помощью пользовательских модулей и дополнений. SMath Studio по стилю (интерфейсу) наиболее близкая к MathCad. В программе Maxima более строгая типизация данных, которая повышает ее производительность, а также упрощает процесс отладки проекта. Обе программы являются кроссплатформенными и совместимы с ОС Linux.
Таким образом, для простых расчетов у курсантов первого года обучения на таких занятиях, как, например, «Информатика» и «Информационные технологии», можно использовать пакет SMath Studio. Также они подойдут для использования на подготовительных курсах иностранных обучающихся (курсантов и офицеров). Программа SMath Studio не подойдет для проведений занятий по таким дисциплинам как например «Теория устойчивости и автоматического регулирования», «Программно-статистические комплексы», «Пакеты прикладного общеинженерного программного обеспечения» по причине отсутствия преобразования Лапласа. Также нет полного набора алгоритмов для численных методов. Maxima на порядок выше SMath Studio и может применятся как альтернатива MathCad по направлениям подготовки высшего образования в области математических, компьютерных и информационных наук, но не подойдет для использования по специальным дисциплинам, таких как например «Радиотехнические цепи и сигналы», «Цифровые и импульсные устройства и
микропроцессоры», «Основы теории цепей» и подобных в частности из-за отсутствия встроенных функций по обработке сигналов.
Несмотря на схожие функции программный комплекс Matlab имеет большие возможности по сравнению с свободными аналогами, преимущественно за счет расширенного набора готовых специальных инструментов (toolbox) для решения определённого класса задач в различных областях науки. Тем не менее, функций имеющихся у свободных аналогов в большей мере достаточно для подготовки обучающихся по соответствующим программам высшего образования. Как видно из таблицы 2 Scilab и Gnu Octave могут быть альтернативой и для программного комплекса MathCad.
Более широкое и объективное сравнение рассмотренных математических систем осложняется в связи с разной идеологией их использования.
Таким образом, проведенный анализ показал, что внедрение и использование в научной и образовательной деятельности свободного программного обеспечения может рассматривается как реальная альтернатива проприетарным программным комплексам. Данное решение позволит ускорить темп обучения и исследований в инженерных дисциплинах, а также будет способствовать борьбе с важным негативным следствием коммерческого ПО - феноменом так называемого «пиратства» или «пиратского» распространения программ.
Основными трудностями, связанными с внедрением в образовательный процесс свободного программного обеспечения, представляются следующими:
проблемы совместимости (или полное её отсутствие) новых форматов с уже имеющимися наработками;
консерватизм самих пользователей, связанный с нежеланием осваивать что-то новое;
недостаточный функционал СПО в сравнении с ППО при использовании по отдельным дисциплинам;
в отдельных случаях требования вышестоящего руководства (установочных нормативных документов) в использование определенного программного продукта для данной области.
В качестве поддержки данного направления рекомендуется в военных ВУЗах разработать и организовать сопровождение соответствующей общедоступной базы данных с набором необходимых дистрибутивов СПО, электронных обучающих материалов и другого контента, позволяющего облегчить и сократить время на их освоение, таким образом создав необходимые условия для обеспечения коллективного перехода пользователей на применение пакетов СПО, что позволит существенно сэкономить государственные бюджетные средства при требуемом качестве к подготовке обучающихся и исключить потребность в данном виде обеспечения.
Литература
1. Бобровских А.В. Перспективы использования программного обеспечения в образовательной деятельности курсантов ВУНЦ ВВС «ВВА» // VI Научно-практическая конференция. Воронеж: ВУНЦ ВВС «ВВА», 2019 г. С. 23-27.
2. Артомонов И.В. Свободное программное обеспечение: преимущества и недостатки // Известия ИГЭА, 2012. №5. С. 122-125.
3. Бородина Н.А., Богданова И.Б. Особенности осуществления государственной политики в области информатизации образования в современной России. Инженерный Вестник Дона, 2012, №1. URL: ivdon.ru/ru/magazine/archive/n1y2012/635
4. Фонд Свободного Программного Обеспечения (Free Software Foundation) URL: gnu.org, свободный. Дата обращения: 21.10.2019.
5. Бобровских А. В. Перспективы использования прикладного программного обеспечения в образовательных организациях военной направленности // Международная научно-практическая конференция «Инновационные Технологии - 2019». Пермь: научно- Аэтерна, 2019 г. С. 8-12.
6. Моисеенко Н.А. Трансформационное обучение и холистический подход в информационно-образовательной среде технического вуза. Инженерный Вестник Дона, 2013, № 4. URL: ivdon.ru/ru/magazine/archive/n4y2013/2034
7. MathCad. - URL: mathcad.com.
8. MatLab. - URL: matlab.ru/products/matlab (дата обращения: 09.07.2019).
9. SciLab. - URL: scilab.org/software/scilab (дата обращения: 09.07.2019).
10. GNU Octave. - URL: gnu.org/software/octave/ (дата обращения: 09.07.2019).
References
1. Bobrovskih A.V. Perspektivy ispol'zovanija programmnogo obespechenija v obrazovatel'noj dejatel'nosti kursantov VUNC VVS «VVA». VI Nauchno-prakticheskaja konferencija. Voronezh: VUNC VVS «VVA», 2019, pp. 23-27.
2. Artomonov I.V. Izvestija IGJeA, 2012, №5, pp. 122-125.
3. Borodina N.A., Bogdanova I.B. Inzhenernyj vestnik Dona, №1, 2012. URL: ivdon.ru/ru/magazine/archive/n1y2012/635
4. Fond Svobodnogo Programmnogo Obespechenija (Free Software Foundation) URL: gnu.org, svobodnyj.
5. Bobrovskih A.V. Perspektivy ispol'zovanija prikladnogo programmnogo obespechenija v obrazovatel'nyh organizacijah voennoj napravlennosti. Sbornik
statej po itogam Mezhdunarodnoj nauchno-prakticheskoj konferencii «Innovacionnye tehnologii». Perm', 2019, 114 p.
6. Moiseenko N.A. Inzhenernyj vestnik Dona, № 4, 2013. URL: ivdon.ru/ru/magazine/archive/n4y2013/2034
7. MathCad. URL: mathcad.com.
8. MatLab. URL: matlab.ru/products/matlab (Date accessed: 09.07.2019).
9. SciLab. URL: scilab.org/software/scilab (Date accessed: 09.07.2019).
10. GNU Octave. URL: gnu.org/software/octave/ (Date accessed: 09.07.2019).
11. GNU Octave. URL: gnu.org/software/octave/