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


может иметь исходящий переход по завершении;  - машина состояний верхнего уровня считается


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

может иметь исходящий переход по завершении; 
- машина состояний верхнего уровня считается вложенной в 
составное состояние, которое не имеет ни исходящих, ни входящих 
переходов. 
Следующее специальное состояние, которое мы рассмотрим — 
историческое 
состояние. 
Историческое 
состояние 
может 
использоваться во вложенной машине состояний внутри составного 
состояния. При первом запуске машины состояний историческое 
состояние означает в точности тоже, что и начальное: оно указывает 
на состояние, в котором находится машина в начале работы. Если в 
данной машине состояний используется историческое состояние, то 


149
при выходе из объемлющего составного состояния запоминается то 
состояние, в котором находилась вложенная машина перед выходом. 
При повторном входе в данное составное состояние в качестве 
текущего состояния восстанавливается то запомненное состояние, в 
котором 
машина 
находилась 
при 
выходе. 
Проще 
говоря, 
историческое состояние заставляет автомат помнить, в каком 
состоянии его прервали в прошлый раз и "продолжать начатое". 
Историческое состояние имеет две разновидности.
Поверхностное историческое состояние (shallow history state) 
запоминает, какое состояние было активным на том же уровне 
вложенности, на каком находится само историческое состояние.
Глубинное историческое состояние (deep history state) помнит 
не только активное состояние на данном уровне, но и на всех 
вложенных уровнях.
Рассмотрим пример из информационной системы отдела кадров. 
ИЗМЕНЕНИЯ В ТЕХНИЧЕСКОМ ЗАДАНИИ 
 
Информационная система должна отслеживать состояние, в 
котором находятся сотрудники, а именно: в офисе, в отпуске или на 
больничном. В случае болезни действует следующее правило – если 
сотрудник заболел в отпуске, то отпуск прерывается, а по 
выздоровлении возобновляется. 
Согласно техническому заданию, если сотрудник заболел, 
находясь в отпуске, то отпуск прерывается, а по выздоровлении 
возобновляется. Для того чтобы построить модель такого поведения
нужно воспользоваться историческим состоянием. В данном случае 
достаточно поверхностного исторического состояния (1) (shallow 
history state), поскольку на данном уровне вложенности все состояния 
уже простые. На рис. 4.8 приведен соответствующий фрагмент 
машины состояний. 


150
Employed
Well
In office
On vacation
go to 
vacation
after 
2 weeks

Download 1.84 Mb.

Do'stlaringiz bilan baham:
1   ...   74   75   76   77   78   79   80   81   ...   115




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