Подробное руководство по диаграмме состояний с примерами

Диаграмма конечного автомата — это поведение, которое определяет последовательность состояний, которые объект посещает в течение своего жизненного цикла в ответ на события, а также его реакции на эти события.

Состояние

Состояние – это состояние в течение жизни объекта, в течение которого он удовлетворяет какому-либо условию, выполняет какую-либо деятельность или ожидает какого-либо внешнего события.

Пример:

Характеристики государства

  • Состояние представляет собой состояние объектов в определенные моменты времени.
  • Объекты (или системы) можно рассматривать как движущиеся из состояния в состояние.
  • Точка жизненного цикла элемента модели, которая удовлетворяет некоторому условию, когда выполняется определенное действие или ожидается какое-либо событие.

На рисунке ниже показано подробное описание состояния. Состояние расширено внутренними действиями (сделай, помоги). В отличие от других действий, эти действия можно прервать. Если происходит «отмена», действия do или help прерываются. Внутренние действия выполняются после раздела «вход» и прерываются при выходе из состояния.

Начальное и конечное состояния

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

Пример:

Мероприятие

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

Переход

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

Переход имеет: Компоненты перехода, которые включают (1) исходное состояние (2) триггер события (3) действие (4) целевое состояние

Самостоятельный переход

Самопереход — это переход, исходное и целевое состояния которого совпадают.

Действие

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

Пример библиотеки

На рисунке ниже показана простая диаграмма конечного автомата. Основными компонентами такой диаграммы являются:

  • Состояние: пример имеет два состояния: «В аренде» и «На полке».
  • Исходное состояние: это состояние, в котором система запускается.
  • Переходы: переходы описывают возможные изменения состояния. Диаграмма имеет два перехода: из «В аренде» в «На полке» и наоборот.
  • События: события помечаются на переходах. Они представляют событие, выполняемое при переходе. При переходе из состояния «В аренде» в состояние «На полке» выполняется событие «Возвращено()».

Действия — это модификации переменных состояния. В приведенном ниже примере действия указаны для переходов. При переходе от «На полке» к «В аренде» книги переменных состояний уменьшаются.

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

  • Первый вариант показывает спецификацию действий при переходе. Действие выполняется при изменении состояния.
  • Второй вариант показывает спецификацию действия в состоянии. Ключевое слово «вход» указывает, что действие должно быть выполнено при входе в состояние.
  • Наконец, третий вариант показывает, как указать, что действие выполняется при выходе из состояния. Обратите внимание на ключевое слово «выход».

Обозначение простой диаграммы состояний

Диаграмма конечного автомата — дополнительные понятия

Ограничения

К переходам можно добавить ограничения. Рассмотрим рисунок ниже. Ограничение «[не последняя копия]» и «[последняя копия]» используются для различения двух переходов с событием «copyBorrowed()». Семантика заключается в том, что переход разрешен, когда ограничение истинно.

Подсостояния

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

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

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

  • Состояние простоя получает событие Too Hot
  • Состояние простоя получает событие Too Cool
  • Состояние охлаждения/запуска получает событие Compressor Running
  • Состояние Cooling/Ready получает событие Fan Running
  • Состояние охлаждения/работы получает событие OK
  • Состояние охлаждения/работы получает событие отказа
  • Состояние сбоя получает событие сбоя.
  • Состояние нагрева получает событие OK
  • Состояние нагрева получает событие отказа

История государств

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

Параллельное состояние

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

Пример диаграммы параллельного конечного автомата — процесс аукциона

В этом примере конечный автомат, впервые участвующий в аукционе, требует в начале разветвления на два отдельных стартовых потока. Каждое подсостояние имеет состояние выхода, обозначающее конец потока. Если нет аварийного выхода (Canceled или Rejected), выход из составного состояния происходит, когда оба подсостояния вышли.

Ссылки по теме

  1. Что такое унифицированный язык моделирования?
  2. Профессиональный инструмент для построения диаграмм UML

Примеры диаграмм состояний «Сделай сам» с помощью Visual Paradigm Online

  • Бесплатные примеры и шаблоны диаграмм конечных автоматов, которые можно редактировать в онлайн-программном обеспечении для диаграмм конечных автоматов:  Visual Paradigm Online .
  • Используйте шаблоны в качестве отправной точки для создания собственной диаграммы конечного автомата.

Духовой шкаф

Цифровые часы

Ортогональное состояние

Составное состояние

Обогреватель

Тостер

Система продажи билетов

Телефон

Бесплатный программный инструмент UML

Вы узнали, что такое диаграмма конечного автомата и как ее нарисовать. Пришло время нарисовать собственную диаграмму конечного автомата. Получите Visual Paradigm Community Edition, бесплатное программное обеспечение UML, и создайте свою собственную диаграмму конечного автомата с помощью бесплатного инструмента State Machine Diagram. Он прост в использовании и интуитивно понятен.

Скачать бесплатно

222 комментария

  1. сколько стоит перепланировка квартиры в москве [url=http://www.stoimost-soglasovaniya-pereplanirovki-kvartiry.ru]сколько стоит перепланировка квартиры в москве[/url] .

  2. Thinking of this, Hart s mood became even what is a good pulse rate and blood pressure more depressed, and he began to look do ace inhibitors lower heart rate for lazy coolies, ready to practice whipping is your blood pressure high when having a heart attack skills again buy priligy generic Possible confounding due to the use of hormone replacement therapy is another reason that must be considered

  3. Главные новости мира https://ua-vestnik.com и страны: политика, экономика, спорт, культура, технологии. Оперативная информация, аналитика и эксклюзивные материалы для тех, кто следит за событиями в реальном времени.

  4. Инструкция по установке VPN
    В современном мире, где интернет занимает существенное место в нашей жизни, вопросы безопасности и конфиденциальности в сети становятся особенно актуальными. VPN (виртуальная частная сеть) предоставляет эффективные средства для защиты вашей интернет-активности и сохранения конфиденциальности данных. В данной инструкции рассмотрим процесс создания собственного VPN. Для этого я выбрал услуги хостинговой компании PQ.Hosting.

    Почему PQ.Hosting?

    Первое, что мне понравилось на сайте компании, именно в разделе VPN, это возможность поддержки разных устройств с одновременным подключением до 10 активных устройств на одну подписку. Пользователям, у которых есть желание подключить ВПН не только на компьютере, но еще и смартфоне, планшете, телевизоре (а таких сейчас большинство) это очень хорошее решение.
    Не в последнюю очередь обращаем внимание на технологию шифрования. Сегодня это очень важно! Ну и, конечно же, не менее привлекателен безлимитный трафик. Серфинг без ограничений по трафику и скорости, обеспечивающий полную свободу и комфорт в интернете лично для меня в приоритете.

    Кому нужен надежный ВПН?

    Дальше приведу категории пользователей, которым обязательно необходим надежный ВПН:
    Геймеры. Игроки могут использовать VPN для снижения задержек (пинга) в играх или для доступа к играм и контенту, недоступным в их регионе;
    Туристы. Люди, находящиеся за границей, могут использовать VPN для доступа к своим обычным интернет-ресурсам, таким как банковские аккаунты или любимые стриминговые сервисы.
    Компаниям. Сотрудники компаний могут использовать VPN для безопасного доступа к внутренним ресурсам и системам компании из удаленных мест;
    Обычным интернет-пользователям. ВПН будет полезен всем тем, кто ценит свою конфиденциальность и хочет защитить свои данные.
    А теперь переходим собственно к инструкции.

    Разворачиваем собственный VPN

    Дальше расскажу, какие преимущества несёт создание собственного VPN:
    Защита трафика. Ни администраторы Wi-Fi-сети, ни злоумышленники не смогут получить доступ к вашим данным.
    Доступ к заблокированным ресурсам. Поскольку сервер VPN расположен за пределами страны, вы сможете обходить блокировки на сайты и сервисы.
    Защита от слежки со стороны интернет-провайдеров. Использование VPN поможет вам обеспечить дополнительную безопасность
    Для простых задач, таких как серфинг в интернете или использование социальных сетей, VPN очень даже пригоден. Осталось разобраться, как настроить собственный ВПН.

    Инструкция по настройке VPN на примере PQ.Hosting

    Чтобы развернуть VPN, необходимо:
    1. Арендовать VPS-сервер. Выберите одну из локаций на сайте https://pq.hosting/buy-tunnel
    2. Дальше для настройки VPN-соединения используем Amnezia. Скачиваем приложение AmneziaVPN с официального сайта https://amnezia.org/ru/.
    3. На почту, указанную при заказе сервера, придет письмо от хостинг-провайдера В письме должны быть указаны IP, User name или User ID, и Password, они понадобятся для установки VPN на сервер.
    4. Запустите приложение AmneziaVPN
    5. На первом экране выберете “У меня есть данные для подключения”, далее “Настроить свой сервер”, и внесите данные из письма.
    6. Нажмите “Продолжить” и следуйте подсказкам приложения.

    В заключении скажу, VPN может быть полезен как для индивидуальных пользователей, так и для организаций, стремящихся обеспечить безопасность и конфиденциальность своих данных. Создание собственного VPN на базе Amnezia дает полный контроль над вашей сетью и обеспечивает защиту ваших данных. Следуя пошаговой инструкции, вы можете создать свой собственный VPN и наслаждаться безопасным и приватным интернет-соединением.

Leave a Reply

Ваш адрес email не будет опубликован.