Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.

guard condition (сторожевое условие)

Условие, которое должно быть выполнено для того, чтобы был запущен ассоциированный с ним переход.
См. branch; conditional thread; junction state; transition.

Семантика

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

Нотация

Сторожевое условие является частью строки, описывающей переход. Оно имеет форму логического выражения, взятого в квадратные скобки.
[ логическое выражение ]
Переход должен иметь доступ к именам, которые используются в этом выражении. Эти параметры могут представлять собой либо параметры переключающего события, либо атрибуты объекта, которому принадлежит переход.

Алфавитный указатель