Диаграммы состояний Конечные автоматы (state mashine)

Скачать презентацию Диаграммы состояний  Конечные автоматы  (state mashine) Скачать презентацию Диаграммы состояний Конечные автоматы (state mashine)

ТРПО - Лекция 15 (диаграммы состояний).ppt

  • Количество слайдов: 23

>Диаграммы состояний  Конечные автоматы  (state mashine) Диаграммы состояний Конечные автоматы (state mashine)

> Жизнь объектов    2 Жизнь объектов 2

>   Обязательные условия  для обычного конечного автомата (КА) • в каждый Обязательные условия для обычного конечного автомата (КА) • в каждый момент времени КА может находиться только в одном состоянии (моделирование последовательного поведения, конечные подавтоматы для параллельных процессов) • КА не запоминает историю перемещения из состояния в состояние (явным образом сохраняются сведения о предыдущем состоянии) • концепция времени явно не учитывается • граф КА не должен содержать изолированных состояний. Каждый переход должен соединять два состояния (рефлексивный переход или петля) • граф КА не должен содержать конфликтующих переходов (для этого используются сторожевые (охранные) условия) 3

>    Состояние (state) может быть задано набором конкретных значений атрибутов объекта Состояние (state) может быть задано набором конкретных значений атрибутов объекта некоторого класса. При этом изменение отдельных (инвариантное условие) значений этих атрибутов будет отражать изменение состояния объекта или всей системы. 4

> Находясь в определенном состоянии, объект выполняет следующие действия: •  осуществляет вид деятельности Находясь в определенном состоянии, объект выполняет следующие действия: • осуществляет вид деятельности • ожидает событие • удовлетворяет одному или нескольким условиям 5

>      Событие Сигнал – асинхронное взаимодействие между объектами. Событие Событие Сигнал – асинхронное взаимодействие между объектами. Событие вызова – синхронное взаимодействие. Объект вызывает метод другого объекта или собственный метод. Эквивалентно действию вызова. Временное событие происходит через определенный промежуток времени. . after (15 мин с момента последнего нажатия на клавишу) Событие изменения происходит при выполнении какого-либо условия. when maximum. Loops = 100 6

>   Внутренние действия  < метка действия ‘/’ выражение действия > Внутренние действия < метка действия ‘/’ выражение действия > entry – входное действие exit – выходное действие do – некоторая деятельность выполняется в течение всего времени, пока объект находится в данном состоянии include – используется для обращения к конечному подавтомату внутренние переходы 7

>   Ввод пароля entry / сделать символы невидимыми символ / получить символ Ввод пароля entry / сделать символы невидимыми символ / получить символ exit / сделать символы видимыми 8

>    Начальное состояние   Конечное состояние   (псевдосостояния) initial Начальное состояние Конечное состояние (псевдосостояния) initial state final state 9

>     Переход -- -- изменение одного состояния объекта (исходное состояние) Переход -- -- изменение одного состояния объекта (исходное состояние) на другое (целевое состояние). Переходы бывают условными и безусловными. 10

>   Безусловный переход происходит, когда:  • объект “готов” перейти в следующее Безусловный переход происходит, когда: • объект “готов” перейти в следующее состояние. Обычно это происходит после завершения вида деятельности, связанного с исходным состоянием 11

>     Условный переход происходит, когда:  •  реализуется событие, Условный переход происходит, когда: • реализуется событие, “интересующее” объект С инициированным переходом может быть связано действие. Действие осуществляется до перехода объекта в целевое состояние. самопереход 12

>   Охранное (сторожевое) условие   (guard condition) <имя события> ‘[‘<охранное условие>‘]’ Охранное (сторожевое) условие (guard condition) <имя события> ‘[‘<охранное условие>‘]’ <выражение действия> Если охранное условие принимает значение TRUE, то при наступлении соответствующего события или завершения деятельности происходит переход в целевое состояние с выполнением указанного действия. Если охранное условие принимает значение FALSE , то объект игнорирует событие, не совершает переход и не предпринимает действие. Выражение действия происходит только в том случае, когда переход срабатывает 13

>   Выражение действия  •  представляет собой вызов метода или передачу Выражение действия • представляет собой вызов метода или передачу какого-либо сообщения • имеет атомарный характер • выполняется сразу после срабатывания перехода до начала каких бы то ни было действий в целевом состоянии 14

>   Машина состояний обозначает комбинацию следующий сущностей: • состояния, в которых находится Машина состояний обозначает комбинацию следующий сущностей: • состояния, в которых находится объект в процессе жизни • события, на которые реагирует объект • возможные реакции объекта на эти события • переходы между состояниями объекта

>Диаграмма состояний      16 Диаграмма состояний 16

>    Составные состояния    (composite state) суперсостояние или состояние-композит Составные состояния (composite state) суперсостояние или состояние-композит подсостояние Последовательные подсостояния (sequential substates) реализуются, когда объект находится в составном состоянии, и в одном и только в одном подсостоянии в каждый момент времени Параллельные подсостояния (concurrent substates) позволяют специфицировать два и более конечных подавтомата, которые могут выполняться параллельно внутри составного состояния. 17

>Пример последовательных подсостояний  Получение книг exit / отправка уведомления    Пример последовательных подсостояний Получение книг exit / отправка уведомления 18

>Запоминающие (исторические) состояния  (history state)  неглубокое (shallow history state)   H Запоминающие (исторические) состояния (history state) неглубокое (shallow history state) H глубокое (deep history state) H* 19

>Запоминающие (исторические) состояния  Получение книг   Н  exit / отправка уведомления Запоминающие (исторические) состояния Получение книг Н exit / отправка уведомления 20

>    Параллельные подсостояния  Если на диаграмме состояний имеется составное состояние Параллельные подсостояния Если на диаграмме состояний имеется составное состояние с вложенными параллельными состояниями, то объект может одновременно находиться в каждом из этих подсостояний Составное состояние Допустимо: (1, 3, 4) (2, 3, 4) (1, 3, 5) (2, 3, 5) Недопустимо: (1, 2, 3) (3, 4, 5) 21

> Параллельные подсостояния   (пример)  Получение книг  Физический Финансовый  Параллельные подсостояния (пример) Получение книг Физический Финансовый 22

>Телефонный разговор      23 Телефонный разговор 23