El propósito de algunos modelos de estados y eventos es el de reconocer secuencias de eventos "buenos", de manera que se los pueda diferenciar de secuencias "malas".

Supóngase, por ejemplo, que se quiere modelar el funcionamiento de una maquina repartidora de periódicos. Dicha máquina acepta monedas de 0.5, 0.10, 0.25 [ctvs] y el precio de cada periódico es de 30[ctvs]. Vamos a considerar que el evento llamado "0.5" es la introducción de una moneda de 0.5 ctvs, el evento "0.10" para la moneda de 0.10, etc.

Lo primero que tenemos que resolver para diseñar nuestro modelo es decir cómo son los estados. Una buena idea seria que cada estado recordara lo que se lleva acumulado hasta el momento. El estado inicial, desde luego, recordaría que lleva acumulado 0. Las demás transiciones son evidentes, el estado llevara acumulado el valor que sumemos. En otros casos hay que tomar una decisión de diseño conflictiva, como en el caso en que el estado "0.25" se introduzca una moneda de 0.10. En este caso se decidió que se va al estado "0.30", lo que puede significar que la máquina entrega un cambio al usuario, o se queda con el resto.

periodicos.png
Un aspecto muy importante en la figura es el estado final que es identificado con un óvalo de doble trazo. Los estados finales indican que cuando se llega a ellos, la secuencia de eventos que llevó ahí puede considerarse como "aceptable".