Теория автоматов в Computer Science 9

Диаграмма состояний и переходов в методологии Г. Буча «показывает:

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].

Похожие записи

Добавить комментарий