УДК 665.6
Кувшинов Н.Е.
инженер научно-исслед. лаборатории «ФХПЭ» Казанский государственный энергетический университет
Россия, г. Казань Kuvshinov N.E. engineer laboratory "FHPE" Kazan State Power Engineering University
Russia, Kazan
АВТОМАТИЗИРОВАННАЯ ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА
Аннотация: На сегодняшний день компьютеризация является неотъемлемой частью деятельности организаций, поднимая проектную работу на высокий уровень, при этом повышая темпы и качество проектирования, решаются многие сложные инженерные задачи, до этого рассматривающиеся лишь упрощенно. Реализуется это использованием специализированных программ, которые могут быть как самостоятельными, так и в виде приложений к общетехническим программам. В данной статье будет рассматриваться один из подходов к упрощению проектной деятельности, с помощью специализированных программ и программных средств.
Ключевые слова: автоматизированная генерация, генерация кода, MATLAB, LabVIEW, Simulink.
AUTOMATED GENERATION OF THE PROGRAM CODE
Abstract: To date, computerization is an integral part of the activities of organizations, raising the design work to a high level, while increasing the pace and quality of design, solve many complex engineering problems, previously considered only in a simplified manner. It is realized by using specialized programs that can be both independent and as applications to general technical programs. This article will consider one of the approaches to simplifying the project activity, with the help of specialized programs and software.
Keywords: automated generation, code generation, MATLAB, LabVIEW, Simulink.
1. Введение
Стремительное развитие современных информационных технологий приводит к постоянному усложнению автоматизированных систем. В связи с этим приходится искать способы, позволяющие снизить время разработки, уменьшить число ошибок и упростить взаимодействие инженеров и программистов. Одним из таких способов является кодогенерационный подход.
2. Кодогенерационный подход
Зачастую, системы управления моделируют с помощью специализированных программных пакетов и в последствие необходимо описать эту модель с помощью программного кода. Так как системы могут
быть различной степени сложности, написание такого кода может занять большое количество времени. Также не исключается вариант недостаточных знаний программиста, для написания кода такой системы.
Множество математических операций увеличивают вероятность допущения ошибок при ручном написании кода. Кодогенерационный подход помогает значительно упростить написание кода.
Кодогенерационный подход заключается в том, что программный пакет, в котором была смоделирована система, автоматически генерирует описывающий ее код на языке С, либо С++.
На данный момент существует множество программных пакетов, позволяющих моделировать системы различной степени сложности и на их основе получать сгенерированный С либо С++ код. Среди «гигантов» можно отметить такие пакеты программ как MATLAB и LabVIEW.
Выбор программного пакета, в большей степени, зависит от поставленной задачи, которую необходимо решить, и методов ее решения.
Программный пакет LabVIEW ориентирован на измерения, визуализацию и обработку данных одновременно. В основе LabVIEW лежит концепция графического программирования - последовательное соединение функциональных блоков на блок-диаграмме [1]. Программный пакет MATLAB - платформонезависимый высокоуровневый язык программирования ориентированный на матричные вычисления и разработку алгоритмов. Язык MATLAB обладает поддержкой векторных и матричных операций, которая необходима для решения инженерных и научных задач, и предназначена для быстрой разработки и запуска. Также пакет MATLAB включает в себя среду Simulink. Это графическая среда имитационного моделирования, позволяющая при помощи блок-диаграмм в виде направленных графов, строить динамические модели, включая дискретные, непрерывные и гибридные, нелинейные и разрывные системы [2].
Для автоматизированной генерации кода в программных пакетах есть специальные утилиты. У пакета LabVIEW данная утилита называется LabVIEW C Generator. У программного пакета MATLAB она называется MATLAB Coder.
3. Реализация подхода
В качестве примера приведена одноконтурная система управления, структурная схема которой приведена на рисунке 1.
Рисунок 1 - Структурная схема системы управления Автоматизированная генерация программного кода производится с помощью программного пакета МЛ^ЛВ. На рисунке 2 изображена схема исследуемой модели. Модель была реализована с помощью графической среды моделирования Simulink программного пакета МЛТЬАВ.
Рисунок 2.3 - Схема модели системы Для того чтобы сгенерировать программный код на основе модели
Simulink, требуется воспользоваться утилитой MATLAB Coder.. С помощью данной утилиты, на основе модели автоматически генерируется программный код. Код может генерироваться на языках C/C++. Затем в окне настройки параметров выбираем нужный нам язык программирования и нажимаем «Generate code».
Рисунок 2.5 - Окно параметров конфигурации По окончании процесса генерации кода создается exe - файл, mat -файл и папки, содержащие файлы с кодом.
Файлы с расширением «.h» отвечают за подключение к программе типов данных, функций, структур и т.п. Файлы с расширением «.с» содержат исходный код программы или же являются отдельной частью проекта. 4. Заключение
Таким образом, на процесс генерации кода уходит меньше минуты времени. Полученный код не является готовой программой. Необходимо произвести его модернизацию. Но все же, такой подход значительно сокращает время написания кода и уменьшает вероятность допущения ошибок при ручном написании.
Использованные источники: 1.Safin A.R., Ivshin I.V., Kopylov A.M., Misbakhov R.S., Tsvetkov A.N. Selection and justification of design parameters for reversible reciprocating electric machine. // International Journal of Applied Engineering Research. 2015. Т. 10. № 12. С. 31427-31440.
2.Kopylov A.M., Ivshin I.V., Safin A.R., Misbakhov R.S., Gibadullin R.R. Assessment, calculation and choice of design data for reversible reciprocating electric machine. // International Journal of Applied Engineering Research. 2015. Т. 10. № 12. С. 31449-31462.
3.Москаленко Н.И., Мисбахов Р.Ш., Ермаков А.М., Гуреев В.М. Моделирование процессов теплообмена и гидродинамики в кожухотрубном
теплообменном аппарате. // Известия высших учебных заведений. Проблемы энергетики. 2014. № 11-12. С. 75-80.
УДК 681.3
Кувшинов Н.Е.
инженер научно-исслед. лаборатории «ФХПЭ» Казанский государственный энергетический университет
Россия, г. Казань Kuvshinov N.E. engineer laboratory "FHPE" Kazan State Power Engineering University
Russia, Kazan
ИНТЕЛЛЕКТУАЛЬНЫЕ ОБУЧАЮЩИЕ СИСТЕМЫ
Аннотация. В статье рассматриваются виды компьютерных обучающих систем и основные тенденции в разработке интеллектуальных учебных курсов. Автор, затрагивая исторический процесс заявленной темы, акцентирует внимания на практико-ориентированном аспекте ИОС.
Описываются три принципа проектирования диалоговых обучающих программ.
Ключевые слова: Искусственный интеллект, автоматизированная обучающая система, универсальные инструментальные средства, адаптивное обучение.
INTELLIGENT TRAINING SYSTEMS
The article considers the types of computer training systems and the main trends in the development of intellectual training courses. The author, touching upon the historical process of the declared topic, emphasizes the practical-oriented aspect of IOS.
Three principles of designing interactive training programs are described.
Keywords: Artificial intelligence, automated learning system, universal tools, adaptive learning.
Наиболее представительной группой нового поколения учебных систем являются интеллектуальные обучающие системы (ИОС). Создание ИОС стало результатом применения методов и средств искусственного интеллекта (ИИ) в области автоматизированного обучения.
Первые исследования в этом направлении и первые попытки создания интеллектуальных обучающих систем относятся к началу 70-х годов. Они были вызваны разочарованием ряда разработчиков обучающих систем в традиционной технологии программированного обучения.
В течение первых десяти лет (1970-1980 гг.) был разработан целый ряд экспериментальных и практических ИОС, которые продемонстрировали плодотворность нового и стимулировали дальнейшие исследования. В настоящее время можно говорить о новом научном направлении,