text: QP ("Quantum Platform") 是一個用來構建模組化實時應用程式的開源框架。它採取事件驅動的方式來排程系統中的各個操作發起者。系統總覽.QP程式設計框架家族包括了QP/C，QP/C++，和QP-nano。它們都經由良好的質量控制，並且既有GPLv2開源協議，也可以進行商業許可 。這些框架都能在微控制器上執行並能夠替代一個傳統的RTOS，並對每一種常見的MCU都提供了移植好的底層介面。QP/C and QP/C++也能和一個傳統的OS或RTOS一起使用，比如POSIX (Linux, QNX)，Windows， VxWorks，ThreadX，uC/OS，FreeRTOS等等。QP中各個活動物件來表徵的。QP框架支援由C或者C++編寫的UML狀態機，也支援由免費的QM建模工具直接進行自動程式碼生成。設計背景.活動物件原生支援並自動保證以下併發程式設計中的最佳實踐：使用活動物件使得思考併發程式設計變得容易。相反，直接使用RTOS任務有很多不利之處，尤其因為他們對使用方式不加限制，也不提供自動進行併發最佳實踐的機制。 使用活動物件使抽象程度提高了一個層次，並且能讓程式設計者更好地表達意圖和提高生產率。活動物件並不能憑空產生，這往往需要一個軟體框架來為每個活動物件提供一個執行緒，提供事件排隊服務以及基於事件的定時服務。在資源受限的嵌入式系統中，可擴充套件性和效率是此類框架的最大著力點之一。那些傳統上建立在RTOS之上的建模工具和各類框架增加了記憶體消耗和CPU開銷。QP框架在設計時就著眼於效率和小記憶體佔用，而且在獨立構型中不需要一個RTOS。事實上，和傳統的RTOS比起來，QP框架提供較少的RAM和ROM佔用。這是有可能的；因為活動物件不需要阻塞，因此傳統RTOS中的大部分阻塞機制是不需要的。這些特性使得事件驅動框架適用於微控制器。比起原始的RTOS任務，事件驅動框架是一個更高層次的抽象，並且資源佔用率和能量消耗也低。這是由於事件驅動模型僅在處理事件時啟用CPU，而在絕大多數時間CPU處於低功耗模式。QP架構和元件.QP由一個合乎UML規範的事件處理器組成.QEP成為可能，並能生成高度可維護的C/C++程式碼。每一個狀態機元素都精確無歧義地對應到唯一的程式碼片段。QEP完全支援層次化狀態巢狀，這方便了子狀態機的複用而無需重複進行編碼。QF是一個高度可移植的、事件驅動的實時應用程式框架。它是專為實時嵌入式系統中狀態機的併發執行設計的。QK的核心。它是專門為執行執行至完成的狀態機設計的。QS是一個軟體跟蹤系統，它能在只佔用極少系統資源的前提下監視事件驅動的QP應用程式，並不會導致應用程式出線顯著速度降低或者卡頓。支援的處理器.所有的QP框架都可以很容易地被移植到各種微處理器和編譯器，這是由於QP框架從設計之初就考慮到方便移植。下列的移植現在可用：支援的作業系統.QP/C和QP/C++框架可以和下列的傳統作業系統和實時作業系統一起使用。當前，QP支援下列作業系統和實時作業系統：授權協議.所有的QP框架都採取雙重授權，既可以採取GPLv2也可以採取傳統的閉源商業授權。那些希望在嵌入式裝置中閉源使用QP的公司可以獲得一個商業授權。
metadata: erhwenkuo/wikipedia-zhtw
metadata: QP (框架)
metadata: https://zh.wikipedia.org/wiki?curid=6311778