Моделирования uml


Download 1.84 Mb.
Pdf ko'rish
bet71/115
Sana16.06.2023
Hajmi1.84 Mb.
#1489923
1   ...   67   68   69   70   71   72   73   74   ...   115
Bog'liq
ivanov novikov unificirovannii jazik modelirovanija uml 2011

4.2.2. Простой переход 
Простой переход всегда ведет из одного состояния в другое или 
в то же самое состояние. Переход не может приходить "ниоткуда" и 
уходить "в никуда". Существует несколько ограничений для 
специальных состояний, например, для начального состояния не 
может быть входящих переходов, а для заключительного — 
исходящих, а в остальном переходы между состояниями могут быть 
определены произвольным образом. 
Прочие 
составляющие — событие 
перехода, 
сторожевое 
условие и действия на переходе не являются обязательными. Если 
они присутствуют, то изображаются в виде текста в определенном 
синтаксисе рядом со стрелкой, изображающей переход. Синтаксис 
описания перехода следующий:
Событие [ Сторожевое условие ] / Действие 


134
Например, в информационной системе отдела кадров переход 
сотрудника из состояния 
Applicant
(кандидат) в состояние 
Employed 
(нанятый на работу) может быть описан с помощью 
простого перехода (1), представленного на рис. 4.1. 
Рис. 4.1. Простой переход 
Общая семантика перехода такова. Допустим, что автомат 
находится в состоянии 
Applicant
, в котором определен исходящий 
переход с событием 
hire()
, сторожевым условием 
isFree
и 
действием 
meet boss
, ведущий в состояние 
Employed
.
Если возникает событие 
hire()
, то переход возбуждается (в 
данном состоянии могут быть одновременно возбуждены несколько 
переходов — это не считается противоречием в модели). Далее 
проверяется сторожевое условие 
isFree
(проверяются сторожевые 
условия всех возбужденных переходов в неопределенном порядке). 
Если сторожевое условие выполнено, то переход срабатывает — 
выполняется действие на выходе из состояния 
Applicant

выполняется действие на переходе 
meet boss
, выполняется действие 
на входе в состояние 
Employed
и автомат переходит в состояние 
Employed
. Даже если у нескольких возбужденных переходов 
сторожевые условия оказываются истинными, то, тем не менее, 
срабатывает всегда только один переход из возбужденных. Какой 
именно переход срабатывает — не определено. Таким образом, 
поведение, 
описываемое 
подобным 
автоматом, 
является 
недетерминированным. Если же сторожевое условие 
isFree
не 
выполнено, то переход не срабатывает. Если ни один из 


135
возбужденных переходов не срабатывает, то событие 
hire()

Download 1.84 Mb.

Do'stlaringiz bilan baham:
1   ...   67   68   69   70   71   72   73   74   ...   115




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling