Діаграма станів автомата
Граф абстрактного автомата або діаграма станів автомата, англ. statechart) — орієнтований граф, вершинам якого відповідають стани автомата, а дугам — вхідні сигнали. Якщо вхідний сигнал xi спричиняє перехід автомата зі стану aj в стан ak, то на графі цьому факту відповідає дуга, позначена символом xi, яка з'єднує вершину aj з ak. Такий граф задає функцію переходів автомата. Для визначення функції виходів, дуги цього графу позначаються ще й відповідними вихідними сигналами. Визначення автомата за допомогою його графу є особливо наочним за умов невеликої кількості станів.
Діаграми станів Хареля (англ. David Harel[1] стають дедалі популярнішими після того, як варіант цих діаграм став частиною Unified Modeling Language. Цей вид діаграм дозволяє моделювання надстанів, ортогональних регіонів, та діяльності як складової стану.
Класичні діаграми станів вимагають створення окремих вершин для кожної допустимої комбінації параметрів, що визначають стан. Це може призводити до необхідності введення великої кількості вершин та переходів між ними для систем складніших за найпростіші. Така складність ускладнює перегляд та розуміння діаграми. Діаграми Хареля дозволяють моделювання багатьох автоматів з перетином функцій на одній діаграмі. Кожен з відокремлених автоматів може виконувати внутрішні переходи не впливаючи на інші автомати на діаграмі. Стан кожного з відокремленого автомата на діаграмі визначає стан системи. Діаграма Хареля еквівалентна діаграмі станів але полегшує перегляд та розуміння отриманих діаграм.
- ↑ David Harel, Statecharts: A visual formalism for complex systems. Science of Computer Programming [Архівовано 25 лютого 2021 у Wayback Machine.], 8(3):231-274, June 1987.
- Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2001). Вступ до теорії автоматів, мов і обчислень (вид. 2nd). Addison–Wesley. с. 521.(англ.)
- Роджерс Х. . Теория рекурсивных функций и эффективная вычислимость. — М. : Мир, 1972. — 416 с.(рос.)
Це незавершена стаття з математики. Ви можете допомогти проєкту, виправивши або дописавши її. |