Personalmente no he usado el marco de QP/biblioteca, debido a la licencia GPL. En ese momento, no creí que mi empleador estuviera dispuesto a soltarme la pasta para experimentar con HSM (máquinas de estado jerárquico) usando QP. Tuve que implementar la mía propia que era similar a la QP cuando estaba refactorizando una horrible máquina de estado que ocupaba cientos de líneas de código como el ejemplo de Joby pero multiplicado por 1000. El viejo diseño que fue prestado para poner en marcha las características en un plazo corto fue un terrible dolor de mantener. Temía tratar de añadir algo nuevo por miedo a romper algo más.
Rediseñé el código en un HSM que tenía mucho más sentido para mí personalmente sobre cómo debería comportarse el sistema. Funcionó mucho mejor de lo que podía imaginar. Era mucho más fácil de modificar y mantener de lo que jamás podría haber soñado. Incluso tuve que rehacer gran parte de la máquina de estado, debido al comportamiento inesperado del sistema. Era mucho más fácil de arreglar con el marco de trabajo que había hecho, y estoy seguro de que habría sido igual de fácil en QP. El marco que construí se hizo popular y se extendió a otras máquinas de estado complejas dentro de nuestra base de código.
Tuve un amigo que implementó el marco cuántico usando Java en un robot que funcionó bastante bien. Era parte del algoritmo de toma de decisiones del robot basado en ciertas entradas. Era un ajuste natural, dadas las decisiones que tenía que tomar basado en el estado del robot.
Lo que entiendo de la belleza del QP es la capacidad de tener un marco listo para un diseño de máquina de estado optimizado para su procesador y no tener que depender de herramientas CASE que escupen un código de placa de calderas ineficiente. Pero, sólo usaría QP si tienes un conjunto de máquinas de estado complejas para implementar que describan tu diseño.
Si todo lo que tienes es algo tan simple como el ejemplo de Joby, entonces hazlo como él lo explicó. Pero si encuentras tu máquina de estado creciendo y creciendo con todo tipo de declaraciones de "si no" envueltas alrededor de diferentes condiciones... entonces podría ser el momento de intentar algo como QP para descomponerlo en HSM's.