PPS消息傳送可簡化醫(yī)療設(shè)備設(shè)計-設(shè)計應(yīng)用_第1頁
PPS消息傳送可簡化醫(yī)療設(shè)備設(shè)計-設(shè)計應(yīng)用_第2頁
PPS消息傳送可簡化醫(yī)療設(shè)備設(shè)計-設(shè)計應(yīng)用_第3頁
PPS消息傳送可簡化醫(yī)療設(shè)備設(shè)計-設(shè)計應(yīng)用_第4頁
PPS消息傳送可簡化醫(yī)療設(shè)備設(shè)計-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯PPS消息傳送可簡化醫(yī)療設(shè)備設(shè)計-設(shè)計應(yīng)用一款電子醫(yī)療設(shè)備的設(shè)計、開發(fā)和上市準(zhǔn)備可能比擁有同等技術(shù)復(fù)雜度的消費級設(shè)備要花費更多的時間、努力和成本。除了一般的開發(fā)和審批需求,醫(yī)療器械還有嚴(yán)格的功能安全和要求。這些要求都意味著醫(yī)療器械擁有嚴(yán)格定義和管理的設(shè)計、開發(fā)和審批環(huán)境,并需要對功能安全進行廣泛和精細(xì)的驗證。

當(dāng)然,醫(yī)療器械在上市之前必須得到產(chǎn)品銷售地和使用地主管當(dāng)局的相關(guān),比如:FDA510(k)上市前通告、醫(yī)療器械指令(MDD)和其他國際和國家機構(gòu)頒發(fā)的。

本文描述了醫(yī)療數(shù)據(jù)聚合器和發(fā)布者(QNX公司醫(yī)療演示)中的PPS消息傳送。QNX醫(yī)療演示(MD)在便攜式演示應(yīng)用中整合了血壓計、肺活量計、脈搏氧飽和度儀、心電圖和胰島素泵。這些設(shè)備連接至QNX康體佳互通性管理器上,并利用QNXPPS消息傳送與QtHMI進行通信。PPS也為遠程管理器提供了消息傳送服務(wù),以確保與基于云的數(shù)據(jù)庫和便攜式平板電腦之間進行安全互聯(lián)網(wǎng)通信。由于帶有PPS消息傳送功能的系統(tǒng)可以簡易地整合不同的組件,我們可以得出結(jié)論:PPS消息傳送功能非常適用于像QNXMD應(yīng)用之類的系統(tǒng)。

圖1:QNXMD演示。

異步消息傳送

異步消息已眾所周知并得到廣泛應(yīng)用,這里不再贅述。它是很多系統(tǒng)可選的解決方案,但其一些特性使它難以成為需要集成大量器件和軟件的系統(tǒng)的理想解決方案。

圖2:采用異步消息傳送,進程無須等待目標(biāo)接收進程的回復(fù)。

對于復(fù)雜醫(yī)療設(shè)備的消息傳送模式,值得注意的是,異步消息傳送是一個低端的解決方案--它將錯誤處理、端到端語義和緩沖管理等負(fù)擔(dān)推高至應(yīng)用程序級。因此,架構(gòu)師在設(shè)計采用異步消息傳送模式的系統(tǒng)時,必須開發(fā)一個或多個協(xié)議,以確保在所有應(yīng)用中消息傳送正確進行,因為它們必須保證這些應(yīng)用程序在高負(fù)載條件下能夠獲得足夠的內(nèi)存分配用于消息緩沖。

在簡單的系統(tǒng)中,完成這些任務(wù)可能不太費勁,但對于設(shè)計或升級復(fù)雜的系統(tǒng),這些任務(wù)可能構(gòu)成艱巨的挑戰(zhàn)。進一步來說,它們給應(yīng)用程序級或者應(yīng)用開發(fā)流程帶來的復(fù)雜操作不僅會影響設(shè)計和開發(fā)進程,也會影響設(shè)備的審批,進而影響設(shè)備。

發(fā)送/接收/回復(fù)

發(fā)送/接收/回復(fù)(或者同步)消息傳送不如異步消息傳送那樣常見。它的重要性主要體現(xiàn)在實時環(huán)境中--許多進程必須先響應(yīng)其消息后才能繼續(xù)運行。此外,與異步消息傳送不同的是,采用發(fā)送/接收/回復(fù)消息傳送時,系統(tǒng)框架會承受處理消息傳送錯誤和消息緩沖的負(fù)擔(dān)。

每個服務(wù)器都與其客戶端直接通信,而且必須知道如何響應(yīng)所有的客戶端消息。

同步消息傳送密切聯(lián)系著發(fā)送方和接收方,因此,更改一個軟件組件可能需要更改其他的軟件組件,這不僅延緩或阻礙了系統(tǒng)開發(fā),還加劇了系統(tǒng)的脆弱性。

圖3:采用同步消息傳送,進程阻塞直到它接收到從目標(biāo)接收進程發(fā)出的回復(fù)。

總之,如果采用發(fā)送/接收/回復(fù)消息傳送,當(dāng)系統(tǒng)不斷擴展并增加不同組件時,系統(tǒng)的復(fù)雜性會迅速加劇,變得不堪一擊,因此很難在確保性能和對醫(yī)療器械來說極為重要的可靠性的同時進行升級和擴展。

二進制還是可讀對象?

PPS服務(wù)可設(shè)計成使用二進制對象或可讀對象。

我們選擇將可讀對象和屬性用于QNXPPS,因為與較大對象的成本相比,其具有更大的開發(fā)和調(diào)試優(yōu)勢。

可讀對象允許使用簡單的文件系統(tǒng)工具從命令行進行調(diào)試,比如cat命令用于訂閱,echo命令用于發(fā)布。

舉例來說:

cat/pps/media/PlayCurrent

cat/pps/media/.all?wait

echo"attr::value"》/pps/objectfilename

同樣,調(diào)試信息(包括PPS對象和屬性)能夠通過訂閱一個對象并打印出來的簡單程序被檢索到。

持久發(fā)布/訂閱

對于實時操作系統(tǒng)(比如必須滿足嚴(yán)格的可靠性和可獲取性要求的QNXNeutrinoRTOS)來說,發(fā)送/接收/回復(fù)消息傳送模式非常適用,甚至是有強制要求。但是,和異步消息傳送一樣,發(fā)送/接收/回復(fù)消息傳送也不是復(fù)雜系統(tǒng)的選擇,特別是當(dāng)這些系統(tǒng)必須輕松地集成不同的應(yīng)用和功能時。發(fā)送/接收/回復(fù)消息傳送密切聯(lián)系著發(fā)送方和接收方。

發(fā)布/訂閱已經(jīng)以各種形式存在了至少20年。1987年,K.P.Birman和T.A.Joseph將類似的消息傳送模式(虛擬同步)描述為"一種容錯的異步公告牌機制".

二十年前,北電網(wǎng)絡(luò)公司應(yīng)用了一種類似模型以在電話交換機(如DMS-100)上進行故障監(jiān)測,并使用了網(wǎng)絡(luò)監(jiān)測和系統(tǒng)的技術(shù)。只要在網(wǎng)上快速搜索,就能找到許多發(fā)布/訂閱的應(yīng)用實例。再深入搜索,還能在美國計算機協(xié)會(ACM)的門戶網(wǎng)站上找到幾百份與發(fā)布/訂閱的某些方面或其他觀察者模式計算模型有關(guān)的文章。

我們將重點介紹,在重啟時也能確保持續(xù)性的發(fā)布/訂閱模型或PPS如何能夠幫助不僅支持各種設(shè)備和軟件組件、而且能與復(fù)雜人機界面進行通信的嵌入式應(yīng)用程序進行開發(fā)和部署。

我們對QNXMD使用了基于Qt的HMI,但是PPS消息傳送模式的優(yōu)勢也可以應(yīng)用于由其他技術(shù)建造的HMI.實際上,在其他系統(tǒng)上已經(jīng)應(yīng)用了PPS,包括QNXCAR應(yīng)用平臺和SmartEnergy參考應(yīng)用,這兩者都擁有基于AdobeFlash的HMI.

基于對象的系統(tǒng)

PPS是在松耦合消息傳送架構(gòu)中針對發(fā)布者和訂閱者提供的一種基于對象的服務(wù)。根據(jù)實現(xiàn)服務(wù)的需要,任何PPS服務(wù)客戶端都既可以是單獨的發(fā)布者或訂閱者,也可以既是發(fā)布者又是訂閱者。

發(fā)布以異步方式進行。PPS對象集成在PPS文件系統(tǒng)的路徑名空間中。發(fā)布者可修改對象及其屬性并將其寫入到文件系統(tǒng)中。當(dāng)任何發(fā)布者更改對象時,PPS服務(wù)都會通知訂閱該對象的所有客戶端。PPS客戶端能訂閱多個對象,PPS對象可以有多個發(fā)布者和多個訂閱者。因此,能訪問應(yīng)用到不同對象屬性的數(shù)據(jù)的發(fā)布者可使用相同對象與該對象的所有訂閱者交流信息。

PPS客戶端必須知道感興趣的是哪些PPS對象。如果是發(fā)布方,他們需要知道在什么時候發(fā)布什么消息;如果是訂閱者,他們需要知道訂閱的對象種類和感興趣的對象屬性。然而,PPS客戶端不必管理錯誤,只需在使用open()、read()和write()POSIXAPI調(diào)用的范圍內(nèi)緩沖,確認(rèn)其理解讀取的內(nèi)容以及是否希望讀取處于阻塞或非阻塞狀態(tài)。PPS服務(wù)會負(fù)責(zé)處理其他內(nèi)容??蛻舳酥恍枰酪炎x取消息并且能分析讀取內(nèi)容。同樣,由于PPS訂閱者使用read()調(diào)用檢索對象,他們無需管理這些對象的緩沖區(qū)。

推送還是提取?

在默認(rèn)狀態(tài)下,QNXPPS服務(wù)是作為推送式發(fā)布系統(tǒng)運行的;也就是說,發(fā)布者會將數(shù)據(jù)推送到對象中,訂閱者會根據(jù)通知或在閑暇時讀取數(shù)據(jù)。

但有些數(shù)據(jù)(如接口上的數(shù)據(jù)包計數(shù))變化太快,因此無法通過使用默認(rèn)推送發(fā)布的PPS有效地進行發(fā)布。

為此,QNXPPS還提供了一種選項,允許訂閱者將PPS變成提取式發(fā)布系統(tǒng)。當(dāng)訂閱者打開具有該選項的對象并發(fā)出一個read()調(diào)用時,該對象的所有發(fā)布者會收到一個通知以在對象中寫入當(dāng)前數(shù)據(jù)。訂閱者的讀取會一直阻塞直至對象的數(shù)據(jù)得到更新并返回新的數(shù)據(jù)。

利用這種提取機制,PPS訂閱者能按其需要的速度向發(fā)布者檢索數(shù)據(jù),從而實現(xiàn)了真正意義上的按需發(fā)布。

語言獨立

PPS服務(wù)可以設(shè)計成使用標(biāo)準(zhǔn)POSIX文件系統(tǒng),并能與所有編程語言或應(yīng)用程序環(huán)境連用,包括C、C++、Java、Javascript、ksh腳本語言等。

以一種語言編寫的組件能與使用其他語言編寫的組件通信。無需具備其他組件的專門知識。

持久性

PPS服務(wù)可以在重啟時維護數(shù)據(jù)。它不僅能在運行時維護內(nèi)存中的對象,而且能在運行時按照需要或在關(guān)機時將對象保存到性存儲器中。它能在系統(tǒng)啟動時或在首次訪問(延遲加載)時恢復(fù)對象。當(dāng)然,底層性存儲器依賴于可靠的文件系統(tǒng)和存儲介質(zhì),如硬盤、NAND或NOR閃存或其他定制文件系統(tǒng)。

除了能在重啟時確保數(shù)據(jù)的持久性以外,PPS消息傳送模式還能簡化系統(tǒng)啟動。例如,在使用另一種消息傳送模式的系統(tǒng)中,如果客戶端緊隨服務(wù)器之后啟動,該客戶端必須向服務(wù)器請求數(shù)據(jù),以防在服務(wù)器和客戶端啟動之間的時間段內(nèi)發(fā)生某些變化。當(dāng)客戶端與服務(wù)器失去聯(lián)系(無論何種原因?qū)е拢r會發(fā)出這種請求,系統(tǒng)中所有的客戶端都會發(fā)出這樣的請求,而且服務(wù)器必須做出響應(yīng)。

采用PPS時,系統(tǒng)服務(wù)會在啟動時恢復(fù)對象并在其更改時進行維護。所有客戶端(無論何時啟動或者重新連接)只需讀取這些對象以獲取數(shù)據(jù)即可。

系統(tǒng)可擴展性

利用PPS服務(wù),發(fā)布者與訂閱者之間并不認(rèn)識;他們之間的聯(lián)系是具有某種含義和用途的對象。這種消息傳送模式賦予了系統(tǒng)設(shè)計者極大的靈活性:如有必要,他們可以將關(guān)于模塊連接點和數(shù)據(jù)流的決策推遲到運行時間再做出。因為這些決定既非硬編碼,也沒有直接聯(lián)系,開發(fā)人員可以根據(jù)實際情況或要求的變化改變決定,甚至還能在系統(tǒng)運行時動態(tài)地更改決定。

松耦合PPS消息傳送模式還能簡化新軟件組件的集成。由于發(fā)布者和訂閱者不必認(rèn)識對方,增加組件的開發(fā)人員只需要確定這些新組件的發(fā)布內(nèi)容,以及他們需要其他PPS客戶端發(fā)布的數(shù)據(jù)內(nèi)容。開發(fā)人員無需地調(diào)整應(yīng)用程序接口;系統(tǒng)復(fù)雜性不會隨組件的增加而加劇。

圖4:QNXMD視頻截圖。

醫(yī)療演示

作為QNX軟件系統(tǒng)公司開展的醫(yī)療器械開發(fā)計劃的一部分,運行QNXNeutrinoRTOS的系統(tǒng)中設(shè)計和創(chuàng)建了QNXMD數(shù)據(jù)聚合和發(fā)布應(yīng)用,以在便攜式醫(yī)療器械提供的有限的計算資源上運行。該應(yīng)用利用基于康體佳標(biāo)準(zhǔn)的互通性管理器、PPS和用戶界面框架Qt創(chuàng)建的HMI,將一系列典型設(shè)備組合起來。

Qt和CESL

選擇Qt用戶界面和康體佳使能軟件庫(CESL)的互通性管理器是因為這兩種技術(shù)都在醫(yī)療器械行業(yè)享有盛譽。Qt在C++開發(fā)環(huán)境中提供了一套明確定義的UI組件,并且有著在獲得了FDA及其他規(guī)定的醫(yī)療器械上成功實現(xiàn)的悠久歷史。

圖5:帶有PPS消息傳送模式的QNXMD數(shù)據(jù)聚合和發(fā)布應(yīng)用。需要注意,PPS為HMI和互通性管理器以及遠程管理器提供所有消息傳送。

Qt提供了打造符合嚴(yán)格設(shè)計要求的清晰、高效的用戶界面所需的所有組件,包括布局、分層和多媒體支持。與之類似,康體佳軟件庫中的通信協(xié)議不僅提供了與完全不同的醫(yī)療器械進行通信的簡單方法,而且是一個早已在醫(yī)療器械中成功部署的標(biāo)準(zhǔn)化協(xié)議。簡而言之,Qt和康體佳技術(shù)滿足所有需求,并且為醫(yī)療器械行業(yè)所熟知和信任。

簡化的架構(gòu)

QNXMD演示應(yīng)用使用PPS服務(wù)的一個重要好處是松耦合的消息傳送模式可以實現(xiàn)靈活的架構(gòu)。如果出于任何原因而必須要求這樣的改變,也僅需要極少量的工作來用另一個庫替代康體佳庫,或者替代HMI的Qt.

改變HMI技術(shù)無需改變互通性管理器或者遠程管理器,就像改變這些管理器不會要求改變HMI一樣。此外,PPS消息傳送模式也便于添加新的設(shè)備,可以利用標(biāo)準(zhǔn)的康體佳協(xié)議通過USB、藍牙甚至TCP將新的設(shè)備連接至系統(tǒng)。例如,僅需利用康體佳協(xié)議將一個EEG連接至互通性管理器,創(chuàng)建適當(dāng)?shù)腜PS對象與數(shù)據(jù)庫、本地HMI和平板電腦上的遠程HMI交流數(shù)據(jù),并在HMI中添加相關(guān)的顯示和控制功能,即可將該EEG添加到可行性論證模型中。

在使用其他消息傳送模式的系統(tǒng)中,組件彼此緊密聯(lián)系,也與人機界面密切聯(lián)系。每個組件都要了解需要與其交換數(shù)據(jù)的其他組件--在這種系統(tǒng)架構(gòu)中更改或增加內(nèi)容勢必會困難重重、耗費時間和充滿風(fēng)險。PPS消息傳送模式的另一個優(yōu)勢是它可以簡化測試和功能安全驗證,因為增加新的組件無需重新訪問其他所有組件之間的消息傳送。

,PPS消息傳送簡化了品牌重塑、本地化和用戶界面更新。因為HMI通過PPS對象與系統(tǒng)的其余組件進行通信,所以用戶界面設(shè)計者僅需確保新的或改變的HIMI所訂閱和發(fā)布的PPS對象與先前HMI的PPS對象相同。他們不需要改變HMI下面任一行代碼。在完全相同的基礎(chǔ)系統(tǒng)上,僅需通過不同的界面、實現(xiàn)不同的特性或者不同區(qū)域的不同HMI設(shè)計(例如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論