Puede leer this question donde pregunto acerca de la mejor arquitectura para una aplicación de máquina para una pequeña historia, aunque no es del todo necesario para ayudarme con esta pregunta.¿Debería una máquina de estados finitos tener una máquina de estados finitos "anidados"?
Mi comprensión (especialmente para la implementación) de Finite State Machine es un poco joven y puede que falte un poco, pero estoy implementando esta aplicación como una, y tengo un lugar donde necesito tener una FSM anidado. Básicamente, la máquina tiene algunos estados de alto nivel (Cold [recién iniciado), Homing In, Setup, Ready to Run, Running, Reporting, Reseting), pero cuando la máquina se está ejecutando, necesita tener su propia pequeña implementación de FSM para (Cargando Lense, ubicando el borde, midiendo la cuña, midiendo redondez y completando [puede haber algo más allí]).
Mi pregunta es esta: ¿Debo desarrollar la capacidad de tener "estados anidados" donde un estado puede tener una lista de estados secundarios y el sistema puede ingresar esos estados secundarios y esos estados secundarios pueden retornar a estados principales? ¿O debería simplemente poner una implementación de FSM dentro del estado En ejecución, y mantenerlos como dos FSM diferentes? ¿O crees que estoy haciendo o pensando algo tonto y debería reconsiderarlo?
Pensamientos, sugerencias, críticas y consejos son bienvenidos.
estados anidados son buenos, IMO. ¿Estás seguro de que te refieres a homing y no a bruñido? – Beth
Sí, orientación. Como encontrar la posición de inicio. –