Диаграмма состояний и переходов в методологии Г. Буча «показывает:
1) пространство состояний экземпляров данного класса;
2) события, которые влекут переход из одного состояния в другое;
3) действия, которые происходят при изменении состояния» [16].
В качестве примера на рис. 8 приведена диаграмма состояний и переходов для класса, описывающего контроллер тепличной среды [16].

Рис. 8. Диаграмма состояний и переходов контроллера теплицы
Все объекты данного класса начинают существование в состоянии «Ожидание». По событию «Ввод климатического задания» объект переходит в состояние «День» (предполагается, что задание вводится днем) без выполнения действий. Затем следуют переключения между состояниями «День» и «Ночь», определяющиеся событиями «Восход» и «Закат». Переключения сопровождаются действиями по изменению освещения. Отклонение температуры от заданной приведет к вызову метода «Регулировать температуру», который является локальным для данного класса. По событию «Отмена климатического задания» происходит переход в состояние «Ожидание».
Следует отметить, что понятие «конечный автомат» и диаграммы состояний, основанные на диаграммах Харела, входят также в стандарт языка UML (Unified Modeling Language – унифицированный язык моделирования). Этот язык был недавно (руководство пользователя опубликовано в 1998 году) создан Г. Бучем (G. Booch), Д. Рамбо (J. Rumbaugh) и А. Джекобсоном
(I. Jacobson) как «коллекция наилучших инженерных нотаций, применяемых при объектном моделировании сложных систем общего назначения» [9, 17, 18].
Автоматное программирование. В другом молодом направлении программирования автоматы имеют основополагающее значение. Этим направлением является автоматное программирование (или SWITCH-технология), созданное А. А. Шалыто в 1991 году [9, 13, 19].







