當前位置:學問君>學習教育>論文寫作>

遠程控制實驗系統軟件體系的結構

學問君 人氣:1.57W

摘 要:針對遠程控制實驗系統具有多需求、多任務並且實時性要求高的特點,提出一種基於需求特徵映射的軟件體系結構,並且在此基礎上設計與開發了一套基於C/S與B/S的混合體繫結構的遠程控制系統。該系統不但允許用戶進行遠程虛擬實驗,而且還可以對實驗設備進行遠程實時控制。實際應用表明,該系統不但保證了不同用戶的實驗需求,而且還滿足了遠程控制的實時性要求。

遠程控制實驗系統軟件體系的結構

關鍵詞:軟件體系結構;遠程控制系統;需求工程

1、引 言

目前,國內外已經有許多大學都研製出了自己的遠程教育軟件系統,這些系統的建成對於提高教學質量和效率起到了極大的推動作用。對於控制系統的遠程實驗教學平臺就其功能而言主要分爲虛擬實驗室和遠程控制實驗室。在國外,美國Illinois大學芝加哥分校的VRiChEL實驗室研製的Vicher系統¨ 將虛擬現實技術應用在化學工程教育領域,設計了多個虛擬實驗。另外,類似的還有澳大利亞RMIT大學設計的虛擬實驗用於進行熱傳遞過程的教學 ,可以幫助學生快速地掌握這個抽象的概念。在國內,北京大學開發的基於Internet的虛擬實驗室3WNVLAB就是一種支援大計算量和交互式的網上虛擬實驗室的通用基本框架,它是一個基於瀏覽器和Web服務器的虛擬實驗室 。可以看出,虛擬實驗室主要是用戶透過Internet把設計的的實驗傳送到服務器端。服務器端用來完成客戶端要求的實驗內容,並將可信的實驗結果返回客戶端。客戶收到實驗結果後,可評價自己的實驗設計,從而對自己的能力進行判斷。

由於虛擬實驗室中實驗用到的實驗設備都是抽象符號表示,往往無法代表真正的實驗環境,在控制實驗教學過程中尤其明顯,由於用戶無法觀察到被控對象的動態響應,以及實際實驗過程中系統所存在的擾動和不確定性,導致這樣的虛擬實驗無法達到真正的實驗目的。因此,產生了另一類遠程實驗室:遠程控制實驗 ,目前,國內主要有中國科技大學物理系研製了一套基於Internet的掃描探針顯微鏡(SPM)遠程控制系統 ;浙江大學研製了依託千兆局域網基礎上的基於C/S模式的遠程控制系統 。新加坡國立大學的遠程實驗室 允許用戶透過Internet進行遠程實驗,使用B/S方式實驗,可以實現昂貴的實驗設備共享。

遠程實驗室的服務器端使用LabView虛擬儀器軟件實現對實驗設備的控制,服務器與實驗設備之間透過RS-232接口或IEEE488.2 GPIB總線進行連接。意大利的PolitecnicodiMilano大學也使用類似方案實現了遠程實驗室。不難看出,這樣的系統基本上可以滿足普通的本科教學的驗證性實驗。但是,由於此類系統的控制器設計在本地實驗端,遠程端僅僅只能允許修改相應的控制器參數,而不能夠提供完整的控制器的設計。因此,對於高年級學生的實驗要求就很難滿足,尤其是網絡控制實驗(此類系統要求整個控制迴路透過網絡閉環進行實時控制,所以要求系統提供相應的網絡傳輸參數)更是無能爲力。

綜合以上介紹的遠程實驗系統不難發現,現有系統都在一定程度上滿足了特殊用戶的需求,在局部範圍內起到了較好的教學效果,但是,由於用戶需求的多樣性,這樣的系統很難普及,同時一個統一的遠程控制實驗系統的軟件體系結構尚未形成。因此,本文從遠程實驗室系統的不同層次用戶的需求出發,提出一種基於特徵映射的軟件體系結構的設計方法,在此基礎上開發和設計了相應的遠程控制實驗室。與現有系統比較本文論述的系統具有以下幾個優點:

① 滿足多用戶的需求,不僅提供虛擬的驗證性實驗,而且提供遠程的控制實驗。用戶可以透過本系統動態觀察被控對象的過渡過程,以及系統的不確定性對性能的影響。

② 本系統可以爲控制專業較高層次的研究性用戶提供網絡傳輸的服務質量性能參數,使系統的網絡資源調度與管理以及控制過程中的採樣週期調度成爲可能。

③ 系統可以在局域網內透過網絡實時閉環控制,爲網絡控制系統的研究提供實驗基礎。

2、現有系統的軟件體系結構及其存在的問題

2.1 虛擬實驗室的軟件體系結構目前,現有的虛擬實驗室普遍採用如圖1所示的軟件體系結構,利用面向對象分析(OOA)和麪向對象設計(OOD)來開發。採用B/S結構的主要功能是:用戶提交待實驗的Simulink或m檔案透過遠程調用Matlab的計算引擎,完成仿真計算後服務器將仿真結果送還給遠程用戶端,客戶端的Applet通訊模組把仿真數據解析後,將數據分別以動畫和虛擬示波器、數據表格等方式有效的把實驗結果呈現給用戶,達到仿真實驗的效果。由於虛擬實驗的引入,可以滿足遠程教育中自動化專業的低年級學生的仿真實驗或簡單的驗證性實驗的需求,但是,由於缺少對真實設備的控制,對於高年級的本科實驗教學而言,實驗內容的`複雜性和多元化,這樣的實驗系統就很難滿足了,尤其是缺乏對控制過程中實際系統的不確定性以及系統過渡過程的動態性能的直觀的描述。

2.2 遠程控制實驗室的軟件體系結構目前,現有的遠程控制實驗室的軟件體系結構普遍採用如圖2所示的軟件體系結構,跟虛擬實驗室類似採用OOA和OOD來開發設計採用B/S結構。從系統的功能上而言,由於遠程控制實驗室連接的是真實的實驗設備,實驗過程中利用多媒體技術,可以讓學生實時觀測到實際對象的執行情況,並且在遠程控制端給實驗者提供修改控制器參數的接口,允許用戶動態地改變系統的採樣週期? 。此類系統有一個共同的特點:實驗對象的控制器設定在本地端,並且往往都是事先固定的,如:PID,預測控制策略,使用者僅僅可以透過網絡對系統所提供的控制器參數進行設定和修改。相對於虛擬實驗室,遠程控制實驗室更適合本科高年級的教學實驗。尤其是其提供的先進控制策略,也適合一般的研究人員進行驗證性實驗。不難發現,這樣的系統就其本質而言其控制迴路的設計仍舊是本地控制,而沒有透過網絡實時閉環控制。因此,就很難滿足控制專業研究生的實驗教學要求。

考慮到如圖2的結構中系統的控制器設計在服務器端,並且往往都是固定的。爲了保證系統的控制迴路構建在整個網絡上,文獻[10]中研製了依託校園網的基於C/S模式的遠程控制系統,把控制器設計在遠程端,整個控制迴路透過傳輸網絡閉環如圖3所示。

這樣方便了遠程實驗用戶設計開發相應的控制器。但是其帶來的代價就是客戶端需要安裝龐大的軟件或插件,不僅系統可維護性差,而且由於客戶端使用平臺的不一致性,導致系統的使用範圍受到了很大的限制。

3、基於需求特徵映射遠程控制系統體系結構綜合

上述分析不難看出,現有系統的軟件體系結構設計過程中普遍存在的一個問題就是:從需求到軟件體系結構的映射不足。對於控制系統而言,系統的實時性要求很高,如果系統的控制迴路透過傳輸網絡實時閉環,則構成的控制系統爲典型的網絡控制系統。

近年來,對於這類系統的研究,已經成爲控制理論的研究熱點和重點但還有很多理論問題有待進一步的完善。因此,在現有基礎上採用基於需求特徵映射方式的軟件體系結構設計方法來設計遠程控制實驗系統。

首先,把特徵看作需求建模的一階實體,並把特徵建模與傳統的需求建模結合起來以更完整地捕獲各種需求。進而,在體系結構建模中,以面向需求特徵爲目標,維持特徵模型和體系結構模型間在較高抽象層相對直接和自然的映射。這裏要強調的是本文的方法並不是對傳統方法的否定而是對傳統方法的改善,因而該方法能夠與傳統方法如面向對象(O0)方法緊密地集成,並且本文的建模概念和表示、遵循UML語言的概念和表示體系。

3.1 遠程控制系統的需求建模文獻[11]中把特徵分爲功能性特徵和非功能性特徵,兩者對軟件體系結構構造有着不同的影響。因此,本文首先基於功能特徵將待開發的遠程控制實驗系統初步劃分爲一些構件,接着考慮系統的非功能特徵,對這一初步劃分反覆、漸進地進行優化和轉換。利用特徵誘導和特徵組織與分析的需求建模方法[11],把系統的需求劃分爲3個層次上的抽象:任務需求,用戶需求和功能需求。

任務需求的特徵描述了實驗教學的目標、實驗過程、實驗組織及約束等。用戶需求特徵主要描述系統所提供支援最終實驗用戶任務的服務以及對服務的約束,在此基礎上按文獻[11]中的組織方式進一步組織特徵:

(1)支援特定任務層特徵的用戶任務可歸爲一組,併成爲該任務層特徵的子特徵。

(2)支援某一用戶任務的特徵可歸爲一組併成爲該用戶任務的子特徵。

(3)如果一個非功能特徵是對一個功能特徵的約束,則該非功能特徵成爲對應功能特徵的子特徵。如果一個用戶層特徵以某一個任務層特徵爲目標,則前者稱爲後者的匯出子特徵。

對於特徵間的潛在的交互關係,這裏採用其相互問的邏輯關係加以描述,包括:“包含”、“一般到特殊”、“匯出”、“制約”及“依賴”和“互斥”等,並且嚴格指定特徵本身的屬性,然後利用use case技術把特徵細化爲足夠詳細的可實現的功能需求。

遠程控制實驗系統根據不同的用戶可以分爲:①專科或低年級的本科生;② 高年級本科生;③ 研究生;④ 教師及其他研究人員。針對這4類不同的用戶,需求特徵不同,如對於第① 類用戶,其實驗需求的主要特徵是對給定的被控對象模型和控制策略進行驗證性實驗,或者在此基礎上進行適當的參數調整以驗證控制參數對系統性能的影響。因此,在需求建模的時候,把其統一抽象成爲此類任務需求的必須特徵。

同時,對於這類用戶系統的被控對象的特性,迴路特性和計算引擎都不是必須的,可以統一的作爲可選特徵進行需求特徵建模,而這些功能對於其他用戶而言可能是必須的特徵,如第③ 、④類用戶要求系統提供迴路資訊和網絡服務質量的相關資訊作爲系統控制設計的依據,甚至是希望系統能夠透過網絡實時閉環,因此要求整個系統能夠保證很好得到實時性。整個遠程控制實驗系統的需求特徵模型如圖4所示。

3.2 遠程控制系統的體系結構建模與系統實現的關鍵技術根據得到的需求特徵模型,考慮到功能特徵與非功能特徵對軟件體系結構的構造有着不同的影響,因此,在系統體系結構建模的時候將它們分開處理,分別進行概念體系結構建模、邏輯體系結構建模和部署體系結構建模。其中,概念體系結構建模是基於問題域和需求的結構來描述系統的抽象視圖,而不考慮技術細節;邏輯體系結構建模考慮技術方案,是對概念體系結構進行精化、調整和轉換;而部署體系結構建模相比與前兩者主要解決模組與模組間的計算節點及計算節點之間的交互問題。

系統的體系結構建模是待求解的問題域到解決問題域的高層次的抽象,而面向特徵的體系結構建模是以“面向特徵”爲目標,維持特徵模型和體系結構模型間在較高抽象層相對直接和自然的映射。而對於本系統而言,其在實現方式上採用C/S和B/S混合結構,對於系統模型中的控制服務,考慮到系統實時性的要求和需求模型中的必須特徵的使用用戶爲研究性實驗,對於這類用戶由於其已經具有較好的專業知識, 所以採用C/S結構,利用校園網進行實時閉環。對於其他服務,這裏採用B/S結構。

不難看出,系統實現的關鍵技術在於遠程控制中控制器的動態加載,控制策略的動態加載與擴充常用的方法是透過c++的new和delete的內存管理和分配方案來實現數組和數據結構的定義,以及模組間的參數傳遞。然而,對於遠程實驗系統執行狀態的判斷,完全依賴於用戶的控制信號,即當用戶希望系統執行停止的時候,需要先給模組停止信號,然後再停止系統的執行。這樣的做法對於遠程控制實驗系統顯然是不適合的。另外,從整個軟件的安全性角度出發,在終止整個系統的執行前,單獨停止某一個模組的執行,安全方面會產生隱患。考慮到以上因素,在本系統提出動態接口,其基本思路是另外添加一個DLL,提供公共函數,用於分配和管理內存。在用戶自訂的控制策略模組中,調用公共函數即可,需要保留或傳遞參數,直接傳遞序列編號。

SpaceDLL是用於分配和管理內存的公共DLL,接口包括:UserFBDVVector、UserFBDdVect0r和Vect。其中,基本的數據類型爲雙精度,能夠滿足基本要求。定義雙精度的vector:typedef::std::vector(double)DoubleVector;定義DoubleVector的vector:f::std::vector(DoubleVector)VVector;其中,VVector是鏈式的結構,用戶可以在這個鏈上基本上可以認爲是無限制的添加和操作DoubleVector的數據類型;對於DoubleVector的管理和傳遞,透過其序號來實現,從而實現內存數據的安全傳遞;UserFBDVVector函數返回的是對VVector的引用;UserFBDNewdVect函數返回的是新的DoubleVector的引用,用戶可以直接操作使用;UserFBDdVector函數的參數爲DoubleVector在整個VVector中的序號,返回指定序號的ector的數據序列的引用。透過以上策略,實現了算法模組接El的擴展,用戶可以自行添加數組或動態分配內存,並且保留或傳遞參數,對內存進行操作。

3.3 應用實例自行開發了基於校園網的遠程控制軟件(軟件着作權登記號:2005SR15172),網絡控制軟件執行環境爲:win2o0O/winxP、SQLServer 7.0,主要包括選單、工具欄、狀態欄、控制窗13、監控視窗、視頻窗13、顯示視窗。操作視窗主要負責管理監控平臺的各項操作,包括實驗管理、實驗操作和系統管理,其中,實驗操作主要包括:通信設定、流量監控、曲線設定、控制迴路配置、被控對象模型配置、控制器參數配置和控制策略的動態加載等。系統管理包括密碼設定和用戶管理。實驗管理主要功能:實驗成績查詢、實驗報告的生成與遞交等功能。監控窗El可以實時顯示控制點的資訊主要包括:工程信號量、採樣週期、控制點編號、採集量的延時等。顯示窗El主要配合操作視窗和控制視窗完成各項操作功能的設定及控制點的配置。

4、結 語

在現有遠程實驗系統軟件體系結構分析的基礎上,針對遠程實驗系統用戶需求的多樣性和控制系統本身的實時性強的特點下,提出一種基於需求特徵映射的軟件體系結構建模的方法。在此基礎上,開發與設計了基於C/S和B/S混合結構的遠程控制實驗系統。實際應用表明,系統在滿足實時性要求下,在一定程度上滿足了多用戶的需求,具有較好的可行性。