PPS消息傳送可簡(jiǎn)化醫療設備設計
一款電子醫療設備的設計、開(kāi)發(fā)和上市準備可能比擁有同等技術(shù)復雜度的消費級設備要花費更多的時(shí)間、努力和成本。除了一般的開(kāi)發(fā)和審批需求,醫療器械還有嚴格的功能安全和認證要求。這些要求都意味著(zhù)醫療器械擁有嚴格定義和管理的設計、開(kāi)發(fā)和審批環(huán)境,并需要對功能安全進(jìn)行廣泛和精細的驗證。
本文引用地址:http://dyxdggzs.com/article/164886.htm當然,醫療器械在上市之前必須得到產(chǎn)品銷(xiāo)售地和使用地主管當局的相關(guān)認證,比如:FDA 510(k)上市前通告、醫療器械指令(MDD)和其他國際和國家機構頒發(fā)的認證。
本文描述了醫療數據聚合器和發(fā)布者(QNX公司醫療演示)中的PPS消息傳送。QNX醫療演示(MD)在便攜式演示應用中整合了血壓計、肺活量計、脈搏氧飽和度儀、心電圖和胰島素泵。這些設備連接至QNX康體佳互通性管理器上,并利用QNX PPS消息傳送與Qt HMI進(jìn)行通信。PPS也為遠程管理器提供了消息傳送服務(wù),以確保與基于云的數據庫和便攜式平板電腦之間進(jìn)行安全互聯(lián)網(wǎng)通信。由于帶有PPS消息傳送功能的系統可以簡(jiǎn)易地整合不同的組件,我們可以得出結論:PPS消息傳送功能非常適用于像QNX MD應用之類(lèi)的系統。
圖1:QNX MD演示。
異步消息傳送
異步消息已眾所周知并得到廣泛應用,這里不再贅述。它是很多系統可選的解決方案,但其一些特性使它難以成為需要集成大量器件和軟件的系統的理想解決方案。
圖2:采用異步消息傳送,進(jìn)程無(wú)須等待目標接收進(jìn)程的回復。
對于復雜醫療設備的消息傳送模式,值得注意的是,異步消息傳送是一個(gè)低端的解決方案--它將錯誤處理、端到端語(yǔ)義和緩沖管理等負擔推高至應用程序級。因此,架構師在設計采用異步消息傳送模式的系統時(shí),必須開(kāi)發(fā)一個(gè)或多個(gè)協(xié)議,以確保在所有應用中消息傳送正確進(jìn)行,因為它們必須保證這些應用程序在高負載條件下能夠獲得足夠的內存分配用于消息緩沖。
在簡(jiǎn)單的系統中,完成這些任務(wù)可能不太費勁,但對于設計或升級復雜的系統,這些任務(wù)可能構成艱巨的挑戰。進(jìn)一步來(lái)說(shuō),它們給應用程序級或者應用開(kāi)發(fā)流程帶來(lái)的復雜操作不僅會(huì )影響設計和開(kāi)發(fā)進(jìn)程,也會(huì )影響設備的審批,進(jìn)而影響設備認證。
發(fā)送/接收/回復
發(fā)送/接收/回復(或者同步)消息傳送不如異步消息傳送那樣常見(jiàn)。它的重要性主要體現在實(shí)時(shí)環(huán)境中--許多進(jìn)程必須先響應其消息后才能繼續運行。此外,與異步消息傳送不同的是,采用發(fā)送/接收/回復消息傳送時(shí),系統框架會(huì )承受處理消息傳送錯誤和消息緩沖的負擔。
每個(gè)服務(wù)器都與其客戶(hù)端直接通信,而且必須知道如何響應所有的客戶(hù)端消息。
同步消息傳送密切聯(lián)系著(zhù)發(fā)送方和接收方,因此,更改一個(gè)軟件組件可能需要更改其他的軟件組件,這不僅延緩或阻礙了系統開(kāi)發(fā),還加劇了系統的脆弱性。
圖3:采用同步消息傳送,進(jìn)程阻塞直到它接收到從目標接收進(jìn)程發(fā)出的回復。
總之,如果采用發(fā)送/接收/回復消息傳送,當系統不斷擴展并增加不同組件時(shí),系統的復雜性會(huì )迅速加劇,變得不堪一擊,因此很難在確保性能和對醫療器械來(lái)說(shuō)極為重要的可靠性的同時(shí)進(jìn)行升級和擴展。
二進(jìn)制還是可讀對象?
系統可擴展性
利用PPS服務(wù),發(fā)布者與訂閱者之間并不認識;他們之間唯一的聯(lián)系是具有某種含義和用途的對象。這種消息傳送模式賦予了系統設計者極大的靈活性:如有必要,他們可以將關(guān)于模塊連接點(diǎn)和數據流的決策推遲到運行時(shí)間再做出。因為這些決定既非硬編碼,也沒(méi)有直接聯(lián)系,開(kāi)發(fā)人員可以根據實(shí)際情況或要求的變化改變決定,甚至還能在系統運行時(shí)動(dòng)態(tài)地更改決定。
松耦合PPS消息傳送模式還能簡(jiǎn)化新軟件組件的集成。由于發(fā)布者和訂閱者不必認識對方,增加組件的開(kāi)發(fā)人員只需要確定這些新組件的發(fā)布內容,以及他們需要其他PPS客戶(hù)端發(fā)布的數據內容。開(kāi)發(fā)人員無(wú)需精確地調整應用程序接口;系統復雜性不會(huì )隨組件的增加而加劇。
圖4:QNX MD視頻截圖。
醫療演示
作為QNX軟件系統公司開(kāi)展的醫療器械開(kāi)發(fā)計劃的一部分,運行QNX Neutrino RTOS的系統中設計和創(chuàng )建了QNX MD數據聚合和發(fā)布應用,以在便攜式醫療器械提供的有限的計算資源上運行。該應用利用基于康體佳標準的互通性管理器、PPS和用戶(hù)界面框架Qt創(chuàng )建的HMI,將一系列典型設備組合起來(lái)。
Qt和CESL
選擇Qt用戶(hù)界面和康體佳使能軟件庫(CESL)的互通性管理器是因為這兩種技術(shù)都在醫療器械行業(yè)享有盛譽(yù)。Qt在C++開(kāi)發(fā)環(huán)境中提供了一套明確定義的UI組件,并且有著(zhù)在獲得了FDA及其他規定認證的醫療器械上成功實(shí)現的悠久歷史。
圖5:帶有PPS消息傳送模式的QNX MD數據聚合和發(fā)布應用。需要注意,PPS為HMI和互通性管理器以及遠程管理器提供所有消息傳送。
Qt提供了打造符合嚴格設計要求的清晰、高效的用戶(hù)界面所需的所有組件,包括布局、分層和多媒體支持。與之類(lèi)似,康體佳軟件庫中的通信協(xié)議不僅提供了與完全不同的醫療器械進(jìn)行通信的簡(jiǎn)單方法,而且是一個(gè)早已在醫療器械中成功部署的標準化協(xié)議。簡(jiǎn)而言之,Qt和康體佳技術(shù)滿(mǎn)足所有需求,并且為醫療器械行業(yè)所熟知和信任。
簡(jiǎn)化的架構
QNX MD演示應用使用PPS服務(wù)的一個(gè)重要好處是松耦合的消息傳送模式可以實(shí)現靈活的架構。如果出于任何原因而必須要求這樣的改變,也僅需要極少量的工作來(lái)用另一個(gè)庫替代康體佳庫,或者替代HMI的Qt.
改變HMI技術(shù)無(wú)需改變互通性管理器或者遠程管理器,就像改變這些管理器不會(huì )要求改變HMI一樣。此外,PPS消息傳送模式也便于添加新的設備,可以利用標準的康體佳協(xié)議通過(guò)USB、藍牙甚至TCP將新的設備連接至系統。例如,僅需利用康體佳協(xié)議將一個(gè)EEG連接至互通性管理器,創(chuàng )建適當的PPS對象與數據庫、本地HMI和平板電腦上的遠程HMI交流數據,并在HMI中添加相關(guān)的顯示和控制功能,即可將該EEG添加到可行性論證模型中。
在使用其他消息傳送模式的系統中,組件彼此緊密聯(lián)系,也與人機界面密切聯(lián)系。每個(gè)組件都要了解需要與其交換數據的其他組件--在這種系統架構中更改或增加內容勢必會(huì )困難重重、耗費時(shí)間和充滿(mǎn)風(fēng)險。PPS消息傳送模式的另一個(gè)優(yōu)勢是它可以簡(jiǎn)化測試和功能安全驗證,因為增加新的組件無(wú)需重新訪(fǎng)問(wèn)其他所有組件之間的消息傳送。
最后,PPS消息傳送簡(jiǎn)化了品牌重塑、本地化和用戶(hù)界面更新。因為HMI通過(guò)PPS對象與系統的其余組件進(jìn)行通信,所以用戶(hù)界面設計者僅需確保新的或改變的HIMI所訂閱和發(fā)布的PPS對象與先前HMI的PPS對象相同。他們不需要改變HMI下面任一行代碼。在完全相同的基礎系統上,僅需通過(guò)不同的界面、實(shí)現不同的特性或者不同區域的不同HMI設計(例如支持不同的寫(xiě)入系統或不同的顏色偏好和意義),即可打造出各種產(chǎn)品系列。
圖6:QNX MD應用程序連接外部數據庫的高層視圖。
本文小結
QNX MD應用展現了PPS消息傳送可以如何應用于松耦合的醫療器械架構中。該設計實(shí)現了HMI和支持標準康體佳協(xié)議的互通性管理器之間靈活、強大的通信。這個(gè)互通性管理器還可與外部組件設備通信。由于組件僅僅根據實(shí)施需求來(lái)發(fā)布和訂閱PPS對象,他們不需要了解對方,因此不費吹灰之力就可以擴展或修改系統。實(shí)際上,PPS組件的松耦合架構使更改、升級和擴展任務(wù)變得更加輕松,從而減少了風(fēng)險。
PPS服務(wù)可設計成使用二進(jìn)制對象或可讀對象。
我們選擇將可讀對象和屬性用于QNX PPS,因為與較大對象的成本相比,其具有更大的開(kāi)發(fā)和調試優(yōu)勢。
可讀對象允許使用簡(jiǎn)單的文件系統工具從命令行進(jìn)行調試,比如cat命令用于訂閱,echo命令用于發(fā)布。
舉例來(lái)說(shuō):
cat /pps/media/PlayCurrent
cat /pps/media/.all?wait
或
echo attr::value》/pps/objectfilename
同樣,調試信息(包括PPS對象和屬性)能夠通過(guò)訂閱一個(gè)對象并打印出來(lái)的簡(jiǎn)單程序被檢索到。
持久發(fā)布/訂閱
對于實(shí)時(shí)操作系統(比如必須滿(mǎn)足嚴格的可靠性和可獲取性要求的QNX Neutrino RTOS)來(lái)說(shuō),發(fā)送/接收/回復消息傳送模式非常適用,甚至是有強制要求。但是,和異步消息傳送一樣,發(fā)送/接收/回復消息傳送也不是復雜系統的最佳選擇,特別是當這些系統必須輕松地集成不同的應用和功能時(shí)。發(fā)送/接收/回復消息傳送密切聯(lián)系著(zhù)發(fā)送方和接收方。
發(fā)布/訂閱已經(jīng)以各種形式存在了至少20年。1987年,K.P.Birman和T.A.Joseph將類(lèi)似的消息傳送模式(虛擬同步)描述為一種容錯的異步公告牌機制.
二十年前,北電網(wǎng)絡(luò )公司應用了一種類(lèi)似模型以在電話(huà)交換機(如DMS-100)上進(jìn)行故障監測,并使用了網(wǎng)絡(luò )監測和報告系統的技術(shù)。只要在網(wǎng)上快速搜索,就能找到許多發(fā)布/訂閱的應用實(shí)例。再深入搜索,還能在美國計算機協(xié)會(huì )(ACM)的門(mén)戶(hù)網(wǎng)站上找到幾百份與發(fā)布/訂閱的某些方面或其他觀(guān)察者模式計算模型有關(guān)的文章。
我們將重點(diǎn)介紹,在重啟時(shí)也能確保持續性的發(fā)布/訂閱模型或PPS如何能夠幫助不僅支持各種設備和軟件組件、而且能與復雜人機界面進(jìn)行通信的嵌入式應用程序進(jìn)行開(kāi)發(fā)和部署。
我們對QNX MD使用了基于Qt的HMI,但是PPS消息傳送模式的優(yōu)勢也可以應用于由其他技術(shù)建造的HMI.實(shí)際上,在其他系統上已經(jīng)應用了PPS,包括QNX CAR應用平臺和Smart Energy參考應用,這兩者都擁有基于A(yíng)dobe Flash的HMI.
基于對象的系統
PPS是在松耦合消息傳送架構中針對發(fā)布者和訂閱者提供的一種基于對象的服務(wù)。根據實(shí)現服務(wù)的需要,任何PPS服務(wù)客戶(hù)端都既可以是單獨的發(fā)布者或訂閱者,也可以既是發(fā)布者又是訂閱者。
發(fā)布以異步方式進(jìn)行。PPS對象集成在PPS文件系統的路徑名空間中。發(fā)布者可修改對象及其屬性并將其寫(xiě)入到文件系統中。當任何發(fā)布者更改對象時(shí),PPS服務(wù)都會(huì )通知訂閱該對象的所有客戶(hù)端。PPS客戶(hù)端能訂閱多個(gè)對象,PPS對象可以有多個(gè)發(fā)布者和多個(gè)訂閱者。因此,能訪(fǎng)問(wèn)應用到不同對象屬性的數據的發(fā)布者可使用相同對象與該對象的所有訂閱者交流信息。
PPS客戶(hù)端必須知道感興趣的是哪些PPS對象。如果是發(fā)布方,他們需要知道在什么時(shí)候發(fā)布什么消息;如果是訂閱者,他們需要知道訂閱的對象種類(lèi)和感興趣的對象屬性。然而,PPS客戶(hù)端不必管理錯誤,只需在使用open()、read()和write() POSIX API調用的范圍內緩沖,確認其理解讀取的內容以及是否希望讀取處于阻塞或非阻塞狀態(tài)。PPS服務(wù)會(huì )負責處理其他內容??蛻?hù)端只需要知道已讀取消息并且能分析讀取內容。同樣,由于PPS訂閱者使用read()調用檢索對象,他們無(wú)需管理這些對象的緩沖區。
推送還是提???
在默認狀態(tài)下,QNX PPS服務(wù)是作為推送式發(fā)布系統運行的;也就是說(shuō),發(fā)布者會(huì )將數據推送到對象中,訂閱者會(huì )根據通知或在閑暇時(shí)讀取數據。
但有些數據(如接口上的數據包計數)變化太快,因此無(wú)法通過(guò)使用默認推送發(fā)布的PPS有效地進(jìn)行發(fā)布。
為此,QNX PPS還提供了一種選項,允許訂閱者將PPS變成提取式發(fā)布系統。當訂閱者打開(kāi)具有該選項的對象并發(fā)出一個(gè)read()調用時(shí),該對象的所有發(fā)布者會(huì )收到一個(gè)通知以在對象中寫(xiě)入當前數據。訂閱者的讀取會(huì )一直阻塞直至對象的數據得到更新并返回新的數據。
助聽(tīng)器原理相關(guān)文章:助聽(tīng)器原理
評論