Лично я не использовал каркас / библиотеку QP из-за лицензии GPL. В то время я не думал, что мой работодатель был готов выкашивать тесто для меня, чтобы экспериментировать с HSM (иерархическими конечными автоматами), используя QP. Мне пришлось реализовать свой собственный, который был похож на QP, когда я рефакторинг ужасного конечного автомата, который занимал сотни строк кода, как пример Джеби, но раз 1000. Старый дизайн, который был заимствован, чтобы получить функции для работы в сжатые сроки была ужасная боль, чтобы поддерживать. Я боялся пытаться добавить что-то новое, боясь сломать что-то еще.
Я переделал код в HSM, который лично для меня имел больше смысла в том, как должна вести себя система. Это сработало намного лучше, чем я мог себе представить. Это было намного легче модифицировать и поддерживать, чем я мог мечтать. Мне даже пришлось почти переделывать большую часть конечного автомата из-за неожиданного поведения в системе. Это было намного проще исправить с помощью фреймворка, который я сделал, и я уверен, что это было бы так же легко в QP. Созданный мною фреймворк стал популярным и распространился на некоторые другие сложные конечные автоматы в нашей кодовой базе.
У меня был друг, который реализовал квантовую среду, используя Java в роботе, который работал довольно хорошо. Это было частью алгоритма принятия решений робота, основанного на определенных входных данных. Это было естественно, учитывая решения, которые он должен был принять, основываясь на состоянии робота.
То, что я понимаю о красоте QP, - это способность иметь готовую среду для проектирования конечного автомата, оптимизированного для вашего процессора, и при этом не нужно полагаться на инструменты CASE, выплевывающие неэффективный шаблонный код. Но я бы использовал QP, только если у вас есть сложный набор конечных автоматов для реализации, который описывает ваш дизайн.
Если все, что у вас есть, является чем-то таким же простым, как пример Джеби, просто сделайте это, как он объяснил Но если вы обнаружите, что ваш конечный автомат растет и растет со всевозможными «если еще» утверждениями, заключенными в разные условия ... тогда, возможно, пришло время попробовать что-то вроде QP, чтобы разбить его на HSM.