"H.И.Туккель, А.А.Шалыто "SWITCH-технология - автоматный подход к созданию программного обеспечения "реактивных" систем"" - читать интересную книгу автора

этого программа содержит вспомогательные модули
(например, модуль управления таймерами);
- для хранения номера состояния автомата используется
одна внутренняя переменная. Для различения изменения
состояния применяется вторая переменная, носящая
вспомогательный характер;
- каждый граф переходов реализуется отдельной функцией,
создаваемой по шаблону, содержащему две конструкции
switch и оператор if. Первая конструкция switch выполняет
переход и выходные воздействия на дугах, оператор if
проверяет изменилось ли состояние, и если оно изменилось,
то вторая конструкция switch выполняет выходные
воздействия в вершине;
- каждая входная переменная и каждое выходное
воздействие также реализуется функцией, что и позволяет
применять SWITCH-технологию не только для решения задач
логического управления;
- имена функций и переменных, используемых при
реализации автоматов, совпадают с обозначениями,
применяемыми в графах переходов. Имя функции для автомата
начинается с символа A, имя функции для входной
переменной - с символа x, имя переменной состояния
автомата - с символа y, а имя функции для выходного
воздействия - с символа z. После каждого из указанных
символов следует номер соответствующего автомата или
воздействия. Переменная, в которой хранится номер
произошедшего события, имеет имя e (от английского
"event" - событие);
- все функции, реализующие входные переменные,
записываются в порядке возрастания их номеров в один
файл, а реализующие выходные воздействия - в другой;
- функции, реализующие автоматы, входные переменные и
выходные воздействия, содержат вызовы функций
протоколирования;
- на этапе отладки обеспечена возможность одновременной
индикации значений переменных состояний всех автоматов;
- на этапе сертификации обеспечено автоматическое
ведение протокола. В нем указываются события, запуск
автоматов, их состояния в момент запуска, переходы в
новые состояния, завершение работы автоматов, значения
входных переменных, выходные воздействия и время начала
выполнения каждого из них. Кроме "полного" протокола,
также автоматически строится "короткий" протокол, в
котором фиксируются только события и инициируемые ими
выходные воздействия, интересующие Заказчика;
- сообщения в "полном" протоколе о запуске и завершении
реализации каждого автомата играют роль скобок, логически
выделяющих разные уровни вложенности автоматов;
- на этапе документирования для точного оформления
результатов проектирования и разработки программы