2016-05-04 3 views
1

Я учусь на экзамен и вопрос об одном из предыдущих экзаменов:Statechart против Statemachine

enter image description here

Много ответов на сети говорят Statecharts и Statemachines одно и то же? Если бы кто-то не мог объяснить разницу по этому вопросу.

Если кто-то может привести примеры обоих, это действительно поможет.

+0

Возможный дубликат [Имеет ли statemachine и statechart то же самое?] (Http://stackoverflow.com/questions/8192724/does-statemachine-and-statechart-mean-the-same) –

+0

Я видел это, но до сих пор не знаю Не понимаю различий. Где-то я могу найти пример диаграммы состояния и конечного автомата бок о бок – user3541209

+0

Они почти одинаковы.Спецификация UML: Специфическая форма автоматов конечного состояния, используемая в UML, основана на объектно-ориентированном варианте формализма в форматах Давида Хэрела. –

ответ

0

Государственная машина представляет собой математическую модель вычисления, которая является менее общей цели, чем машина Тьюринга. Другим распространенным использованием термина «машина состояния» является код, который реализует эту модель и запускается на компьютере.

В противоположность этому, состояние диаграмма является описание конечного автомата, как правило, представлены в виде диаграммы или таблицы. Слово «диаграмма» является латинским для «бумаги», поэтому оно подразумевает что-то написанное или нарисованное.

Существует много видов государственных машин, включая Mealy, Moore и Harel. (Является ли Харель определением своего рода формализма в государственном аппарате или как раз более точное обозначение диаграммы состояния, для меня неясно). UML - это надмножество тех, с единой унифицированной поверхностной нотацией для базовой модели. И модель, и графическая нотация описывают конструкцию конечного автомата, который может работать. Графическое обозначение, представляющее модель, можно рассматривать как диаграмму состояний.

Я думаю, что вопрос, который вы цитируете, на самом деле запутан и запутан. В статье Харела от 1984 года речь шла о формализме Мили и Мура как о «обычном», но это слово могло бы теперь примениться и к работе Харела. Термин «диаграмма состояний», вероятно, относится к Harel или UML, который может быть отображен в машинах состояния Mealy или Moore. Я бы ответил на вопрос, перечисляя различия, тем не менее.

2

Государственный план сильно отличается от конечного автомата (я предполагаю, что это то, что подразумевается под «условным» автоматом состояния). Государственные диаграммы относятся к нотации Харела, изобретенной в 1984 году, которая была предложена как значительное нотационное расширение по сравнению с традиционными конечными автоматами. Statecharts были включены в язык UML (хотя они относятся к нему как к машинам с поведенческими состояниями, а UML также поддерживает другое понятие, называемое государственными машинами протокола, чтобы добавить к путанице). Основные важные отличия в том, что statecharts на самом деле являются своего рода «иерархическими» государственными машинами. Государства могут содержать вложенные государственные машины (на любом уровне глубины). В дополнение к этому, понятие ортогональных областей было добавлено для моделирования параллельных параллельных диаграмм состояния, а понятие состояний истории (либо мелкая история, либо глубокая история) может использоваться для запоминания того, какое субстант посещать при повторном входе составное состояние. Все эти дополнительные функции делают statecharts намного более масштабируемыми и выразительными, чем простые, плоские, государственные машины. Статусные диаграммы также позволяют добавлять действия, связанные с событиями (либо внутри состояния, либо при переходе между состояниями). Существует множество различных (часто коммерческих) инструментов, которые позволяют полностью генерировать исполняемый код из шаблона состояния или моделировать поведение модели (например, StateMate, Rhapsody, Stateflow, Yakindu Statechart Tools, visualSTATE и многие другие). Они также часто используются в промышленности, в основном в области встроенных и реактивных систем. Вот почему statecharts можно рассматривать как одну из успешных версий исполняемого моделирования.

Смежные вопросы