unity uipath machine example state-machine

state machine - uipath - Mealy v/s. Moore



state machine uipath (6)

  • La salida de la máquina de Mealy depende tanto del estado actual como de la entrada de corriente mientras que la salida de Moore depende solo del estado actual .

  • Generalmente la máquina Mealy tiene un estado de fiebre que la máquina Moore .

  • La salida de Mealy cambia a la hora marcada, pero la salida de Moore cambia tan pronto como se realiza la lógica.

  • Mealy reacciona más rápido a la entrada, mientras que Moore se necesita para descodificar la salida, ya que tiene más retrasos en los circuitos .

¿Cuál es la diferencia entre el tipo de máquinas de estado finito de Mealy y Moore?


Explicación por ejemplo / anécdota.

Esto quizás se ilustra mejor con un ejemplo y una anécdota.

Odio los aeropuertos y llegar a ellos, pero me encanta estar en el avión. Hay tres estados distintos en los que tengo que entrar antes de subir al avión:

  1. Estado: En Taxi (evento: luego pago la tarifa y paso al siguiente estado :)
  2. Estado: en el salón (evento: espere 2 horas y pase al siguiente estado:)
  3. Estado: En Plano

Pero ¿cuál es el resultado?

En una máquina de Mealy, el estado anterior del cual vienes hace una diferencia: cómo llegar a algún lugar es muy importante. En una máquina de Moore, cómo llegas a un estado no hace ninguna diferencia.

Agreguemos un resultado a lo anterior para crear una representación de Moore de una máquina de estado:

Ejemplo de una representación de Moore de una máquina de estado:

  1. Estado: En Taxi (evento: pagar tarifa y luego pasar al siguiente estado). (Resultado: infeliz).
  2. Estado: en el salón (evento: espere 2 horas y luego pase al siguiente estado) (resultado: infeliz)
  3. Estado: en plano (resultado: feliz ).

Con una representación de Moore, el resultado se adjunta directamente al estado . Con una representación de Mealy, el resultado / salida en particular depende de su origen. Por ejemplo, si puedo llegar al avión sin tener que tomar un taxi y esperar en el salón, entonces sería feliz. Las entradas hacen la diferencia. El lugar de donde vienes es importante. Una máquina de estado de representación de Mealy permite que esto se muestre en el diagrama. En otras palabras, la salida / resultado se muestra FUERA del estado, durante la transición.


En una máquina Moore, la salida producida está asociada al estado actual de la máquina y solo en ella. En una máquina Mealy, en cambio, se asocia tanto a un estado como a una entrada específica.

Desde un punto de vista práctico, tiene la salida que se coloca en los estados de una máquina Moore (por lo que cada estado tiene su salida), mientras que en el último tiene salidas en las transiciones (por lo que se decide una salida a partir del estado actual Y la transición de salida). )


La salida de la máquina de Moore es una función solo del estado de la máquina, la salida de la máquina de Mealy es una función del estado de la máquina y sus entradas.


Las máquinas Moore son sistemas dinámicos discretos que se pueden expresar en la forma:

x[k+1] = f(x[k], u[k] ) y[k] = g(x[k] )

donde x el estado, u la entrada, y la salida, f describe la relación de transición (dinámica discreta) g el mapa de salida (aquí un etiquetado de estado) k denota el tiempo (índice en la secuencia).

Una máquina de Mealy es de una forma ligeramente más general:

x[k+1] = f(x[k], u[k] ) y[k] = g(x[k], u[k] )

Tenga en cuenta que ahora g ya no es un etiquetado de estado, es un etiquetado de borde .

No son equivalentes, en particular las máquinas de Moore son estrictamente causales, mientras que las máquinas de Mealy no lo son.

Para obtener más detalles, consulte Lee & Seshia, Introducción a los sistemas integrados , LeeSeshia.org, p.58.


Moore cambia solo después del pulso de reloj activo y Melay cambia después de cada flanco de reloj ("si la entrada externa cambia")