UML. Диаграмма состояний. Автомат, состояние (начальное, конечное, составное, подсостояние: последовательное, параллельное), переход (простой, сложный), синхронизирующие состояния. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

UML. Диаграмма состояний. Автомат, состояние (начальное, конечное, составное, подсостояние: последовательное, параллельное), переход (простой, сложный), синхронизирующие состояния.



Служит для представления модели на логическом уровне. Описывает процесс изменения состояний одного экземпляра определенного класса. Изменение состояния объектов может быть вызвано внешними воздействиями со стороны других объектов или просто извне. Главное предназначение диаграммы, это представление возможной последовательности состояний и переходов, которая в совокупности характеризует поведение элементов модели в течение его жизненного цикла. Динамика поведения описывает реакцию объектов на какое-либо событие. Системы, которые реагируют на внешние действия от других систем или от пользователя называют реактивными. Если действие инициируется в произвольный случайный момент времени то говорят об асинхронном поведении модели. Диаграмма состояний – это граф специального вида, который представляет некоторый автомат. Вершинами графа являются состояния, дуги служат для обозначения переходов от состояния к состоянию. Диаграммы состояний могут быть вложены друг в друга, образуя вложенные диаграммы более точного детального представления модели. Автомат Это последовательность состояний, через которые проходит элемент модели а процессе жизни. Смена состояний происходит под влиянием событий.

Состояние -это модель какой-либо ситуации. Может быть задано в виде набора каких-то значений атрибута класса или объекта. При этом изменение их отдельных значений будет отражать изменение состояния класса или объекта. Имя состояния может отсутствовать. Список вн. Действий содержит перечень внутренних действий, которые выполняются в процессе нахождения моделируемого объекта в данном состоянии. Формат: <метка действия/выражение действия> Метка указывает на условие, при котором будет выполняться действие определенное выражением «действия». Стандартные метки: Entry - действие выполняется в момент входа в это состояние. Exit -действие выполняется в момент выхода из этого состояния. Do - действие выполняется в течение всего времени, пока объект в этом состоянии Include -для обращения к подавтоматам, при этом в выражение записывается имя подавтомата. Начальное и конечное состояния. Начальное – частный случай состояния, который не содержит никаких внутренних действий. Конечное – частный случай состояния, который не содержит никаких внутренних действий. В этом состоянии объект будет находиться по умолчанию после завершения работы автомата. Составное состояние и подсостояния Составное состояние – сложное состояние, которое состоит из 2-х или более вложенных состояний. Вложенные состояния.подсостояния. 2 вида подсостояний: 1) последовательные 2) параллельные Последовательные подсостояния. Используются для моделирования такого поведения объекта во время которого объект может находиться только в одном состоянии. Параллельные подсостояния. Используются для описания 2-х более подавтоматов, которые могут выполняться параллельно внутри основного состояния. Объект с нормальными подсостояниями может находиться в каждом подсостоянии в каждый момент времени. В случае необходимости скрытия составного состояния исользуется специальный символ

Историческое состояние используется для запоминания текущего состояния на момент выхода из составного.

Переход

 

Условие перехода записывается рядом с ->, формат (:) <сигнатура события>’[‘<сторжевое событие>’]’<выражение действия> 1) Сигнал события – событие с необходимыми аргументами <имя события>’(‘<список параметров через запятую>’)’ 2) Сторжевое условие – условие булевого типа, если значение выражения истинно, то переход срабатывает. Условие проверяется только в том случае, когда произошло событие иницилизирующего переход. 3) Выражение действия – определенное действие, которое выполняется когда переход срабатывает, представляет собой простую атомарную операцию, выполняющую сразу после срабатывания перехода, но до начала каких–либо действий в целевом состоянии. Атомарность означает, что действие не может быть прервано, пока не закончится. Выражение действия может содержать несколько отдельных действий, разделенными символом (;) «Нажата левая кнопка/координатная плоскость(область)» [координаты в области окна приложения ] Сложные переходы Выделяют: 1)Переходы между // состояниями 2)Переходы между составными состояниями 1)// переход-это переход между несколькими состояниями источника и несколькими целевыми состояниями. // переход разделяет процесс на несколько // нитей. Графически переход обозначается (вертикальная черта)

А)// переход из // состояний Б)// переход в // состояния Различают переход соединения: jain, fork. Переход соединения имеет 2 или более входящих дуг. Переход срабатывает, если имеет место событие триггер для всех исходных состояний этого перехода и выполнено сторжевое условие, если оно имеется. Переход ветвление имеет 2 и более исходящих дуг. Переход срабатывает при наступлении некоторого события и автомат расщепляется на 2-а полавтомата, образующих параллельные(//) ветви, вложенные в подсостояния. 2) Переходы между составными состояниями-обозначаются стрелкой ->, соединяет границы составных состояний. Синхронизирующие состояния С.С. – псевдосостояние, которое используется для синхронизации наступления отдельных событий для сложных переходов, такое состояние обозначается:synch state(*)

С.С. используются совместно с переходом соединения или с переходом ветвления для того, чтобы явно указать события других полуавтоматов оказывающее на поведение влияния автомата.



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 136; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.222.12 (0.007 с.)