НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ январь-февраль 2019 Том 19 № 1 ISSN 2226-1494 http://ntv.i1mo.ru/
SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS January-February 2019 Vol. 19 No 1 ISSN 2226-1494 http://ntv.ifmo.ru/en
УДК 528.721
ОПЫТ ИСПОЛЬЗОВАНИЯ ЛАБОРАТОРНЫХ СТЕНДОВ SDK В УЧЕБНОМ ПРОЦЕССЕ А.О. Ключев, А.Е. Платунов, А.М. Дергачев
Университет ИТМО, 197101, Санкт-Петербург, Российская Федерация Адрес для переписки: kluchev@gmail.com; aeplatunov@gmail.com Информация о статье
Поступила в редакцию 30.12.18, принята к печати 10.01.19 doi: 10.17586/2226-1494-2019-19-1-184-187 Язык статьи - русский
Ссылка для цитирования: Ключев А.О., Платунов А.Е., Дергачев А.М. Опыт использования лабораторных стендов SDK в учебном процессе // Научно-технический вестник информационных технологий, механики и оптики. 2019. Т. 19. № 1. С. 184-187. doi: 10.17586/2226-1494-2019-19-1-184-187
Аннотация
Исследован современный рынок труда в области IT-технологий в России, проанализированы требуемые компетенции для соискателей. Показаны проблемы, связанные с обучением студентов проектированию встроенных и киберфизических систем, а также особенности традиционных подходов к обучению программистов. Предложен подход к повышению качества обучения программистов информационных систем за счет использования низкоуровневого программирования. Представлен разработанный модульный учебный лабораторный стенд SDK-1.1M. Ключевые слова
встроенная система, киберфизическая система, обучение, информационная система, учебный стенд
APPLICATION OF LABORATORY STANDS SDK IN EDUCATION А.О. Kluchev, А.Е. Platunov, А.М. Dergachev
ITMO University, Saint Petersburg, 197101, Russian Federation Corresponding author: kluchev@gmail.com; aeplatunov@gmail.com Article info
Received 30.12.18, accepted 10.01.19 doi: 10.17586/2226-1494-2019-19-1-184-187 Article in Russian
For citation: Kluchev А.О., Platunov А.Е., Dergachev А.М. Application of laboratory stands SDK in education. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2019, vol. 19, no. 1, pp. 184-187 (in Russian). doi: 10.17586/2226-1494-2019-19-1-184-187
Abstract
The up-to-date labor market in the field of IT-technologies in Russia is studied, the required competencies for applicants are analyzed. The problems are shown associated with teaching students to design embedded and cyber-physical systems, as well as the features of traditional approaches to teaching software engineers. We propose an approach to the training quality improvement for software engineers of information systems through the use of low-level programming. The developed modular training laboratory stand SDK- 1.1M is presented. Keywords
embedded system, cyber-physical system, training, information system, training stand
К настоящему времени на рынке труда России превалируют вакансии, прямо или косвенно связанные с переработкой полезных ископаемых и финансовой деятельностью. Об этом можно судить как по текущему составу индекса РТС1, в который включаются самые значимые компании, по составу вакансий и компетенций, представленных на профильных ресурсах2, так и по статистике используемых инструментальных средств3 и требуемых компетенций4. Из статистики видно, что чаще всего упоминаются средства для создания web-приложений и программ для поддержки бизнеса. В этих областях отмечаются
1 Московская биржа. Индекс МосБиржи и индекс РТС [Электронный ресурс]. Режим доступа: https://www.moex.com/ru/index/RTSI, свободный. Яз. рус. (дата обращения 31.01.2019).
2 Хэдхантер [Электронный ресурс]. Режим доступа: http://hh.ru, свободный. Яз. рус. (дата обращения 31.01.2019).
3 Зарплаты в ИТ [Электронный ресурс]. Режим доступа: https://moikrug.ru/salaries, свободный. Яз. рус. (дата обращения 31.01.2019).
4 Зарплаты ИТ-специалистов на середину 2018 года [Электронный ресурс]. Режим доступа: https://habr.com/ru/company/moikrug/blog/420391/, свободный. Яз. рус. (дата обращения 31.01.2019).
также самые высокие зарплаты. Разумеется, при поступлении в университеты абитуриенты, интересующиеся IT-технологиями, выбирают специальности, связанные с описанными выше областями. Абитуриентов, желающих поступить на направления магистратуры, связанные с информационными системами, в несколько раз больше, чем абитуриентов, интересующихся встроенными системами, схемотехникой и программируемыми логическими интегральными схемами (ПЛИС).
Перекос системы образования в область поддержки создания сайтов и бухгалтерских программ может серьезно навредить экономике в ближайшей перспективе. Потеря интереса к IT-технологиям, позволяющим создавать промышленные контроллеры и бортовые системы управления, может привести к постепенному вымыванию профильных преподавателей из университетов, миграции специалистов в другие страны и потере учебного задела, формировавшегося годами. Такой же большой проблемой видится уход от архитектурных вопросов проектирования вычислительных систем [1-3] в сторону шаблонных решений на базе готовых фреймворков.
Формально в перечне критических технологий Российской Федерации5 представлено 27 технологий, как минимум в половине из которых прямо или косвенно используются встраиваемые и киберфизи-ческие системы. Однако фактически эта область в России находится в состоянии стагнации. В развитых странах интерес к созданию встраиваемых и киберфизических систем очень высок, он хорошо заметен по научным публикациям, по показателям экономики и по требуемым вакансиям в индустрии США и Западной Европы6:
- с целью усовершенствования процесса обучения предлагается использовать в ограниченном объеме знакомство с микроконтроллерами и схемотехникой в подготовке IT-специалистов по востребованным направлениям, не связанным напрямую со встроенными системами. Такой подход может способствовать дополнительным возможностям для сохранения специалистов и наработок в области встроенных систем до момента возникновения более серьезного интереса к встроенным и киберфи-зическим системам со стороны индустрии. Кроме того, можно повысить уровень образования за счет более глубокого изучения вычислительных систем и компенсировать следующие проблемы:
- программисты информационных систем, как правило, не привыкли экономить ресурсы памяти и процессорное время, что приводит к написанию медленных и больших по размеру программных продуктов;
- большинство программистов склонны считать, что все системы идеальны. Такой взгляд часто приводит к катастрофическим результатам при неожиданных сбоях оборудования, прикладного или системного программного обеспечения (ПО);
- подавляющее количество программистов плохо понимают принципы многопоточных вычислений, параллелизм, а также не осознают проблем, связанных с параллельной работой процессов [4];
- как правило, подготовка программистов не включает изучение моделей вычислений и архитектуры [4-6], что создает у студентов иллюзию простоты и отбрасывает их в ряды низкоквалифицированных кодеров;
- текущее состояние бурно растущей индустрии информационных систем порождает море некачественной информации в форме запрос-ответ (см. широко известный у программистов ресурс Stackoverflow7), отучающий программистов понимать суть вопроса, думать, читать и писать грамотную документацию.
Для таких курсов могут использоваться прототипные платы, популярные в радиолюбительской среде модули Arduino и специализированные учебные стенды. Однако прототипные платы предназначены для использования одним разработчиком, а не целым потоком студентов. Практика показывает, что время жизни подобных устройств невелико. Проблемы c Arduino несколько иные: модуль относится к сегменту DIY (Do It Yourself, сделай сам), предполагающему крайне низкий порог вхождения и порождающему иллюзию простоты. На самом деле студенту нужно продемонстрировать, что между роботом, собранным из детского конструктора, и настоящим устройством, работающим в реальном мире (на заводе, в автомобиле, самолете, спутнике), лежит огромная пропасть. Эту пропасть не преодолеть, если намеренно прятать от студентов непонятные места и не демонстрировать суть вычислительной техники.
В Университете ИТМО созданы микроконтроллерные стенды, максимально похожие по своему устройству на реальные управляющие системы. Бакалаврам четвертого курса читаются дисциплины «Информационно-управляющие системы» и «Системы ввода-вывода», предполагающие программирование контроллеров на языке Си и минимальное (необременительное) изучение схемотехники. Не так давно сотрудниками направления «Компьютерные системы и технологии» факультета ПИиКТ Университета ИТМО и дизайн-центра «ЛМТ»8 разработан новый модульный учебный лабораторный стенд SDK-1.1M (см. рисунок).
5 Перечень критических технологий Российской Федерации года [Электронный ресурс]. Режим доступа: http://kremlin.ru/supplement/988, свободный. Яз. рус. (дата обращения 31.01.2019).
6 Hired [Электронный ресурс]. Режим доступа: http://Hired.com, свободный. Яз. англ. (дата обращения 31.01.2019).
7 Stackoverflow [Электронный ресурс]. Режим доступа: https://stackoverflow.com/, свободный. Яз. англ. (дата обращения 31.01.2019).
8 Дизайн-центр ЛМТ [Электронный ресурс]. Режим доступа: http://lmt.spb.ru/ , свободный. Яз. рус. (дата обращения 31.01.2019).
ОПЫТ ИСПОЛЬЗОВАНИЯ ЛАБОРАТОРНЫХ СТЕНДОВ SDK В УЧЕБНОМ ПРОЦЕССЕ
Предыдущая версия стенда на базе микроконтроллера ADuC 812 много лет успешно эксплуатировалась в десятках учебных заведений по всей России. Новый стенд состоит из базовой платы и процессорного модуля.
На настоящий момент выпускаются процессорные модули на базе микроконтроллеров NXP Coldfire v2 и STM32 (STM32F107, STM32F407 и STM32F427). В ближайшей перспективе появится модуль расширения NXP iMX6ULL, позволяющий запускать ОС Linux. Выпускается несколько модификаций стенда, различающихся типом процессора, составом периферийного оборудования, наличием разъемов для подключения модулей расширения в формате двух типов: SDK-X производства «ЛМТ» и модулей, совместимых с Arduino (Arduino Shield).
Модуль расширения SDK-X (ПЛИС)
«о
Модуль расширения в формате Arduino (GSM модем, WiFi, Bluetooth, ZigBee) DataFlash EEPROM SDK-l.lM
RTC Клавиатура
Акселерометр Магнитометр Дисплей Звуковой излучатель
USB Ethernet SSD I/O
Процессорный модуль
STM32F107, STM32F407, STM32F427, iMX6ULL
или Coldfire v2
Рисунок. Структура учебного стенда SDK-1.1M
Учебный стенд содержит все необходимые компоненты, позволяющие демонстрировать студентам основные механизмы современных встраиваемых и киберфизических систем: устройства I2C (RTC, E2PROM, расширитель портов), устройства SPI (DataFLASH, SSD), USB, Ethernet, графический дисплей, клавиатура, излучатель звука, акселерометр, магнитометр, различные порты ввода-вывода. Для программирования микроконтроллера стенда используется интерфейс JTAG на базе встроенной микросхемы FTDI. Инструментальное программное обеспечение для контроллеров на базе STM32 включает в себя генератор проектов STM32CubeMX, широкий спектр различных коммерческих IDE (IAR, Keil и др.), бесплатную IDE System Workbench AC6 на базе Eclipse и компилятора GCC. В зависимости от финансовых возможностей учебное заведение может выбрать как платный, так и бесплатный вариант IDE. Хочется заметить, что уровень развития System Workbench достаточно высок, и от платных аналогов эта IDE отличается отсутствием поддержки со стороны производителя, что компенсируется достаточно широким профильным сообществом в сети Интернет.
Опыт использования учебных стендов SDK предыдущих поколений показал, что студенты, прошедшие курс, связанный с программированием встроенных систем, показывают лучшие знания в следующих областях: l 2
3
4
5
6 7
параллельные процессы, проблемы с глобальными переменными, гонки и блокировки; критические секции и семафоры; протоколы передачи данных; надежное программирование; оптимизация кода по быстродействию и объему; механизмы надежности и безопасности; устройство вычислительной системы и микропроцессора. Решить перечисленные проблемы помогут курсы по программированию микроконтроллеров9 и разработке аппаратуры на базе ПЛИС [7]. , Эти курсы позволят рассмотреть архитектуру вычислительной системы изнутри и глубже прочувствовать проблемы. Несмотря на явную нелюбовь студентов к подобной тематике, изучение вычислительной системы «изнутри» позволяет гораздо более коротким путем дойти до понимания проблем проектирования распределенных информационных систем с их сетями и многопоточностью. Наши выпускники успешно применяют полученные знания в областях, достаточно слабо связанных со встроенными системами, таких как проектирование бэкендов web-серверов, разработка информационных систем на базе микросервисов, программирование многопоточных приложений на Python и Java и т.п.
9 Silicon Russia & Ukraine. Образовательные проекты для микроэлектроники [Электронный ресурс]. Режим доступа: http://www.silicon-russia.com/author/yuripanchul-com/, свободный. Яз. англ. (дата обращения 31.01.2019).
Литература
1. Платунов А.Е. Теоретические и методологические основы высокоуровневого проектирования встраиваемых вычислительных систем. СПб: Университет ИТМО, 2010. 477 c.
2. Kluchev A., Platunov A., Penskoi A. HLD - methodology in embedded systems design with a multilevel reconfiguration // Proc. 3rd Mediterranean Conference on Embedded Computing (MEC0-2014). Budva, Montenegro, 2014. P. 36-39. doi: 10.1109/meco.2014.6862729
3. Пенской А.В. Архитектурное документирование встроенных систем с многоуровневой конфигурацией // Изв. вузов. Приборостроение. 2015. № 7. С. 527-532.
4. Lee E.A. The problem with threads // Computer. 2006. V. 39. N 5. P. 33-42. doi: 10.1109/mc.2006.180
5. Lee E.A., Seshia S.A. Introduction to Embedded Systems: A Cyber-Physical Systems Approach. 2nd ed. MIT Press, 2017.
6. Ptolemaeus C. (ed). System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org, 2014.
7. Хэррис Д., Хэррис С. Цифровая схемотехника и архитектура компьютера. Morgan Kaufman, 2013. 1627 c.
Авторы
Ключев Аркадий Олегович - кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, Scopus ID: 56429748500, ORCID ID: 0000-0002-3892-8424, kluchev@gmail.com Платунов Алексей Евгеньевич - доктор технических наук, профессор, профессор, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, Scopus ID: 35318291200, ORCID ID: 0000-0003-3003-3949, aeplatunov@gmail.com Дергачев Андрей Михайлович - кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ORCID ID: 0000-0002-1754-7120, dam600@gmail.com
References
1. Platunov A.E. Theoretical and Methodological Bases of HighLevel Design of Embedded Computing Systems. St. Petersburg, ITMO University Publ., 2010, 477 p. (in Russian)
2. Kluchev A., Platunov A., Penskoi A. HLD - methodology in embedded systems design with a multilevel reconfiguration. Proc. 3rd Mediterranean Conference on Embedded Computing, MECO-2014. Budva, Montenegro, 2014, pp. 36-39. doi: 10.1109/meco.2014.6862729
3. Penskoi A. V. Architectural specification of embedded systems with multi-level configuration. Izvestiya Vysshikh Uchebnykh Zavedeniy. Priborostroenie, 2015, vol. 58, no. 7, pp. 527-532. (in Russian)
4. Lee E.A. The problem with threads. Computer, 2006, vol. 39, no. 5, pp. 33-42. doi: 10.1109/mc.2006.180
5. Lee E.A., Seshia S.A. Introduction to Embedded Systems: A Cyber-Physical Systems Approach. 2nd ed. MIT Press, 2017.
6. Ptolemaeus C. (ed). System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org, 2014.
7. Harris D., Harris S. Digital Design and Computer Architecture. 2nd ed. Morgan Kaufman, 2012.
Authors
Arkadiy O. Kluchev - PhD, Associate Professor, ITMO University, Saint Petersburg, 197101, Russian Federation, Scopus ID: 56429748500, ORCID ID: 0000-0002-3892-8424, kluchev@gmail. com
Alexey E. Platunov - D.Sc., Full Professor, ITMO University, Saint Petersburg, 197101, Russian Federation, Scopus ID: 35318291200, ORCID ID: 0000-0003-3003-3949, aeplatunov@gmail.com
Audrey M. Dergachev - PhD, Associate Professor, ITMO University, Saint Petersburg, 197101, Russian Federation, ORCID ID: 0000-0002-1754-7120, dam600@gmail.com