Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026)

Материал из 0x1.tv

(перенаправлено с «20260207G»)
Докладчик
Алексей Федосеев.jpg
Алексей Федосеев

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

К настоящему моменту в рамках платформы был разработан набор национальных стандартов, программных и аппаратных решений — от движка для создания видеоигр и виртуальных миров до библиотек и сред разработки, а также функциональных контроллеров и учебных приборов для школьников и студентов. Продукты объединяет единая методология разработки и визуальный язык, основанный на принципах программирования машин состояний.

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

Видео[править вики-текст]

Презентация[править вики-текст]

Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026).pdf

Thesis[править | править вики-текст]

Ключевые слова: обучение программированию, машины состояний, стандарт, среда разработки, платформа.

Введение[править | править вики-текст]

Технологические кружки уже больше 100 лет играют роль колыбели новых технологий и практик будущего. В сфере информационных технологий ярким примером является Tech Model Railroad Club из MIT. При этом в современной России технические кружки уступают в популярности многим другим направлениям дополнительного образования[1] , а родители и старшеклассники зачастую предпочитают кружкам подготовку к ЕГЭ. Не менее серьёзным вызовом является технологическое обеспечение кружков — после 2022 года в связи с уходом с рынка многих зарубежных производителей возникла потребность переоснащать кружки отечественными и открытыми решениями[2]. В этих целях в 2023 году был инициирован проект «Национальная киберфизическая платформа», направленный на массовое вовлечение школьников в инженерию и новые технологии, обучение их программированию, электронике и созданию автономных систем[3].

Киберфизическая платформа[править | править вики-текст]

В связи с большим числом уже существующих отечественных решений в области образовательной робототехники и умного дома (при этом в массе своей — проприетарных), а также уже появившихся на рынке отечественных контроллеров, реализованных в том числе на базе открытой архитектуры RISC-V, было принято решение основным направлением развития Национальной киберфизической платформы сделать методологию и программное обеспечение для разработки киберфизических систем[4]. В этой области уже существуют инициированные не в России открытые экосистемы разработки, такие как Arduino, ROS, Home Assistant и др. Поэтому важный акцент делается на сквозном вовлечении и обучении школьников и студентов с самого младшего возраста и до уровня профессиональной разработки, формировании правильных способов работы и мышления будущих разработчиков, в т. ч. в опоре на принципы разработки свободного ПО.

В рамках Национальной киберфизической платформы школьники впервые знакомятся с программированием и робототехникой в видеоиграх, затем имеют возможность поучаствовать в очных мероприятиях и кружках и перейти от разработки игр к созданию собственных решений для умного дома и робототехники, в том числе в рамках Национальной технологической олимпиады[5], а в будущем — принять участие во Всероссийском конкурсе проектов с открытым кодом[6] и представить там собственные разработки.

Программирование расширенных иерархических машин состояний[править | править вики-текст]

В качестве сквозного инструмента программирования киберфизических систем были выбраны программируемые расширенные иерархические машины состояний (ПРИМС). Этот мета-язык позволяет реализовывать адекватные для умных и встраиваемых систем парадигмы событийного и автоматного программирования[7]. Программный код в виде диаграмм может быть общим планшетом для разработки всей командой — от дизайнеров до программистов, — а на основе диаграммы можно генерировать код для поддерживаемых аппаратно-программных платформ (см. пример на рисунке).

Пример диаграммы машины состояний для лифта.

Благодаря такому визуальному языку школьники могут не только получить первый доступный опыт программирования ещё в игровых средах, но и сразу начать работу с профессиональным инструментарием, адекватным современной индустриальной разработке. Отдельно отметим, что данный подход позволяет сместить акцент от непосредственного написания кода к моделированию и проектированию, чего очень не хватает начинающим разработчикам.

В основе ПРИМС лежит перевод и адаптация стандарта UML 2.0 Statecharts. На русском языке была издана серия стандартов, описывающих архитектуру киберфизической платформы, визуальный язык программирования и формат его представления на основе GraphML (ПНСТ 982-2024, 983-2024, 984-2024 и 1044-2025). В репозиториях Ассоциации кружков опубликован код свободных программных библиотек, реализующих работу с данным языком, генерацию кода на основе диаграмм и др. (например: https://github.com/kruzhok-team/libcyberiadaml и другие репозитории на GitHub и ALTLinux Space: https://altlinux.space/dralex).

Педагогам и энтузиастам доступны методические разработки, онлайн-курсы и другие материалы для обучения программированию иерархических машин состояний для учащихся разного уровня[8].

Примеры продуктов на базе платформы[править | править вики-текст]

В рамках предыдущих конференций, посвящённых тематике свободного ПО, уже приводился пример симулятора космических аппаратов с программированием на основе машин состояний[9] и среда разработки для программирования контроллеров (Arduino и др.) с помощью диаграмм машин состояний[10]. Приведём ещё несколько примеров аппаратных и программных продуктов, опубликованных под свободными и открытыми лицензиями и основанных на принципах и технологиях Национальной киберфизической платформы.

Начинающие разработчики могут попробовать себя в качестве авторов простых трёхмерных видеоигр и виртуальных миров, используя среду Ursula, основанную на открытом игровом движке Godot Engine и реализующую ПРИМС для описания поведения автономных агентов в игре (https://github.com/kruzhok-team/Ursula/).

Более сложные форматы интерактивных развлечений и инженерного образования в кружках можно реализовать на основе отечественного аппаратно-программного комплекса[11], дающего возможность программировать носимые устройства, которые отправляют и принимают ИК-сигналы. Эти контроллеры опубликованы под свободной лицензией (https://altlinux.space/dralex/IR_PCB_HW/) и также программируются машинами состояний в упомянутой выше среде разработки.

Выводы[править | править вики-текст]

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

Платформа обучения программированию на базе машин состояний (Алексей Федосеев, OSEDUCONF-2026)!.jpg

Примечания и ссылки[править вики-текст]

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

  1. 1,0 1,1 Андрюшков А. А., Устиловская А. А., Чикуров А. В., Комарова А. А. Кружки как российская гуманитарная технология. Аналитический отчёт Инфраструктурного центра Кружкового движения НТИ. М., 2022.
  2. 2,0 2,1 Исследование технолого-методического обеспечения кружков НТИ: робототехника / А. Овсянников, П. Дятлова, А. Федосеев; под ред. А. Андрюшков, О. Кусковой. М.: Ассоциация участников технологических кружков, 2023.
  3. 3,0 3,1 Национальная киберфизическая платформа — https://platform.kruzhok.org
  4. 4,0 4,1 Федосеев А. И. Концепция Национальной киберфизической платформы // Сенсорное Слияние — 2023.
  5. 5,0 5,1 Национальная технологическая олимпиада — https://ntcontest.ru
  6. 6,0 6,1 Всероссийский конкурс проектов с открытым кодом — https://foss.kruzhok.org
  7. 7,0 7,1 Samek M. Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems. CRC Press, 2008.
  8. 8,0 8,1 Обучение программированию машин состояний — https://platform.kruzhok.org/programming
  9. 9,0 9,1 Федосеев А. Свободный симулятор космических аппаратов «Орбита» // Девятнадцатая конференция разработчиков свободных программ, 2023.
  10. 10,0 10,1 Чекан М. Среда визуального программирования машин состояний // Девятнадцатая конференция разработчиков свободных программ, 2023.
  11. 11,0 11,1 Открытый образовательный набор «Путеводная — ИК» — https://cyberphysics.kruzhok.org