持久對象在人機界面開發中的應用
時間:2008-03-24 15:47:00來源:mawei
導語:?面向對象方法中的類、封裝以及繼承等機制為軟件的設計與復用帶來了便利,從而可提高軟件生產率
1.
自八十年代以來,面向對象的方法和技術已受到人們的廣泛重視,越來越多的人開始采用面向對象的方法來設計與開發軟件[1,2,4]。計算機軟件的一個主要功能是用于刻劃和模擬客觀世界中的某些活動,而面向對象方法中的對象正是對客觀世界的一種直接模擬。因此,用面向對象方法開發軟件就顯得比較自然,設計出的軟件結構與問題結構有較好的對應,使得軟件對問題的變化有較好的適應性,從而易于修改與擴充(維護)。另外,面向對象方法中的類、封裝以及繼承等機制為軟件的設計與復用帶來了便利,從而可提高軟件生產率。
在面向對象方法中,持久對象概念的引入,使得對象可以穿越時間和空間,即對象在其創建者消亡后還可以繼續存在,并且可以從一個地址空間(內存)轉移到另一個地址空間(磁盤)。本文根據對象的這一特征,提出了開發控制系統人機界面的一種策略,在該策略中,人機界面中的畫面被看成是由一組持久對象構成,它們分別對應于一些實際受控設備,人機界面的功能由畫面中的這些對象來完成。畫面中的對象在畫面設計時被創建,然后,這些對象可以脫離其創建者(畫面設計工具)而繼續存在,并從內存轉移到磁盤。實施系統控制時,設計好的畫面從磁盤裝入內存,其中的對象就開始對受控系統實施控制。
本文首先介紹利用持久對象概念開發人機界面的主要思想,然后對人機界面中畫面對象的設計進行考慮,最后以電力控制系統人機界面的開發為例,給出這一策略的具體應用描述。
2.
在整個軟件系統的開發中,人機界面的開發往往要占很大一部分工作,并且人機界面的好壞直接影響整個系統的可用性和其它性能。這里,我們提出了一種基于持久對象概念的控制系統人機界面開發策略,在該策略中,把人機界面中的畫面看成是某個受控系統的一個抽象,一個畫面代表了一個受控系統,畫面中的每個元素(稱為畫面元素)對應于一個受控對象(設備),整個畫面是由一組抽象對象(畫面元素)構成,他們的屬性與操作反映了各受控對象的特征。因此,這里的畫面不再是一些被動的圖形,而是體現系統行為,并參與系統各項活動的一組對象。
采用本文提出的策略,可把控制系統人機界面的開發分為兩個階段:離線階段(off-line)和在線階段(on-line)。1)離線階段提供一個畫面設計工具,用于對控制系統人機界面中的畫面進行設計,設計的畫面作為一組持久對象存入磁盤(文件或數據庫);2)在線階段裝入由(1)設計的畫面,作為控制系統的人機界面,這時,該畫面中的對象與控制系統其他部分共同構成一個完整的系統,對受控系統實施控制。
從上述描述中可看出,畫面中的對象具有兩種角色(圖1):在離線階段,一旦被創建,這些對象就作為畫面設計工具的一部分,與其他部分一起共同完成畫面的設計工作;在在線階段,一旦被裝入,這些對象就作為控制系統的一部分,參與系統的控制。畫面中的對象由畫面設計工具創建,但它們可以脫離畫面設計工具而繼續存在,并從內存轉移到磁盤。在控制階段的某一時刻,畫面也可被存入磁盤,這時存入磁盤的對象的狀態就反映受控系統那一時刻的狀態,是系統狀態的歷史記錄。
采用上述人機界面開發策略所帶來的好處有以下幾點:
·用戶可以利用提供的工具自己設計所需畫面,而不是被動地接受開發人員為之開發的固定畫面。
·隨著受控系統規模的變化,畫面可以很方便地被修改(重新設計)。
·當受控系統增加新類型的受控對象時,由于系統采用面向對象的設計方法,一般只需增加新的類定義,系統擴充比較容易,并且新類可以繼承已有類的很多特征,便于復用。
·受控系統的狀態可以隨時作為一組(持久)對象保存起來,需要時,重新調入它們即可再現受控系統的歷史狀態。
·用本策略設計的開發工具可作為一種通用的工具,用于開發某一類系統的人機界面,如各個地區(或部門)的電力控制系統。
3.
如上所述,在控制系統人機界面中,受控系統可由一個畫面來抽象表示,畫面中包含了若干畫面元素,這些畫面元素作為對象代表了一些實際受控對象。由于這些對象(畫面元素)作用于畫面設計與系統控制兩種環境,因此在設計這些對象的屬性與操作時,必須考慮他們在這兩種不同環境中的作用。
首先,一個畫面本身就是一個對象,它是整個受控系統的一個抽象表示。 其特征可由一個<畫面類>來描述,它由屬性與操作構成。其中屬性包括畫面元素集、背景顏色、縮放率等等;操作有畫面的存/取、縮放、畫面元素的增加/刪除及畫面顯示等等。
其次,畫面元素可分成兩部分:一部分是與受控對象無關的輔助元素,其作用主要是加強畫面的生動性,對畫面作補充說明,如:文字、各種靜止圖形(矩形、橢圓、線等),它們主要參與畫面設計工作;另一部分是與受控對象有關的畫面元素,它們分別對應于一個受控對象,除了具有輔助畫面元素的特征外,這些畫面元素還反映了受控對象的狀態,它可參與畫面設計與系統控制兩方面的工作。
根據畫面元素在不同環境中的作用,其屬性主要包括圖形信息和受控對象狀態信息。圖形信息由一組或幾組圖形對象構成,它們用于畫面元素的顯示。這里,輔助畫面元素只包含一組圖形對象,即只有一種顯示狀態;其他畫面元素可以包含幾組圖形對象,在系統控制時它們根據受控對象的狀態,顯示其中的一組圖形。受控對象狀態信息包括受控對象標識、受控對象狀態數據等。其中受控對象標識是在畫面設計時定義,用于標識相應的受控對象;受控對象狀態數據是在實時采集數據時,根據受控對象標識從相應設備中獲取,它反映了受控對象在某一時刻的狀態,其主要作用是用于決定顯示畫面元素的哪一組圖形。
畫面元素的操作也分成兩個部分:畫面設計與系統控制。畫面設計操作主要有顯示、移動、縮放、改變顏色/字體、定義受控對象標識等等。系統控制操作有數據采集、由采集到的數據決定顯示狀態(變換圖形、改變顏色、閃爍等)、協助操作員進行系統控制操作等等。這里,畫面元素的數據采集與控制操作不必直接與具體受控設備打交道,可通過一個數據庫來完成(圖2)。實時采集系統把采集到的數據存入數據庫,畫面元素定期從數據庫中獲取數據;同樣,控制數據由畫面元素放入數據庫,設備控制系統從數據庫存中獲取控制信息對設備進行控制。畫面元素的特征可由<畫面元素類>來描述,它與<畫面類>之間構成部分與整體關系。
最后,在設計畫面元素的圖形信息時,可采用一個類層次結構來描述各圖形對象類之間的關系。畫面元素所包含的圖形對象可以是正文、矩形、橢圓、線等一般圖形,也可以是:時間、數值、坐標軸、儀表表針、儀表表盤、直方圖以及曲線等具有實際意義的圖形。他們分別屬于不同的類,其父類可用一個<圖形類>來描述,各種圖形對象類之間構成一般與特殊的層次關系(圖3)。一組圖形對象表示受控對象的一種狀態,根據受控對象的可能狀態,相應畫面元素可包含一組或幾組圖形對象。
畫面元素由畫面設計工具創建,設計的畫面作為一組持久對象存入磁盤。在控制系統中裝入它們實施對受控系統的控制。在實施控制的某一時刻,畫面也可存盤,這時,存盤的對象的狀態就代表了受控系統那一時刻的狀態,可作為受控系統的歷史記錄。作為一組持久對象,這些畫面元素可獨立于創建者而存在,其存在的空間可以是內存,也可以是磁盤,并且可以在這兩者之間轉移。
4.
電力系統是一個龐大而復雜的系統,電力系統控制是客觀世界的一種活動,其中涉及許多受控對象,如開關、刀閘、和變壓器等等,每個受控對象又有其自身的狀態和對事件的響應能力。對電力系統進行控制,除了要有良好的控制算法外,還必須要有友好、方便的人機界面。因為電力系統控制過程中許多參數的設置,實時采集數據及各受控對象狀態的顯示等,都是通過人機界面進行的,因此,對于電力控制系統來說,人機界面直接反映了受控系統的行為。
基于上述的控制系統人機界面開發策略,我們在Windows 95環境中,利用Visual C++所提供的MFC基礎類庫設計并實現了一個電力控制系統人機界面開發工具,它包括畫面設計工具和畫面使用工具。這里的畫面主要是指電力系統的接線圖,其中主要包括母線、開關、刀閘、變壓器、遙測值、儀表圖、直方圖、曲線圖及一些輔助畫面元素。這些畫面元素中,有一些是用不同的圖形來表示受控對象的狀態,如開關、刀閘等,根據這些畫面元素所表示的受控對象的可能狀態,一般可把它們分為單值、雙值、三值及四值元素,它們分別包含一組、二組、三組及四組圖形對象。
每組圖形對象反映了受控對象的一種狀態,在系統控制時,由受控對象的實際狀態決定顯示畫面元素的哪一組圖形;畫面中的另一些畫面元素是用數值來表示受控對象的狀態,如遙測值、儀表圖、直方圖及曲線圖等,它們把受控對象的狀態數據(電流、電壓等)用文字、儀表或曲線等形式顯示出來。另外,畫面中還包括一些輔助畫面元素,它們不涉及受控對象,主要用于對畫面進行補充說明,如正文及各種靜止圖形。
當畫面過大以至不能在一屏中顯示時,可把它分成幾個畫面來設計,在主畫面中用<畫面引用>來代表其它畫面。<畫面引用>作為一種畫面元素,用于標識其它畫面,通過它可以從一個畫面察看其它畫面。這樣,當受控系統規模較大時,界面操作人員不至于一下陷入過多的細節之中,可以分片、分段地顯示受控系統的狀態,并對其實施控制。這進一步體現了人機界面的抽象功能。
畫面設計工具主要用于創建畫面元素及它們所包含的圖形對象。其中提供了一個圖形對象編輯器,用于根據一些標準圖形元素來構造圖形對象組,一個圖形對象組表示了某個受控對象的一種狀態。利用圖形對象編輯器設計的圖形對象組可作為一些標準圖形對象組保存起來。在創建畫面元素時,可利用一個標準圖形對象組選擇器獲取所需的圖形信息,標準圖形對象組選擇器將列出所有由圖形對象編輯器設計的標準圖形對象組。畫面元素的受控對象標識也在畫面設計時定義,受控對象標識實際上代表了數據庫中的一個位置,該位置用于存放受控對象的狀態數據及一些管理信息(如設備的容量及地理位置等),通過用戶界面可以獲得這些信息。在存儲畫面時,畫面元素的狀態被存進磁盤,其類定義存放在類庫中。這里的畫面設計工具是一個開放式工具,畫面及標準圖形對象組均可由用戶自己設計。
畫面使用工具作為控制系統的一部分,主要完成以下工作:從磁盤裝入畫面;根據定時器消息,向各個畫面元素發送數據更新消息;各畫面元素在收到數據更新消息后,根據受控對象標識從數據庫中獲取相應受控對象的狀態數據,以決定其顯示狀態。另外,各畫面元素還可接收人工干預消息,如參數設置等,對數據庫中的相應數據作修改,以控制實際受控對象的行為。在系統控制的某一時刻,也可把畫面存盤,這時,存入磁盤的對象的狀態就反應了受控系統那一時刻的狀態,作為受控系統的歷史記錄。
5.
本文提出了一種基于持久對象概念的控制系統人機界面開發策略,該策略把人機界面中的畫面看成是由一組持久對象構成,人機界面的功能由這些對象來完成。畫面由設計工具創建,在控制系統中使用。這種人機界面開發策略不限于電力控制系統人機界面的開發,在其它類似系統的開發中也能使用。
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。