• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于組件化思想的測(cè)控軟件開(kāi)發(fā)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

      2013-09-25 14:13:06趙海源王麗芳蔣澤軍
      電子設(shè)計(jì)工程 2013年8期
      關(guān)鍵詞:開(kāi)發(fā)人員測(cè)控視圖

      趙海源,王麗芳,蔣澤軍

      (西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710129)

      隨著計(jì)算機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,種類繁多的控制設(shè)備和過(guò)程監(jiān)控裝置使得傳統(tǒng)的測(cè)控軟件已無(wú)法滿足用戶的各種需求。開(kāi)發(fā)傳統(tǒng)的測(cè)控軟件時(shí),當(dāng)被控對(duì)象一旦有變動(dòng),就必須修改其控制系統(tǒng)的源程序,導(dǎo)致其開(kāi)發(fā)周期長(zhǎng);已開(kāi)發(fā)成功的測(cè)控軟件又由于每個(gè)控制項(xiàng)目的不同而使其重復(fù)使用率很低,導(dǎo)致它的價(jià)格非常昂貴;在修改測(cè)控軟件的源程序時(shí),倘若原來(lái)的編程人員因工作變動(dòng)而離去時(shí),則必須同其他人員或新手進(jìn)行源程序的修改,因而更是相當(dāng)困難。基于構(gòu)件[1]技術(shù)的測(cè)控軟件開(kāi)發(fā)平臺(tái)的出現(xiàn)為解決上述實(shí)際工程問(wèn)題提供了一種嶄新的方法,因?yàn)樗軌蚝芎玫亟鉀Q傳統(tǒng)測(cè)控軟件存在的種種問(wèn)題,使用戶能根據(jù)自己的控制對(duì)象和控制目的的任意組態(tài)[2](Configuration),完成最終的自動(dòng)化控制工程。具體地說(shuō),測(cè)控軟件開(kāi)發(fā)平臺(tái)是為測(cè)控軟件開(kāi)發(fā)、調(diào)試和運(yùn)行提供的集成環(huán)境;利用該平臺(tái)可靈活配置硬件測(cè)試資源,以可視化的方式配置測(cè)試流程,并加載硬件接口的驅(qū)動(dòng)程序從而自動(dòng)生成測(cè)控軟件。

      1 基于組件化思想的測(cè)控軟件開(kāi)發(fā)平臺(tái)概述

      隨著近幾年Internet的飛速發(fā)展,使軟件應(yīng)用置身于更加廣闊的環(huán)境中,從而對(duì)應(yīng)用軟件的跨語(yǔ)言、跨平臺(tái)和互操作性提出了更高的要求。在這種情況下,傳統(tǒng)的面向?qū)ο骩3]思想難以適應(yīng)現(xiàn)代的分布式軟件應(yīng)用[4],組件化思想應(yīng)運(yùn)而生。組件化思想使得設(shè)計(jì)人員在軟件設(shè)計(jì)過(guò)程中更傾向于將功能從主程序中剝離出來(lái),封裝在獨(dú)立的模塊中。

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

      2 基于組件化思想的測(cè)控軟件開(kāi)發(fā)平臺(tái)設(shè)計(jì)

      測(cè)控軟件通用開(kāi)發(fā)平臺(tái)基于組件化設(shè)計(jì)思想,平臺(tái)具有通用性和擴(kuò)展性。測(cè)控軟件通用開(kāi)發(fā)平臺(tái)的框架主要實(shí)現(xiàn)測(cè)控軟件的開(kāi)發(fā),以及平臺(tái)的管理功能。為了支持平臺(tái)的擴(kuò)展性,實(shí)現(xiàn)了平臺(tái)的擴(kuò)展機(jī)制,包括組件的擴(kuò)展和組件的調(diào)試。測(cè)控軟件通用開(kāi)發(fā)平臺(tái)的框架與擴(kuò)展圖如圖1所示。

      圖1 開(kāi)發(fā)平臺(tái)的框架與擴(kuò)展Fig.1 Framework of the development platform and extend

      測(cè)控軟件通用開(kāi)發(fā)平臺(tái)的任務(wù)是實(shí)現(xiàn)測(cè)控軟件的開(kāi)發(fā),主要通過(guò)組態(tài)設(shè)計(jì)和系統(tǒng)發(fā)布功能完成。組態(tài)設(shè)計(jì)包含使用平臺(tái)拖放式組件在雙視圖界面中對(duì)測(cè)控軟件流程進(jìn)行設(shè)計(jì)。系統(tǒng)發(fā)布通過(guò)所完成的組態(tài)設(shè)計(jì),實(shí)現(xiàn)組件的順序組裝,生成VC工程并進(jìn)行打包,系統(tǒng)發(fā)布預(yù)留了編輯腳本的接口,提供開(kāi)發(fā)人員編輯腳本控制測(cè)控軟件的功能。

      測(cè)控軟件通用開(kāi)發(fā)平臺(tái)的管理功能包含安全管理、日志管理、組件管理及資源管理。通過(guò)對(duì)平臺(tái)的管理為平臺(tái)對(duì)測(cè)控軟件開(kāi)發(fā)提供支持。測(cè)控軟件通用開(kāi)發(fā)平臺(tái)具有可擴(kuò)展性,通過(guò)提供組件開(kāi)發(fā)向?qū)У墓δ?,為平臺(tái)提供ActiveX組件和COM組件的擴(kuò)展,將非平臺(tái)原有組件封裝成平臺(tái)自身的組件,并且擴(kuò)展組件時(shí),通過(guò)組件調(diào)試保證組件擴(kuò)展的可用性。測(cè)控軟件通用開(kāi)發(fā)平臺(tái)啟動(dòng)平臺(tái)框架,動(dòng)態(tài)加載軟件平臺(tái)下的所有組件。當(dāng)測(cè)控軟件開(kāi)發(fā)人員對(duì)平臺(tái)進(jìn)行操作時(shí),軟件平臺(tái)框架根據(jù)操作的信息實(shí)例化不同的組件對(duì)操作進(jìn)行相應(yīng),其時(shí)序圖如圖2所示。

      圖2 時(shí)序圖Fig.2 Timing diagram

      3 主體框架的設(shè)計(jì)實(shí)現(xiàn)

      軟件平臺(tái)的框架是一個(gè)通用的可獨(dú)立運(yùn)行的程序,定義了軟件平臺(tái)的接口規(guī)范,可自動(dòng)加載符合軟件平臺(tái)接口規(guī)范的組件,是整個(gè)軟件平臺(tái)的基礎(chǔ)和主干,其主要作用有:

      1)負(fù)責(zé)啟動(dòng)整個(gè)軟件平臺(tái)和注冊(cè)組件:軟件平臺(tái)啟動(dòng)后初始化窗體界面和組件管理器(ComponenetManager),掃描組件目錄,完成組件的注冊(cè),并保存組件信息;

      2)負(fù)責(zé)管理組件:完成組件接口的初始化,加載和卸載組件,并處理軟件平臺(tái)異常;

      3)負(fù)責(zé)向外界提供使用組件功能的界面(如菜單、工具欄等),通過(guò)規(guī)范接口調(diào)用工廠類組件實(shí)例化功能組件。工廠類組件是框架實(shí)例化功能組件的入口,為框架提供功能組件的相關(guān)信息,并根據(jù)需要實(shí)例化相應(yīng)的功能組件。

      軟件平臺(tái)框架為組件的實(shí)現(xiàn)和擴(kuò)展提供了一系列基礎(chǔ)接口,并制定組件的開(kāi)發(fā)規(guī)范,簡(jiǎn)化了后期組件的開(kāi)發(fā)和擴(kuò)展。軟件平臺(tái)框架和組件接口間的類關(guān)系如圖3所示。組件可分為顯示類組件和不可顯示類組件:不可顯示類組件主要包括管理和控制軟件平臺(tái)的組件;顯示類組件具有界面視圖,主要包括窗口管理類組件、雙視圖類組件、界面視圖類組件、組態(tài)視圖類組件。開(kāi)發(fā)組件時(shí),開(kāi)發(fā)人員根據(jù)組件的特性,繼承相應(yīng)的基礎(chǔ)接口。例如具有雙視圖的組件繼承Doubleview Component接口,具有界面視圖的組件繼承Face Plate Component接口,具有組態(tài)視圖的組件繼承Link View Component接口。開(kāi)發(fā)人員無(wú)需關(guān)心平臺(tái)底層的特性,只需繼承相應(yīng)接口類,結(jié)合組件的特定需求即可開(kāi)發(fā)符合軟件平臺(tái)接口規(guī)范的組件。按照軟件平臺(tái)框架所定義的接口規(guī)范進(jìn)行組件的開(kāi)發(fā),封裝組件的功能,提高組件的開(kāi)發(fā)效率。

      圖3 靜態(tài)類圖Fig.3 Static class diagram

      4 組件設(shè)計(jì)

      4.1 組件模型

      軟件平臺(tái)中的組件是針對(duì)測(cè)控領(lǐng)域開(kāi)發(fā)的一系列相關(guān)功能的集合體,組件本身具有良好的擴(kuò)展性和復(fù)用性。組件包含一個(gè)工廠[5]類組件以及一個(gè)或多個(gè)功能組件,通常被封裝在同一個(gè)動(dòng)態(tài)鏈接庫(kù)中。軟件平臺(tái)啟動(dòng)時(shí)自動(dòng)掃描組件目錄,并將可用組件注冊(cè)到框架中。組件的工廠類組件為組件提供與框架交互的接口,是組件實(shí)例化的入口。組件的結(jié)構(gòu)圖如4所示。

      圖4 組件結(jié)構(gòu)圖Fig.4 Diagram of component structure

      基礎(chǔ)組件與功能組件的劃分:

      軟件平臺(tái)中的組件包括基礎(chǔ)組件和功能組件?;A(chǔ)組件在軟件平臺(tái)啟動(dòng)時(shí)由框架自動(dòng)加載,僅實(shí)例化一次,初始化軟件的界面和基本功能;基礎(chǔ)組件包括Editpanel組件、生成/打包組件、硬件管理組件、日志記錄組件。功能組件輔助軟件平臺(tái)實(shí)現(xiàn)開(kāi)發(fā)測(cè)控軟件流程中所需的具體功能,軟件平臺(tái)不會(huì)自動(dòng)加載功能組件,需開(kāi)發(fā)人員在使用組件時(shí)可將其實(shí)例化,并可實(shí)例化多次;功能組件包括分

      級(jí)組件、調(diào)試組件、流程控制組件、分布式通信組件、算法組件、腳本組件、數(shù)據(jù)存儲(chǔ)組件、顯示組件、加密解密組件。

      功能組件是組件內(nèi)部實(shí)現(xiàn)的具有單一功能的程序,由工廠類組件接口實(shí)例化,并由軟件平臺(tái)框架調(diào)用。啟動(dòng)軟件平臺(tái)后,自動(dòng)掃描組件目錄,調(diào)用LoadPlugIn接口加載組件。組件中的工廠類組件實(shí)例化后,調(diào)用Register接口將功能組件注冊(cè)在組件注冊(cè)表中。

      4.2 組件通信機(jī)制

      軟件平臺(tái)中的組件間通信包括數(shù)據(jù)交換和消息[6]傳遞兩部分。

      1)數(shù)據(jù)交換

      組件間的數(shù)據(jù)交換采用端口機(jī)制實(shí)現(xiàn)。端口定義了數(shù)據(jù)流的信息,包括端口號(hào)、端口在組件圖示內(nèi)的位置、端口傳輸數(shù)據(jù)類型、端口輸入輸出類型、端口接收或發(fā)送的數(shù)據(jù)值。開(kāi)發(fā)人員可通過(guò)擴(kuò)展和自定義端口的數(shù)據(jù)類型完成批量數(shù)據(jù)的傳輸。軟件平臺(tái)使用強(qiáng)類型轉(zhuǎn)換機(jī)制,開(kāi)發(fā)人員進(jìn)行組態(tài)時(shí),需保證接收端口的輸入數(shù)據(jù)類型與發(fā)送端口的輸出數(shù)據(jù)類型匹配,否則無(wú)法在端口間連線完成組件間通信。軟件平臺(tái)在組態(tài)設(shè)計(jì)階段完成端口匹配的工作,避免了開(kāi)發(fā)人員因疏忽出現(xiàn)的錯(cuò)誤,簡(jiǎn)化了組態(tài)的設(shè)計(jì)和調(diào)試,提高了組態(tài)運(yùn)行時(shí)的穩(wěn)定性。

      2)消息傳遞

      軟件平臺(tái)采用消息捕獲機(jī)制和發(fā)布-訂閱機(jī)制[7]共同完成組件間消息的傳遞。組件捕獲軟件平臺(tái)發(fā)布的所有消息,并對(duì)訂閱的消息做出相應(yīng)處理,同時(shí)繼續(xù)向下分發(fā)其它消息。組件間采用notify接口與report接口共同實(shí)現(xiàn)消息的發(fā)布-訂閱機(jī)制,對(duì)發(fā)布訂閱機(jī)制的描述如圖5所示。軟件平臺(tái)根據(jù)對(duì)消息的解析結(jié)果,將組件B和組件C注冊(cè)到組件A上,一個(gè)組件可注冊(cè)到多個(gè)組件上,實(shí)現(xiàn)消息的傳遞與控制。

      軟件平臺(tái)根據(jù)對(duì)消息的解析,調(diào)用attach函數(shù)將組件B和組件C加入到組件A的notify鏈表中,并將組件A加入到組件B及組件C的report鏈表中。軟件平臺(tái)采用雙向記錄方式,使用report鏈表記錄組件注冊(cè)的對(duì)象,使用notify鏈表記錄注冊(cè)到該組件之上的其它組件,共同實(shí)現(xiàn)組件的注冊(cè)過(guò)程。

      圖5 平臺(tái)通信機(jī)制Fig.5 Platform communication mechanism

      組件觸發(fā)事件時(shí),將事件封裝為XML格式的消息,查詢r(jià)eport和notify鏈表,將變化的事件發(fā)布到鏈表上的所有組件,軟件平臺(tái)默認(rèn)組件接受所有類型的事件。

      5 結(jié) 論

      測(cè)控軟件開(kāi)發(fā)平臺(tái)采用組件化的設(shè)計(jì)思想。使用組件化編程思想提高了組件的復(fù)用率,縮短了開(kāi)發(fā)周期,降低了開(kāi)發(fā)成本,提高了開(kāi)發(fā)效率。組件化的設(shè)計(jì)思想使得測(cè)控軟件開(kāi)發(fā)平臺(tái)的通用性、可移植性、可擴(kuò)展性和開(kāi)發(fā)效率均得到有效提高,使得測(cè)控軟件通用開(kāi)發(fā)平臺(tái)具有可靠性和易用性,并具有二次開(kāi)發(fā)功能。

      [1]張強(qiáng),周榮輝.com和.net構(gòu)件模型[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]金敏,周翔.高級(jí)軟件開(kāi)發(fā)過(guò)程[M].北京:清華大學(xué)出版社,2005.

      [5]Erich Gama,Richard Helm,Ralph Johnson,等.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].李英軍,馬曉星,蔡敏,等譯.機(jī)械工業(yè)出版社,2007.

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

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

      [7]Behnel S,F(xiàn)iege 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.

      猜你喜歡
      開(kāi)發(fā)人員測(cè)控視圖
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      《測(cè)控電路》實(shí)踐教學(xué)改革探討
      5.3 視圖與投影
      視圖
      Y—20重型運(yùn)輸機(jī)多視圖
      SA2型76毫米車載高炮多視圖
      基于現(xiàn)代測(cè)控技術(shù)及其應(yīng)用分析
      向著新航程進(jìn)發(fā)——遠(yuǎn)望7號(hào)測(cè)控船首航記錄
      太空探索(2016年12期)2016-07-18 11:13:43
      讓W(xué)indows 10進(jìn)入開(kāi)發(fā)者模式
      電腦迷(2015年12期)2015-04-29 23:22:51
      后悔了?教你隱藏開(kāi)發(fā)人員選項(xiàng)
      当阳市| 米林县| 丹阳市| 疏附县| 乡宁县| 北川| 广平县| 昌宁县| 东山县| 五台县| 荃湾区| 任丘市| 靖西县| 上林县| 扎鲁特旗| 合山市| 读书| 北宁市| 新兴县| SHOW| 洪洞县| 北海市| 名山县| 松桃| 达州市| 思茅市| 鄂托克旗| 邵东县| 青冈县| 胶州市| 樟树市| 厦门市| 临泉县| 靖江市| 阿拉善右旗| 彭州市| 从江县| 陆河县| 乌审旗| 广河县| 阿拉善左旗|