Скачать презентацию UML Диаграмма состояний statechart diagram Моделирование поведения Скачать презентацию UML Диаграмма состояний statechart diagram Моделирование поведения

9 - Диаграммы состояний, активности.ppt

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

UML Диаграмма состояний (statechart diagram) UML Диаграмма состояний (statechart diagram)

Моделирование поведения в UML • Каждая прикладная система характеризуется не только структурой составляющих ее Моделирование поведения в UML • Каждая прикладная система характеризуется не только структурой составляющих ее элементов, но и некоторым поведением или функциональностью. • Для моделирования поведения на логическом уровне в языке UML могут использоваться сразу несколько канонических диаграмм: состояний, деятельности, последовательности и кооперации, каждая из которых фиксирует внимание на отдельном аспекте функционирования системы.

Назначение диаграммы состояний • Описание возможных последовательностей состояний и переходов, которые в совокупности характеризуют Назначение диаграммы состояний • Описание возможных последовательностей состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла.

Применение Диаграммы состояний используются для описания поведения: • отдельных экземпляров классов (объектов); • вариантов Применение Диаграммы состояний используются для описания поведения: • отдельных экземпляров классов (объектов); • вариантов использования; • акторов; • подсистем, операций, методов и др.

Нотация Вершины графа – состояния Стрелки - переходы Нотация Вершины графа – состояния Стрелки - переходы

Простейший пример диаграммы состояний для технического устройства типа компьютер Простейший пример диаграммы состояний для технического устройства типа компьютер

Особенности автомата • Автомат не запоминает историю перемещения из состояния в состояние • В Особенности автомата • Автомат не запоминает историю перемещения из состояния в состояние • В каждый момент времени автомат может находиться в одном и только в одном из своих состояний • Хотя процесс изменения состояний автомата происходит во времени, явно концепция времени не входит в формализм автомата • Количество состояний автомата должно быть обязательно конечным • Граф автомата не должен содержать изолированных состояний и переходов • Автомат не должен содержать конфликтующих переходов, т. е. таких переходов из одного и того же состояния, когда объект одновременно может перейти в два и более последующих состояния

Состояние • В языке UML под состоянием понимается абстрактный метакласс, используемый для моделирования отдельной Состояние • В языке UML под состоянием понимается абстрактный метакласс, используемый для моделирования отдельной ситуации, в течение которой имеет место выполнение некоторого условия. • Состояние может быть задано в виде набора конкретных значений атрибутов класса или объекта, при этом изменение их отдельных значений будет отражать изменение состояния моделируемого класса или объекта.

Графическое отображение состояния • Имя состояния • Список внутренних действий Графическое отображение состояния • Имя состояния • Список внутренних действий

Список внутренних действий • entry – действие, которое выполняется в момент входа в данное Список внутренних действий • entry – действие, которое выполняется в момент входа в данное состояние (входное действие); • exit – действие, которое выполняется в момент выхода из данного состояния (выходное действие); • do – деятельность ( «do activity» ), которая выполняется в течение всего времени, пока объект находится в данном состоянии, или до тех пор, пока не закончится вычисление, специфицированное следующим за ней выражением действия.

Начальное состояние • Начальное состояние представляет собой частный случай состояния, которое не содержит никаких Начальное состояние • Начальное состояние представляет собой частный случай состояния, которое не содержит никаких внутренних действий (псевдосостояния). • В этом состоянии находится объект по умолчанию в начальный момент времени.

Конечное состояние • Конечное (финальное) состояние представляет собой частный случай состояния, которое также не Конечное состояние • Конечное (финальное) состояние представляет собой частный случай состояния, которое также не содержит никаких внутренних действий (псевдосостояния). • В этом состоянии будет находиться объект по умолчанию после завершения работы автомата в конечный момент времени.

Переходы Простой переход (simple transition) представляет собой отношение между двумя последовательными состояниями, которое указывает Переходы Простой переход (simple transition) представляет собой отношение между двумя последовательными состояниями, которое указывает на факт смены одного состояния другим. Переход может быть направлен в то же состояние, из которого он выходит. В этом случае его называют переходом в себя. Каждый переход может помечен строкой текста, которая имеет следующий общий формат: • ‹сигнатура события› ['‹сторожевое условие› ]' ‹выражение действия›.

Событие (event) представляет собой спецификацию некоторого факта, имеющего место в пространстве и во времени. Событие (event) представляет собой спецификацию некоторого факта, имеющего место в пространстве и во времени. Имя события идентифицирует каждый отдельный переход на диаграмме состояний и может содержать строку текста, начинающуюся со строчной буквы. В этом случае принято считать переход триггерным, т. е. таким, который специфицирует событие‑триггер.

Сторожевое условие • Сторожевое условие (guard condition) представляет собой некоторое булевское выражение. • Если Сторожевое условие • Сторожевое условие (guard condition) представляет собой некоторое булевское выражение. • Если сторожевое условие принимает значение «истина» , то соответствующий переход может сработать, в результате чего объект перейдет в целевое состояние. • Каждое из сторожевых условий необходимо вычислять всякий раз при наступлении соответствующего события‑триггера.

Выражение действия • Выражение действия (action expression) выполняется в том и только в том Выражение действия • Выражение действия (action expression) выполняется в том и только в том случае, когда переход срабатывает. • Представляет собой атомарную операцию (достаточно простое вычисление), выполняемую сразу после срабатывания соответствующего перехода до начала каких бы то ни было действий в целевом состоянии.

Составное состояние и подсостояние • Составное состояние (composite state) – такое сложное состояние, которое Составное состояние и подсостояние • Составное состояние (composite state) – такое сложное состояние, которое состоит из других вложенных в него состояний.

Последовательные подсостояния • Последовательные подсостояния (sequential substates) используются для моделирования такого поведения объекта, во Последовательные подсостояния • Последовательные подсостояния (sequential substates) используются для моделирования такого поведения объекта, во время которого в каждый момент времени объект может находиться в одном и только одном подсостояний.

Параллельные подсостояния • Параллельные подсостояния (concurrent substates) позволяют специфицировать два и более подавтомата, которые Параллельные подсостояния • Параллельные подсостояния (concurrent substates) позволяют специфицировать два и более подавтомата, которые могут выполняться параллельно внутри составного события. • Каждый из подавтоматов занимает некоторую область (регион) внутри составного состояния, которая отделяется от остальных горизонтальной пунктирной линией.

Пример составного состояния с вложенными параллельными подсостояниями Пример составного состояния с вложенными параллельными подсостояниями

Историческое состояние • Историческое состояние (history state) применяется в контексте составного состояния. Оно используется Историческое состояние • Историческое состояние (history state) применяется в контексте составного состояния. Оно используется для запоминания того из последовательных подсостояний, которое было текущим в момент выхода из составного состояния. • Две разновидности исторического состояния: недавнее и давнее

Сложные переходы • Параллельный переход – переход, который имеет несколько состояний‑источников и несколько целевых Сложные переходы • Параллельный переход – переход, который имеет несколько состояний‑источников и несколько целевых состояний. • Если параллельный переход имеет две или более входящих дуг, то его называют соединением (join). • Если же он имеет две или более исходящих из него дуг, то его называют ветвлением (fork).

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

Пример синхронизирующих состояний Пример синхронизирующих состояний

UML Диаграмма деятельности (activity diagram) UML Диаграмма деятельности (activity diagram)

Назначение и семантика диаграммы деятельности • Диаграммы деятельности используются для моделирования процесса выполнения операций. Назначение и семантика диаграммы деятельности • Диаграммы деятельности используются для моделирования процесса выполнения операций. • Диаграмма деятельности - частный случай диаграммы состояний. • Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении этой, операции в предыдущем состоянии.

Состояние действия • Состояние действия (action state) является специальным случаем состояния с некоторым входным Состояние действия • Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и по крайней мере одним выходящим из состояния переходом.

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

Пример диаграммы деятельности Пример диаграммы деятельности

Графическое изображение разделения и слияния параллельных потоков управления Графическое изображение разделения и слияния параллельных потоков управления

Дорожки (partitions) Дорожки (partitions)

Объекты • В общем случае действия на диаграмме деятельности выполняются над теми или иными Объекты • В общем случае действия на диаграмме деятельности выполняются над теми или иными объектами. • Для графического представления объектов используется прямоугольник класса. • Такие прямоугольники объектов присоединяются к состояниям действия отношением зависимости пунктирной линией со стрелкой.

Границы применения • Диаграмма деятельности, так же как и другие виды канонических диаграмм, не Границы применения • Диаграмма деятельности, так же как и другие виды канонических диаграмм, не содержит средств выбора оптимальных решений. • Используют дополнительные средства и методы, ориентированные на аналитико‑имитационное исследование моделей системы на этапе разработки ее проекта.