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