GPL lisansı nedeniyle şahsen QP çerçevesini / kütüphanesini kullanmadım. O zamanlar, işverenimin QM kullanarak HSM'leri (hiyerarşik durum makineleri) denemek için hamuru öksürmeye hazır olduğunu düşünmemiştim. Joby örneği gibi, ancak 1000 kez kod gibi yüzlerce satır kod alan korkunç bir devlet makinesini yeniden düzenlerken QP'ye benzeyen kendimi uygulamak zorunda kaldım. Sıkı bir son tarihte çalışmaya başlamak için ödünç alınan eski tasarım. sürdürmek korkunç bir acıydı. Başka bir şey kırma korkusuyla yeni bir şey eklemeye çalıştım.
Kodu, sistemin nasıl davranması gerektiğine şahsen çok daha anlamlı gelen bir HSM olarak yeniden tasarladım. Tahmin edebileceğimden çok daha iyi çalıştı. Hayal edebileceğim zaman değiştirmek ve bakımını yapmak çok daha kolaydı. Hatta sistemdeki beklenmedik davranışlar yüzünden devlet makinesinin çoğunu neredeyse tekrarlamak zorunda kaldım. Yaptığım çerçeveyle düzeltmek çok daha kolaydı ve eminim ki QP'de bu kadar kolay olurdu. Oluşturduğum çerçeve popüler hale geldi ve kod tabanımızdaki diğer bazı karmaşık durum makinelerine yayıldı.
Oldukça iyi çalışan bir robotta Java kullanarak kuantum çerçeveyi uygulayan bir arkadaşım vardı. Robotun belirli girdilere dayalı karar alma algoritmasının bir parçasıydı. Robotun durumuna göre vermesi gereken kararlar göz önüne alındığında doğal bir uyumdu.
QP'nin güzelliğini anladığım şey, işlemciniz için optimize edilmiş ve verimsiz kazan plakası kodunu tüküren CASE araçlarına güvenmek zorunda olmayan bir durum makinesi tasarımı için çerçeveye hazır bir yeteneğe sahip olmaktır. Ancak, QP'yi sadece tasarımınızı tanımlayan karmaşık durum makineleri setiniz varsa kullanırım.
Eğer sahip olduğunuz tek şey Joby'nin örneği kadar basit bir şeyse, açıkladığı gibi yapın. Ancak, devlet makinenizin farklı koşullara sarılmış her türlü "eğer başka" ifadeleriyle büyüdüğünü ve büyüdüğünü bulursanız ... o zaman QP gibi bir şeyi HSM'lere ayırmak için zamanı gelmiş olabilir.