999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于組件化思想的測控軟件開發平臺設計與實現

2013-09-25 14:13:06趙海源王麗芳蔣澤軍
電子設計工程 2013年8期
關鍵詞:功能

趙海源,王麗芳,蔣澤軍

(西北工業大學 計算機學院,陜西 西安 710129)

隨著計算機在各個領域的廣泛應用,種類繁多的控制設備和過程監控裝置使得傳統的測控軟件已無法滿足用戶的各種需求。開發傳統的測控軟件時,當被控對象一旦有變動,就必須修改其控制系統的源程序,導致其開發周期長;已開發成功的測控軟件又由于每個控制項目的不同而使其重復使用率很低,導致它的價格非常昂貴;在修改測控軟件的源程序時,倘若原來的編程人員因工作變動而離去時,則必須同其他人員或新手進行源程序的修改,因而更是相當困難。基于構件[1]技術的測控軟件開發平臺的出現為解決上述實際工程問題提供了一種嶄新的方法,因為它能夠很好地解決傳統測控軟件存在的種種問題,使用戶能根據自己的控制對象和控制目的的任意組態[2](Configuration),完成最終的自動化控制工程。具體地說,測控軟件開發平臺是為測控軟件開發、調試和運行提供的集成環境;利用該平臺可靈活配置硬件測試資源,以可視化的方式配置測試流程,并加載硬件接口的驅動程序從而自動生成測控軟件。

1 基于組件化思想的測控軟件開發平臺概述

隨著近幾年Internet的飛速發展,使軟件應用置身于更加廣闊的環境中,從而對應用軟件的跨語言、跨平臺和互操作性提出了更高的要求。在這種情況下,傳統的面向對象[3]思想難以適應現代的分布式軟件應用[4],組件化思想應運而生。組件化思想使得設計人員在軟件設計過程中更傾向于將功能從主程序中剝離出來,封裝在獨立的模塊中。

組件化設計的基本思想是將單獨的、龐大而復雜的應用程序劃分成多個模塊,但這里每一個模塊不再是一個簡單的代碼集,而是一個自給自足的組件,每個組件保持一定的功能獨立性,在協同工作時,通過相互之間的接口完成實際的任務;這些組件可以單獨開發,單獨編譯,甚至單獨調試和測試,當所有的組件開發完成后,把它們組合在一起就得到了完整的應用系統。當系統的軟硬件環境發生變化或者用戶的需求有所更改時,并不需要對所有的組件進行修改,而只需對受影響的組件進行修改,然后重新組合得到新的升級軟件測控軟件開發平臺基于組件化思想,發布訂閱機制、虛擬共享內存等技術,開發人員只需要關注測控邏輯的開發,而不用過多地關注程序語言本身相關的知識和技術,即使是對程序設計了解較少的工程人員,也可以快速地將測控領域的知識和技術應用在測控軟件的開發中,并在短時間內形成軟件產品。測控軟件通用開發平臺能通過可視化的流程設計,構建出與之相適應的測控軟件源碼、工程文件和安裝文件。基于組件化思想的“測控軟件通用開發平臺”是標準化和規模化的通用測控開發軟件,利用該平臺中的標準功能組件可以實現組件管理、測控軟件的組裝、雙視圖界面的效果模擬、硬件資源管理、二次開發(平臺的擴展、測控軟件的升級)、ActiveX和COM封裝與集成等功能。

2 基于組件化思想的測控軟件開發平臺設計

測控軟件通用開發平臺基于組件化設計思想,平臺具有通用性和擴展性。測控軟件通用開發平臺的框架主要實現測控軟件的開發,以及平臺的管理功能。為了支持平臺的擴展性,實現了平臺的擴展機制,包括組件的擴展和組件的調試。測控軟件通用開發平臺的框架與擴展圖如圖1所示。

圖1 開發平臺的框架與擴展Fig.1 Framework of the development platform and extend

測控軟件通用開發平臺的任務是實現測控軟件的開發,主要通過組態設計和系統發布功能完成。組態設計包含使用平臺拖放式組件在雙視圖界面中對測控軟件流程進行設計。系統發布通過所完成的組態設計,實現組件的順序組裝,生成VC工程并進行打包,系統發布預留了編輯腳本的接口,提供開發人員編輯腳本控制測控軟件的功能。

測控軟件通用開發平臺的管理功能包含安全管理、日志管理、組件管理及資源管理。通過對平臺的管理為平臺對測控軟件開發提供支持。測控軟件通用開發平臺具有可擴展性,通過提供組件開發向導的功能,為平臺提供ActiveX組件和COM組件的擴展,將非平臺原有組件封裝成平臺自身的組件,并且擴展組件時,通過組件調試保證組件擴展的可用性。測控軟件通用開發平臺啟動平臺框架,動態加載軟件平臺下的所有組件。當測控軟件開發人員對平臺進行操作時,軟件平臺框架根據操作的信息實例化不同的組件對操作進行相應,其時序圖如圖2所示。

圖2 時序圖Fig.2 Timing diagram

3 主體框架的設計實現

軟件平臺的框架是一個通用的可獨立運行的程序,定義了軟件平臺的接口規范,可自動加載符合軟件平臺接口規范的組件,是整個軟件平臺的基礎和主干,其主要作用有:

1)負責啟動整個軟件平臺和注冊組件:軟件平臺啟動后初始化窗體界面和組件管理器(ComponenetManager),掃描組件目錄,完成組件的注冊,并保存組件信息;

2)負責管理組件:完成組件接口的初始化,加載和卸載組件,并處理軟件平臺異常;

3)負責向外界提供使用組件功能的界面(如菜單、工具欄等),通過規范接口調用工廠類組件實例化功能組件。工廠類組件是框架實例化功能組件的入口,為框架提供功能組件的相關信息,并根據需要實例化相應的功能組件。

軟件平臺框架為組件的實現和擴展提供了一系列基礎接口,并制定組件的開發規范,簡化了后期組件的開發和擴展。軟件平臺框架和組件接口間的類關系如圖3所示。組件可分為顯示類組件和不可顯示類組件:不可顯示類組件主要包括管理和控制軟件平臺的組件;顯示類組件具有界面視圖,主要包括窗口管理類組件、雙視圖類組件、界面視圖類組件、組態視圖類組件。開發組件時,開發人員根據組件的特性,繼承相應的基礎接口。例如具有雙視圖的組件繼承Doubleview Component接口,具有界面視圖的組件繼承Face Plate Component接口,具有組態視圖的組件繼承Link View Component接口。開發人員無需關心平臺底層的特性,只需繼承相應接口類,結合組件的特定需求即可開發符合軟件平臺接口規范的組件。按照軟件平臺框架所定義的接口規范進行組件的開發,封裝組件的功能,提高組件的開發效率。

圖3 靜態類圖Fig.3 Static class diagram

4 組件設計

4.1 組件模型

軟件平臺中的組件是針對測控領域開發的一系列相關功能的集合體,組件本身具有良好的擴展性和復用性。組件包含一個工廠[5]類組件以及一個或多個功能組件,通常被封裝在同一個動態鏈接庫中。軟件平臺啟動時自動掃描組件目錄,并將可用組件注冊到框架中。組件的工廠類組件為組件提供與框架交互的接口,是組件實例化的入口。組件的結構圖如4所示。

圖4 組件結構圖Fig.4 Diagram of component structure

基礎組件與功能組件的劃分:

軟件平臺中的組件包括基礎組件和功能組件。基礎組件在軟件平臺啟動時由框架自動加載,僅實例化一次,初始化軟件的界面和基本功能;基礎組件包括Editpanel組件、生成/打包組件、硬件管理組件、日志記錄組件。功能組件輔助軟件平臺實現開發測控軟件流程中所需的具體功能,軟件平臺不會自動加載功能組件,需開發人員在使用組件時可將其實例化,并可實例化多次;功能組件包括分

級組件、調試組件、流程控制組件、分布式通信組件、算法組件、腳本組件、數據存儲組件、顯示組件、加密解密組件。

功能組件是組件內部實現的具有單一功能的程序,由工廠類組件接口實例化,并由軟件平臺框架調用。啟動軟件平臺后,自動掃描組件目錄,調用LoadPlugIn接口加載組件。組件中的工廠類組件實例化后,調用Register接口將功能組件注冊在組件注冊表中。

4.2 組件通信機制

軟件平臺中的組件間通信包括數據交換和消息[6]傳遞兩部分。

1)數據交換

組件間的數據交換采用端口機制實現。端口定義了數據流的信息,包括端口號、端口在組件圖示內的位置、端口傳輸數據類型、端口輸入輸出類型、端口接收或發送的數據值。開發人員可通過擴展和自定義端口的數據類型完成批量數據的傳輸。軟件平臺使用強類型轉換機制,開發人員進行組態時,需保證接收端口的輸入數據類型與發送端口的輸出數據類型匹配,否則無法在端口間連線完成組件間通信。軟件平臺在組態設計階段完成端口匹配的工作,避免了開發人員因疏忽出現的錯誤,簡化了組態的設計和調試,提高了組態運行時的穩定性。

2)消息傳遞

軟件平臺采用消息捕獲機制和發布-訂閱機制[7]共同完成組件間消息的傳遞。組件捕獲軟件平臺發布的所有消息,并對訂閱的消息做出相應處理,同時繼續向下分發其它消息。組件間采用notify接口與report接口共同實現消息的發布-訂閱機制,對發布訂閱機制的描述如圖5所示。軟件平臺根據對消息的解析結果,將組件B和組件C注冊到組件A上,一個組件可注冊到多個組件上,實現消息的傳遞與控制。

軟件平臺根據對消息的解析,調用attach函數將組件B和組件C加入到組件A的notify鏈表中,并將組件A加入到組件B及組件C的report鏈表中。軟件平臺采用雙向記錄方式,使用report鏈表記錄組件注冊的對象,使用notify鏈表記錄注冊到該組件之上的其它組件,共同實現組件的注冊過程。

圖5 平臺通信機制Fig.5 Platform communication mechanism

組件觸發事件時,將事件封裝為XML格式的消息,查詢report和notify鏈表,將變化的事件發布到鏈表上的所有組件,軟件平臺默認組件接受所有類型的事件。

5 結 論

測控軟件開發平臺采用組件化的設計思想。使用組件化編程思想提高了組件的復用率,縮短了開發周期,降低了開發成本,提高了開發效率。組件化的設計思想使得測控軟件開發平臺的通用性、可移植性、可擴展性和開發效率均得到有效提高,使得測控軟件通用開發平臺具有可靠性和易用性,并具有二次開發功能。

[1]張強,周榮輝.com和.net構件模型[J].教育信息化,2006(3):36-38.

ZHANG Qiang,ZHOU Rong-Hui.com and.net component model[J].Education information,2006(3):36-38.

[2]YIN Fei,DING Wei-ming.Patterns research in the design of configuration software[J].Computer Measurement and Control,2005,13(3):298-300.

[3]Piccioni M,Oriol M,Meyer B,et al.An idebased, integrated solution to schema evolution of objected software[J].ASE,2009(5):650-654.

[4]金敏,周翔.高級軟件開發過程[M].北京:清華大學出版社,2005.

[5]Erich Gama,Richard Helm,Ralph Johnson,等.設計模式:可復用面向對象軟件的基礎[M].李英軍,馬曉星,蔡敏,等譯.機械工業出版社,2007.

[6]姚啟鵬.基于消息中間件應用框架的研究[J].計算機與現代化,2006(135):84-87.

YAO Qi-Peng.Research on MOM’s application framwork[J].Jisuanji yu Xiandaihua,2006(135):84-87.

[7]Behnel S,Fiege L,Muhl G.On quality of service and publish-subscribe.In:Proe.of the 26th IEEE Int’t Conf.on distributed computing systems workshops[J].Lisboa:IEEE,2006(137):20-25.

猜你喜歡
功能
拆解復雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關系
鉗把功能創新實踐應用
關于非首都功能疏解的幾點思考
基于PMC窗口功能實現設備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 亚洲人妖在线| 激情视频综合网| 99视频在线免费| 激情无码字幕综合| 青青草91视频| 99视频免费观看| 成人小视频在线观看免费| 国产欧美网站| 日韩高清无码免费| 亚洲欧美日韩综合二区三区| 亚洲人成网18禁| 国产黄在线观看| 国产91麻豆免费观看| 国产微拍精品| 成人午夜网址| 国产自视频| 青草视频免费在线观看| 日韩美一区二区| 在线观看视频一区二区| 手机精品视频在线观看免费| 97精品伊人久久大香线蕉| 久久久久久久久亚洲精品| 国产精品无码一区二区桃花视频| 精品视频一区二区观看| 欧美性久久久久| 国内精品小视频福利网址| 国产精彩视频在线观看| 亚洲AV色香蕉一区二区| 亚洲视频欧美不卡| 日韩欧美国产中文| 亚洲成人网在线播放| 亚洲精品成人片在线观看| 91娇喘视频| 久久中文无码精品| 啪啪国产视频| 伦精品一区二区三区视频| 青青草久久伊人| 日韩精品亚洲人旧成在线| 日本欧美一二三区色视频| 亚洲视频在线网| 国产理论精品| AV片亚洲国产男人的天堂| 欧美精品亚洲精品日韩专| 18禁高潮出水呻吟娇喘蜜芽| 欧美日韩专区| 在线播放精品一区二区啪视频| 伊人久久婷婷五月综合97色| 国产精品无码一二三视频| 欧美日韩亚洲国产| 粗大猛烈进出高潮视频无码| 久草美女视频| 狠狠色丁婷婷综合久久| 最新痴汉在线无码AV| 亚洲高清无码精品| 男女男精品视频| 国产欧美日韩另类精彩视频| 好紧太爽了视频免费无码| 一本久道热中字伊人| 日日摸夜夜爽无码| 欧美视频在线播放观看免费福利资源| 欧美亚洲国产精品久久蜜芽| 日韩a级毛片| 中文字幕中文字字幕码一二区| 99久久免费精品特色大片| 一区二区三区国产精品视频| 二级毛片免费观看全程| 青青青视频蜜桃一区二区| 国产精品福利社| 91久草视频| 欧美成人一级| 找国产毛片看| 国产成人凹凸视频在线| AV片亚洲国产男人的天堂| 亚洲人网站| 国产成人精品亚洲77美色| 天天躁日日躁狠狠躁中文字幕| 国产自在线播放| 国产91无毒不卡在线观看| 麻豆国产在线观看一区二区| 粗大猛烈进出高潮视频无码| 日本精品视频一区二区 | 青青草欧美|