Моделирования uml
Download 1.84 Mb. Pdf ko'rish
|
ivanov novikov unificirovannii jazik modelirovanija uml 2011
4.2.1. Простое состояние
Простое состояние является в UML простым только по названию — оно имеет следующую структуру: - имя (name); - действие при входе (entry action); 132 - действие при выходе (exit action); - описание множества внутренних переходов (internal transitions) и соответствующих действий; - внутренняя деятельность (do activity); - множество отложенных событий (defer events). Имя состояния является обязательным. Все остальные составляющие простого состояния не являются обязательными. Действие при входе (обозначается при помощи ключевого слова entry ) — это указание атомарного действия, которое должно выполняться при переходе автомата в данное состояние. Действие при входе выполняется после всех других действий, предписанных переходом, переводящим автомат в данное состояние. Действие при выходе (обозначается при помощи ключевого слова exit ) — это указание атомарного действия, которое должно выполняться при переходе автомата из данного состояния. Действие при выходе выполняется до всех других действий, предписанных переходом, выводящим автомат из данного состояния. Множество внутренних переходов — это множество простых переходов из данного состояния в это же самое. Внутренний переход (internal) отличается от простого перехода в себя (external) тем, что действия при выходе и входе не выполняются. Внутренняя деятельность (обозначается при помощи ключевого слова do ) — это указание деятельности, которая начинает выполняться при переходе в данное состояние после выполнения всех действий, предписанных переходом, включая действие на входе. Внутренняя деятельность либо продолжается до завершения, либо прерывается в случае выполнения перехода (в том числе и внутреннего перехода). В классической модели конечный автомат, находясь в некотором состоянии, ничего не делает: он находится в состоянии ожидания перехода. В модели UML считается, что автомат можно нагрузить какой-то полезной фоновой деятельностью, которая будет прерываться при выполнении любого перехода. 133 Если в то время, когда автомат находится в некотором состоянии, происходит событие, для которого в данном состоянии не определен переход, то согласно семантике UML ничего не происходит и событие безвозвратно теряется. В некоторых случаях этого требуется избежать. Для этого в UML предусмотрено понятие отложенного события. Отложенное событие — это событие, для которого не определен переход в данном состоянии, но которое, тем не менее, не должно быть потеряно, если оно произойдет, пока автомат находится в данном состоянии (обозначается при помощи ключевого слова defer ). Семантика отложенного события такова: если происходит отложенное событие, то оно помещается в конец некоторой системной очереди отложенных событий. После перехода автомата в новое состояние проверяется (начиная с начала) очередь отложенных событий. Если в очереди есть событие, для которого в новом состоянии определен переход, то событие извлекается из очереди и происходит переход. Download 1.84 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling