Машина состояний (или конечный автомат, Finite State Machine, FSM) — это математическая модель, которая описывает поведение системы. Система может находиться строго в одном из заданных состояний в конкретный момент времени и переходить из одного состояния в другое при возникновении определенных событий.
Именно программирование машин состояний — полезная компонента игры «Защита пасеки»; для наставников, использующих игру на уроках, разработан углубленный онлайн-курс.
Язык ПРИМС (программирования машин состояний) состоит из четырех ключевых элементов:
Состояния. Все возможные режимы или этапы, в которых может пребывать система (например: Включено, Выключено, Ожидание).
События. Триггеры или действия, которые заставляют систему реагировать (например: нажатие кнопки, тайм-аут).
Переходы. Правила, определяющие, как именно система реагирует на событие и в какое новое состояние она переходит.
Действия. Операции, которые система выполняет при переходе или входе в новое состояние
Анита Ходова, методист:
Для киберфизика критически важно видеть вокруг системы и описывать ее как машину состояний. Например, на мастер-классах мы предлагаем представить в виде машин состояний дверь с домофоном. Мы двигаемся итерационно и всё больше детализируем систему. Состояние «Дверь закрыта» мне нужно разделить на «Ожидание» и «Введение цифр». «Введение цифр» мне нужно разделить на «Звонок в квартиру» и «Введение кода». И вот так постепенно вы можете спускаться на тот уровень, который вам достаточен для решения задачи, при этом удерживая всю логику работы системы, всего устройства целиком.
«Кибериада IDE» — это редактор машин состояний, который позволяет программировать разные устройства: Arduino Uno, Arduino Micro, а также плату «Кибермишка».
Если игра «Защита пасеки» ограничивает набор сценариев (можно запрограммировать дрон только ограниченным количеством модулей), то «Кибериада IDE» дает программисту больше возможностей. Помимо готовых библиотек, можно создавать свои события и модули.
Дребезг контактов — это паразитное, многократное неконтролируемое замыкание и размыкание контактов механических переключателей (кнопок, реле, тумблеров) при их срабатывании. Возникает из-за физического отскока упругих металлических пластин. Длится обычно от 1 до 20 миллисекунд, но вызывает ложные срабатывания цифровых устройств.