Cá nhân tôi chưa sử dụng khung / thư viện QP, vì giấy phép GPL. Vào thời điểm đó, tôi đã không nghĩ rằng chủ nhân của mình đã sẵn sàng ho cho tôi thử nghiệm với HSM (máy trạng thái phân cấp) bằng cách sử dụng QP. Tôi đã phải tự thực hiện tương tự như QP khi tôi đang cấu trúc lại một cỗ máy trạng thái khủng khiếp chiếm hàng trăm dòng mã như ví dụ của Joby nhưng lần 1000. Thiết kế cũ được mượn để có được các tính năng chạy theo thời hạn chặt chẽ là một nỗi đau khủng khiếp để duy trì. Tôi sợ hãi khi cố gắng thêm một cái gì đó mới vào nó vì sợ phá vỡ thứ khác.
Tôi đã thiết kế lại mã thành một HSM có ý nghĩa hơn đối với cá nhân tôi về cách hệ thống nên hoạt động. Nó làm việc tốt hơn nhiều so với tôi có thể tưởng tượng. Nó dễ dàng hơn nhiều để sửa đổi và duy trì sau đó tôi có thể mơ ước. Tôi thậm chí đã phải làm lại gần như nhiều máy của nhà nước, vì hành vi bất ngờ trong hệ thống. Nó dễ dàng hơn nhiều để sửa chữa với khung tôi đã thực hiện và tôi chắc chắn rằng nó sẽ dễ dàng như vậy trong QP. Khung công tác tôi xây dựng đã trở nên phổ biến và lan sang một số máy trạng thái phức tạp khác bên trong cơ sở mã của chúng tôi.
Tôi đã có một người bạn thực hiện khung lượng tử bằng cách sử dụng Java trong một robot hoạt động khá tốt. Nó là một phần của thuật toán ra quyết định của robot dựa trên một số đầu vào nhất định. Đó là sự phù hợp tự nhiên, dựa trên các quyết định mà nó phải đưa ra dựa trên trạng thái của robot.
Điều tôi hiểu về vẻ đẹp của QP là khả năng sẵn sàng tạo khung cho thiết kế máy trạng thái được tối ưu hóa cho bộ xử lý của bạn và không phải phụ thuộc vào các công cụ CASE phun ra mã nồi hơi không hiệu quả. Nhưng, tôi sẽ chỉ sử dụng QP nếu bạn đã thiết lập một bộ máy trạng thái phức tạp để thực hiện mô tả thiết kế của bạn.
Nếu tất cả những gì bạn có là một cái gì đó đơn giản như ví dụ của Joby, thì cứ làm như anh ấy giải thích. Nhưng nếu bạn thấy bộ máy trạng thái của mình phát triển và phát triển với tất cả các loại câu lệnh "nếu khác" bao quanh các điều kiện khác nhau ... thì có lẽ đã đến lúc thử một cái gì đó như QP để phân tách nó thành HSM.