logo
Учебное пособие по циклу лабораторных работ Технологии разработки программного обеспечения

Автоматы

Работа объектов программы описывается с помощью автоматов (илимашин состояний). Существует хорошо развитаятеория автоматов, в которой изучают­ся вопросы их построения и анализа работы.

Автомат — это элемент системы, который характеризуется двумя базо­выми понятиями: состояние и переход.

Каждый автомат в определенный момент времени может находиться в одном из допустимых состояний. Число этих состояний, возможно, бесконечно. Задан так­же набор правил, по которому допускаетсяпереход из одних множеств состояний в другие.

Схожесть автоматной модели с программированием в том, что переменные (ячейки памяти) в каждый момент работы процессора всегда хранят конкретные значения из допустимых диапазонов значений. Эти значения фактически являют­ся состояниями переменных.

Разрешенные над значениями переменных вычислительные операции при­водят к переходу этих переменных в новые состояния (в новые значения). Этот алгоритмический принцип может быть распространен на большое число управ­ленческих задач. В общем случае автоматный подход позволяет описать любую, сколь угодно сложную последовательность операций.

Познакомимся с базовыми правилами работы автоматов в языке UML.