Диаграмма конечного автомата — это поведение, которое определяет последовательность состояний, которые объект посещает в течение своего жизненного цикла в ответ на события, а также его реакции на эти события.
Состояние
Состояние – это состояние в течение жизни объекта, в течение которого он удовлетворяет какому-либо условию, выполняет какую-либо деятельность или ожидает какого-либо внешнего события.
Пример:
Характеристики государства
- Состояние представляет собой состояние объектов в определенные моменты времени.
- Объекты (или системы) можно рассматривать как движущиеся из состояния в состояние.
- Точка жизненного цикла элемента модели, которая удовлетворяет некоторому условию, когда выполняется определенное действие или ожидается какое-либо событие.
На рисунке ниже показано подробное описание состояния. Состояние расширено внутренними действиями (сделай, помоги). В отличие от других действий, эти действия можно прервать. Если происходит «отмена», действия do или help прерываются. Внутренние действия выполняются после раздела «вход» и прерываются при выходе из состояния.
Начальное и конечное состояния
- Начальное состояние диаграммы конечного автомата, известное как начальное псевдосостояние, обозначено сплошным кружком. Переход из этого состояния покажет первое реальное состояние
- Конечное состояние диаграммы конечного автомата показано концентрическими кругами. Конечный автомат с разомкнутым циклом представляет объект, который может завершиться до завершения работы системы, в то время как диаграмма конечного автомата с замкнутым циклом не имеет конечного состояния; если это так, то объект живет до тех пор, пока не завершится работа всей системы.
Пример:
Мероприятие
Событие – это описание значительного события. Для конечного автомата событие — это появление стимула, который может инициировать переход состояния.
Переход
Переход — это отношение между двумя состояниями, указывающее, что объект в первом состоянии, когда заданный набор событий и условий удовлетворяется, выполнит определенные действия и войдет во второе состояние.
Переход имеет: Компоненты перехода, которые включают (1) исходное состояние (2) триггер события (3) действие (4) целевое состояние
Самостоятельный переход
Самопереход — это переход, исходное и целевое состояния которого совпадают.
Действие
Действие — это выполняемое атомарное (по отношению к конечному автомату) вычисление. Действия могут включать в себя операции, создание или уничтожение других объектов или отправку сигналов другим объектам (события)
Пример библиотеки
На рисунке ниже показана простая диаграмма конечного автомата. Основными компонентами такой диаграммы являются:
- Состояние: пример имеет два состояния: «В аренде» и «На полке».
- Исходное состояние: это состояние, в котором система запускается.
- Переходы: переходы описывают возможные изменения состояния. Диаграмма имеет два перехода: из «В аренде» в «На полке» и наоборот.
- События: события помечаются на переходах. Они представляют событие, выполняемое при переходе. При переходе из состояния «В аренде» в состояние «На полке» выполняется событие «Возвращено()».
Действия — это модификации переменных состояния. В приведенном ниже примере действия указаны для переходов. При переходе от «На полке» к «В аренде» книги переменных состояний уменьшаются.
Действия могут быть указаны в переходах, а также в состояниях. В этом случае можно указать, должно ли действие выполняться при входе или выходе из состояния. На рисунке ниже показаны эти варианты.
- Первый вариант показывает спецификацию действий при переходе. Действие выполняется при изменении состояния.
- Второй вариант показывает спецификацию действия в состоянии. Ключевое слово «вход» указывает, что действие должно быть выполнено при входе в состояние.
- Наконец, третий вариант показывает, как указать, что действие выполняется при выходе из состояния. Обратите внимание на ключевое слово «выход».
Обозначение простой диаграммы состояний
Диаграмма конечного автомата — дополнительные понятия
Ограничения
К переходам можно добавить ограничения. Рассмотрим рисунок ниже. Ограничение «[не последняя копия]» и «[последняя копия]» используются для различения двух переходов с событием «copyBorrowed()». Семантика заключается в том, что переход разрешен, когда ограничение истинно.
Подсостояния
Простое состояние — это состояние, не имеющее подструктуры. Состояние, которое имеет подсостояния (вложенные состояния), называется составным состоянием. Подсостояния могут быть вложены на любом уровне. Вложенный конечный автомат может иметь не более одного начального состояния и одного конечного состояния. Подсостояния используются для упрощения сложных плоских автоматов состояний, показывая, что некоторые состояния возможны только в определенном контексте (окружающее состояние).
Пример подсостояния — обогреватель
Диаграммы конечного автомата часто используются для получения сценариев тестирования, вот список возможных тестовых идей:
- Состояние простоя получает событие Too Hot
- Состояние простоя получает событие Too Cool
- Состояние охлаждения/запуска получает событие Compressor Running
- Состояние Cooling/Ready получает событие Fan Running
- Состояние охлаждения/работы получает событие OK
- Состояние охлаждения/работы получает событие отказа
- Состояние сбоя получает событие сбоя.
- Состояние нагрева получает событие OK
- Состояние нагрева получает событие отказа
История государств
Если не указано иное, когда переход входит в составное состояние, действие вложенного конечного автомата начинается снова с начального состояния (если только переход не нацелен непосредственно на подсостояние). Состояния истории позволяют автомату повторно войти в последнее подсостояние, которое было активным перед выходом из составного состояния. Пример использования состояния истории представлен на рисунке ниже.
Параллельное состояние
Как упоминалось выше, состояния на диаграммах конечного автомата могут быть вложенными. Связанные состояния могут быть сгруппированы в одно составное состояние. Вложение состояний внутри других необходимо, когда действие включает параллельные поддействия. Следующая диаграмма конечного автомата моделирует аукцион с двумя одновременными подсостояниями: обработка заявки и авторизация лимита платежа.
Пример диаграммы параллельного конечного автомата — процесс аукциона
В этом примере конечный автомат, впервые участвующий в аукционе, требует в начале разветвления на два отдельных стартовых потока. Каждое подсостояние имеет состояние выхода, обозначающее конец потока. Если нет аварийного выхода (Canceled или Rejected), выход из составного состояния происходит, когда оба подсостояния вышли.
Ссылки по теме
- Что такое унифицированный язык моделирования?
- Профессиональный инструмент для построения диаграмм UML
Примеры диаграмм состояний «Сделай сам» с помощью Visual Paradigm Online
- Бесплатные примеры и шаблоны диаграмм конечных автоматов, которые можно редактировать в онлайн-программном обеспечении для диаграмм конечных автоматов: Visual Paradigm Online .
- Используйте шаблоны в качестве отправной точки для создания собственной диаграммы конечного автомата.
Бесплатный программный инструмент UML
Вы узнали, что такое диаграмма конечного автомата и как ее нарисовать. Пришло время нарисовать собственную диаграмму конечного автомата. Получите Visual Paradigm Community Edition, бесплатное программное обеспечение UML, и создайте свою собственную диаграмму конечного автомата с помощью бесплатного инструмента State Machine Diagram. Он прост в использовании и интуитивно понятен.
https://pokerdomik.com/
https://khelraja-india.com/khelraja-login-and-registration/
https://pubhtml5.com/homepage/ygyth/
https://www.greentractortalk.com/members/roscarae.180065/