Разница между диаграммой состояний и конечным автоматом (FSM)? - PullRequest
1 голос
/ 19 ноября 2011

Вот диаграмма диаграммы состояний: http://www.jointjs.com/demos/run.html?unit=uml.statechart

Вот машина конечных состояний: http://www.jointjs.com/demos/fsa

В чем различия между этими диаграммами?

Ответы [ 2 ]

2 голосов
/ 07 января 2013

Конечное состояние машины - математическая концепция.Диаграмма диаграммы состояний представляет собой обозначение, основанное на этой концепции.

0 голосов
/ 23 ноября 2011

Конечные автоматы и диаграммы состояний - это две совершенно разные вещи.

Конечный автомат - это абстрактная машина для анализа строк ввода на формальном языке, в то время как диаграмма состояний представляет собой UML-описание различных состояний.система (подсистема и т. д.) может предполагать, и как она может переходить между ними.

В вашем связанном примере конечный автомат успешно проанализирует строку «ac», но не проанализирует строку «befd» (потому чтонет пути от начального состояния к конечному состоянию, которое последовательно отбирает эти символы в указанном порядке.

Диаграмма состояний, с другой стороны, говорит (среди прочего), что некоторая система может находиться в одной из трехосновные государства;что он принимает состояние 1 при запуске;что он может переходить из состояния 1 в состояние 2 или состояние 3;и что он может выходить из состояния 2, но не из состояния 3.

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

...