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


Download 1.84 Mb.
Pdf ko'rish
bet76/115
Sana16.06.2023
Hajmi1.84 Mb.
#1489923
1   ...   72   73   74   75   76   77   78   79   ...   115
Bog'liq
ivanov novikov unificirovannii jazik modelirovanija uml 2011

4.2.5. Специальные состояния 
Перейдем к рассмотрению специальных состояний. Прежде 
всего, специальное состояние состоянием не является, в том смысле, 
что автомат не может в нем "пребывать" и оно не может быть 
текущим активным состоянием. 
Начальное 
состояние 
(initial 
state) — это 
специальное 
состояние, соответствующее ситуации, когда машина состояний 
еще не работает.
На диаграмме начальное состояние изображается в виде 
закрашенного кружка. Начальное состояние не имеет таких 
составляющих, как действия на входе, выходе и внутренняя 
активность, но оно обязано иметь исходящий переход,
18
ведущий в то 
состояние, которое будет являться по настоящему первым состоянием 
при работе машины состояний. Исходящий переход из начального 
состояния не может иметь события перехода, но может иметь 
сторожевое условие. В последнем случае должны быть определены 
несколько переходов из начального состояния, причем один из них 
обязательно должен срабатывать. В программистских терминах 
начальное состояние — это метка точки входа в программу. 
Управление не может задержаться на этой метке. Даже графически 
типичный случай начального состояния с одним непомеченным 
переходом очень похож на бытовую пиктограмму "начинать здесь". 
Начальное состояние может иметь действие на переходе — это 
действие выполняется до начала работы машины состояний. 
Насколько обязательным является использование начального 
состояния на диаграмме автомата? Этот вопрос не имеет 
однозначного ответа — все зависит от ситуации. Например, в 
диаграммах на рис. 4.6 и рис. 4.7 мы обошлись без начального 
18
Разумеется, начальное состояние не может иметь входящих 
переходов — машина состояний не может вернуться в ситуацию до начала 
своей работы. 


147
состояния, и поведение светофора не стало от этого менее понятным. 
Однако в других случаях наличие начального состояния может быть 
желательно или даже необходимо. Прежде всего, если имеется 
переход на границу составного состояния, то внутри этого составного 
состояния 
обязано 
присутствовать 
начальное 
состояние — в 
противном случае неясно, куда же ведет данный переход. Далее, если 
машина состояний описывает поведение программного объекта, 
создаваемого и уничтожаемого в программе, то присутствие 
начального состояния на диаграмме является весьма желательным: 
начальное состояние показывает, в каком состоянии находится объект 
при создании его конструктором (а в действия на переходе из 
начального состояния удобно поместить инициализацию атрибутов). 
С другой стороны, если начало и окончание жизненного цикла 
объекта, поведение которого моделируется, выходят за пределы 
моделируемого периода (например, нас не интересует ни процесс 
изготовления 
новых 
светофоров, 
ни 
процесс 
утилизации 
отслуживших свое), то начальное состояние на диаграмме состояний 
является излишним и может даже мешать восприятию. 

Download 1.84 Mb.

Do'stlaringiz bilan baham:
1   ...   72   73   74   75   76   77   78   79   ...   115




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