Діаграма стану автомата та діаграма стану в UML

⚡ Розумний підсумок

Діаграма машин станів, яку також називають діаграмою станів, моделює динамічну поведінку об'єкта, що переміщується між станами у відповідь на події. У цьому ресурсі пояснюється позначення, типи станів, правила малювання та їхня відмінність від блок-схеми.

  • 🔁 Основна мета: Діаграма кінцевого автомата фіксує, як об'єкт змінює стан у відповідь на події протягом свого життя.
  • 🧩 Два типи: Поведінкові машини станів моделюють реалізацію елемента; машини станів протоколів моделюють дозволені зміни протоколу.
  • 🔷 Ключові позначення: Початковий та кінцевий стани, блоки рішень, переходи та заокруглені блоки станів складають діаграму.
  • 🗂️ Види станів: Прості, складені та підмашинні стани організовують поведінку, причому ортогональні стани містять паралельні підстани.
  • 🔐 Приклад роботи: Модель автентифікації OTP показує переходи між станами на основі умови захисту.

Що таке діаграма кінцевого автомата?

Діаграма стану використовуються для фіксації поведінки програмної системи. Діаграми машин станів UML можна використовувати для моделювання поведінки класу, підсистеми, пакета або навіть усієї системи. Їх також називають діаграмою станів або діаграмою переходів станів.

Що таке діаграма стану?

Діаграми станів надають нам ефективний спосіб моделювання взаємодій або зв’язку, які відбуваються всередині зовнішніх об’єктів і системи. Ці діаграми використовуються для моделювання подійної системи. Станом об'єкта керують за допомогою події. Діаграми станів використовуються для опису різних станів сутності в прикладній системі.

Всього в UML існує два типи діаграм кінцевого автомата:

1. Поведінкова діаграма стану машини

  • Він фіксує поведінку об’єкта, присутнього в системі.
  • Він використовується для представлення конкретної реалізації елемента.
  • Поведінка системи може бути змодельована за допомогою діаграми поведінкового автомата в OOAD.

2. Діаграма стану протоколу

  • Ці діаграми використовуються для фіксації поведінки протоколу.
  • Він показує, як змінюється стан протоколу щодо події. Він також представляє відповідні зміни в системі.
  • Вони не представляють конкретну реалізацію елемента.

Чому діаграма кінцевого автомата?

Діаграма стану використовується для відображення динамічного аспекту системи. Діаграми кінцевого автомата використовуються для представлення поведінки програми. Протягом свого життя предмет проходить різні стани. Тривалість життя об'єкта зберігається до завершення програми. Об’єкт переходить із кількох станів залежно від події, яка відбувається в об’єкті. Кожен стан представляє певну унікальну інформацію про об'єкт.

Діаграми станів використовуються для розробки інтерактивних систем, які реагують на внутрішні або зовнішні події. Діаграма станів в UML візуалізує потік виконання від одного стану до іншого стану об’єкта.

Він представляє стан об’єкта від моменту створення об’єкта до моменту його знищення або ліквідації.

Основне призначення діаграми станів — моделювання інтерактивних систем і визначення кожного стану об’єкта. Діаграми станів призначені для відображення динамічної поведінки прикладної системи. Ці діаграми використовуються для представлення різних станів системи та об’єктів у системі.

Нотація та символ для діаграми кінцевого автомата (діаграма станів)

Нижче наведено різні позначення, які використовуються на діаграмі станів. Усі ці позначення в сукупності складають єдину діаграму.

Позначення діаграми стану UML
Нотації діаграми стану UML

Початковий стан

Символ початкового стану використовується для позначення початку діаграми кінцевого автомата.

Кінцевий стан

Цей символ використовується для позначення кінця діаграми кінцевого автомата.

Коробка рішень

Він містить умову. Залежно від результату оціненої захисної умови для виконання програми вибирається новий шлях.

Transition

Перехід - це зміна одного стану в інший, що відбувається внаслідок якоїсь події. Перехід викликає зміну стану об’єкта.

Державна скринька

Це певний момент у житті об'єкта. Він визначається за допомогою певної умови або оператора в тілі класифікатора. Він використовується для представлення будь-яких статичних і динамічних ситуацій.

Позначається за допомогою прямокутника із закругленими кутами. Всередині округленого прямокутника записується назва штату.

Назву штату також можна розмістити за межами прямокутника. Це можна зробити у випадку композитного або субмашинного станів. Назву штату можна розмістити всередині прямокутника або поза прямокутником у табличному полі. Не можна виконувати обидва одночасно.

Стан може бути як активним, так і неактивним. Коли стан знаходиться в робочому режимі, він активний, як тільки він припиняє виконання і переходить в інший стан, попередній стан стає неактивним, а поточний стан стає активним.

Типи держави

Уніфікована мова моделювання визначає три типи станів:

  • Простий стан
  • Вони не мають жодної піддержави.
  • Складений стан
  • Ці типи станів можуть мати один або більше ніж один підстан.
  • Складений стан з двома або більше підстанами називається ортогональним станом.
  • Підмашинний стан
  • Ці стани семантично дорівнюють складеним станам.
  • На відміну від складеного стану, ми можемо повторно використовувати стани підмашини.

Як намалювати діаграму стану?

Діаграми станів використовуються для опису різних станів, через які проходить об’єкт. Перехід між одним станом в інший відбувається через якусь спровоковану подію. Щоб намалювати діаграму стану в UML-, необхідно ідентифікувати всі можливі стани будь-якої конкретної сутності.

Мета цих UML діаграми полягає в представленні станів системи. Стани відіграють важливу роль у діаграмах переходів станів. Усі основні об’єкти, стани та події, які викликають зміни в межах станів, необхідно спочатку проаналізувати перед впровадженням діаграми.

При складанні діаграми стану необхідно враховувати наступні правила:

  1. Назва переходу стану має бути унікальною.
  2. Назва держави має бути легко зрозумілою та описувати поведінку держави.
  3. Якщо є кілька об’єктів, то слід реалізувати лише основні об’єкти.
  4. Необхідно вказати власні назви для кожного переходу та події.

Коли використовувати діаграму кінцевого автомата?

Діаграми станів використовуються для глибокої реалізації робочих моделей реального життя та об’єктно-орієнтованих систем. Ці діаграми використовуються для порівняння динамічної та статичної природи системи шляхом відображення динамічної поведінки системи.

Діаграми станів використовуються для відображення змін у різних об’єктах системи від початку до кінця. Вони використовуються для аналізу того, як подія може викликати зміни в кількох станах системи.

Використовуються діаграми стану символів:

  1. Моделювати об’єкти системи.
  2. Моделювати та впроваджувати інтерактивні системи.
  3. Для відображення подій, які викликають зміни в межах штатів.

Приклад державної машини

Наступний приклад діаграми стану відображає процес автентифікації користувача.

Діаграма стану UML

Діаграма стану UML

Загалом існує два стани, і перший стан вказує на те, що спочатку потрібно ввести OTP. Після цього OTP перевіряється у вікні прийняття рішення, якщо він правильний, то відбудеться лише перехід стану, і користувач буде підтверджений. Якщо OTP неправильний, перехід не відбудеться, і він знову повернеться до початкового стану, доки користувач не введе правильний OTP, як показано на прикладі схеми кінцевого автомата.

Діаграма кінцевого автомата проти блок-схеми

Нижче наведено основні відмінності між діаграмою стану та блок-схемою

Діаграма державного автомата Блок-схема
Він представляє різні стани системи. Блок-схема ілюструє потік виконання програми.
Кінцевий автомат має концепцію WAIT, тобто очікування дії або події. Блок-схема не стосується очікування концепції.
Автомати стану використовуються для живої працюючої системи. Блок-схема візуалізує послідовності розгалуження системи.
Кінцевий автомат є моделюючою діаграмою. Блок-схема — це послідовність потоків або діаграма DFD.
Кінцевий автомат може досліджувати різні стани системи. Блок-схема стосується шляхів і контролю потоку.

Поширені запитання

Діаграма автомата станів показує стани одного об'єкта та події, які переміщують його між ними. Діаграма активності показує загальний потік дій та рішень у процесі. Діаграми станів зосереджені на станах; діаграми активності зосереджені на робочому процесі.

Самоперехід – це перехід, який повертає до того самого стану після спрацьовування події. Він знову запускає дії виходу та входу зі стану без зміни поточного стану, що корисно для повторюваної поведінки або поведінки з повторними спробами.

Умова захисту — це булевий вираз для переходу, записаний у квадратних дужках. Перехід спрацьовує лише тоді, коли відбувається його подія, і умова захисту має значення true, тому умови захисту контролюють шлях, який обирає об'єкт.

Інструменти для створення діаграм ШІ можуть зчитувати опис поведінки та створювати чернетку кінцевого автомата, що містить перелік станів, подій та переходів. Це допомагає розробникам швидко розпочати роботу, хоча стани та захисні умови слід перевірити на повноту.

Так. Аналіз за допомогою штучного інтелекту може порівнювати кінцевий автомат з вимогами та позначати відсутні стани, недосяжні стани або переходи без тригерів. Це допомагає виявити прогалини на ранній стадії, але інженери повинні підтверджувати кожну пропозицію перед оновленням моделі.

Підсумуйте цей пост за допомогою: