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

информации к другим, наличие действующего макета
программы в любой момент времени после начала реализации
системозависимой части;
- упорядоченное хранение функций, реализующих входные
переменные и выходные воздействия, упрощает внесение
изменений;
- для кодирования любого числа состояний автомата
используется только одна внутренняя переменная, что
обеспечивает наблюдаемость поведения автомата за счет
"слежения" за изменениями только этой переменной;
- применение графов переходов в качестве языка
спецификаций делает обозримым даже весьма сложное
поведение программы и позволяет легко вносить изменения;
- разработан универсальный подход к программной
реализации иерархии графов переходов с произвольным их
количеством и произвольным уровнем вложенности, который
не требует разработки супервизора;
- графы переходов формально и изоморфно реализуются по
шаблону на выбранном языке программирования;
- системонезависимая часть программы имеет регулярную
структуру, и, следовательно, легко читается и
корректируется;
- системонезависимая часть программы зависит только от
наличия компилятора или интерпретатора выбранного языка
программирования на используемой платформе. При смене
аппаратуры или переносе программы под другую операционную
систему необходимо изменить только системозависимую
часть;
- автоматическое ведение протокола в терминах
спецификации обеспечивает возможность сертификации
программы. При этом демонстрируется соответствие
функционирования программы "поведению" системы
взаимосвязанных графов переходов для рассматриваемых
событий при выбранных значениях входных переменных. Это
достигается за счет сопоставления "полного" протокола со
спецификацией. Совокупность "полных" протоколов
обеспечивает возможность сертификации программы в целом.
Для сертификации в терминах, понятных Заказчику, могут
применяться "короткие" протоколы, которые могут
использоваться также и в качестве фрагментов методики
проверки функционирования системы;
- "короткий" протокол позволяет определить наличие
ошибки в выдаче выходных воздействий, а "полный" протокол -
определить автомат, который необходимо при этом
откорректировать. Поэтому "короткие" протоколы могут быть
названы проверяющими, а "полные" - диагностирующими;
- возможность автоматического получения "полных"
протоколов в терминах автоматов показывает, что
взаимосвязанные графы переходов, используемые для
спецификации, являются не "картинками", а математическими