Для алгоритмизации и программирования задач логического управления была предложена SWITCH-технология. названная также «автоматное программирование» или «программирование е явным выделением состояний» [1]. В дальнейшем этот подход был развит для объектно-ориентированных систем и назван «объектно-ориентированное программирование с явным выделением состояний». Подробно с указанным подходом и с примерами его использования можно ознакомиться на сайте littp://is.ifmo.ru.
SWITCH-технология удобна для задач управления, когда требуется обеспечить правильность и надежность программы или процесса управления некоторым техническим объектом. Достоинствами рассматриваемой технологии являются нейтрализация и прозрачность логики управления. Этому способствует также открытая проектная документация (http://is.ifmo.ru. раздел «Проекты»).
В данном проекте рассматриваемый подход применяется в другой области - для создания открытого проекта, посвященного автоматизации 'Человеческой" версии сборки Кубика Рубика и ее визуализации.
Известно, что из любого положения Кубик Рубик можно собрать не более чем за 22 поворота граней. Данную последовательность операций, возможно, найти лишь полным перебором. В нашем проекте представлен "человеческий" алгоритм сборки - последовательность четких указаний, при которых кубик будет собран из любого положения. В программу введен счетчик числа поворотов, который показывает, что используемый алгоритм приводит в среднем к 120 - 200 поворотам в зависимости от первоначального перемешивания.