Методы композиции и декомпозиции исполняемых UML моделей

автоматы онлайн игровые

Выделение в метод возвратной части конечного автомата - часть 2


Все команды перехода в состояние X в созданном конечном автомате заменяются командами возврата из метода (return) (Рис. 3).

Рис. 3. Описание выделенного метода Proc ()

Часть автомата, выделенная в метод, обладает следующей семантикой: получив сигнал sig3 (), автомат выполняет некоторые действия, начиная с состояния Y, по завершении которых возвращается в состояние X. Подобная логика близка по смыслу к вызову метода - выполнение задачи с последующим возвратом в исходное состояние. Именно это и служит основанием для выделения метода.

В результате преобразования выделяется структурная единица автомата - метод, а диаграмма, описывающая конечный автомат, уменьшается, что упрощает его понимание. Выделенный метод можно использовать повторно для уменьшения дублирования кода.

Существует частный случай трансформации - выделение в метод группы состояний автомата, все переходы из которых завершают работу автомата, то есть ведут в символ stop. В этом случае выделение метода корректно, если все команды завершения работы автомата в выделенном методе (stop) заменяются командами возврата из метода (return), а вместо действий, приписанных исходному переходу, добавляются вызов метода Proc () и команда завершения работы автомата (stop).

В таком случае преобразованный автомат будет выглядеть так, как показано на Рис. 4:

Рис. 4. Результаты применения второго варианта трансформации




Начало  Назад  Вперед



Книжный магазин