袁 灝, 張煒剛, 劉曉平
(1.合肥工業(yè)大學(xué) 計算機與信息學(xué)院,安徽 合肥 230009;2.山東大學(xué)(威海)機電與信息工程學(xué)院,山東 威海 264209)
智能電網(wǎng)的快速發(fā)展推動了人們對電力系統(tǒng)可視化技術(shù)的不斷研究與應(yīng)用[1-3]。目前傳統(tǒng)的可視化系統(tǒng)都是基于C/S(客戶端/服務(wù)器)的構(gòu)架,使用OpenGL等桌面渲染技術(shù)進行實現(xiàn)。這種方式部署與維護的成本很高,一般需要每一臺計算機安裝客戶端,出現(xiàn)問題或版本更新時也需要安排專業(yè)人員到現(xiàn)場進行處理,大大提高了安裝與維護成本。
基于Web的智能電網(wǎng)可視化系統(tǒng)使用B/S(瀏覽器/服務(wù)器)構(gòu)架,無需安裝和配置客戶端,僅需一個網(wǎng)址,經(jīng)由瀏覽器即可登錄系統(tǒng)。更新或維護系統(tǒng)時,也僅需要更改服務(wù)器端即可。2010年上半年完成并發(fā)布的WebGL是一種3D繪圖標(biāo)準(zhǔn),它可以為HTML5中的Canvas提供硬件3D加速渲染,從而使用系統(tǒng)顯卡在瀏覽器中展示3D場景和模型,開發(fā)人員也不需要再開發(fā)用于網(wǎng)頁的渲染插件,滿足了電力系統(tǒng)可視化要避免使用插件的安全需求。
新技術(shù)與新框架的使用提高了系統(tǒng)開發(fā)的困難和復(fù)雜性,為了很好地實現(xiàn)最終的需求目標(biāo)、縮短開發(fā)周期、降低開發(fā)成本,就需要對基于 Web的可視化系統(tǒng)有一個全面系統(tǒng)的了解,因此需求建模在整個系統(tǒng)的開發(fā)過程中非常重要。本文首先進行了系統(tǒng)邊界分析,再使用標(biāo)準(zhǔn)建模語言UML[4]對需求進行建模,包括用例建模和交互建模的可視化建模方式。
系統(tǒng)邊界即系統(tǒng)包含的功能與系統(tǒng)不包含的功能之間的界限[5]。一般在系統(tǒng)分析階段定義,只有明確了系統(tǒng)邊界,才能繼續(xù)進行下面的分析、設(shè)計等工作。明確的邊界分析有助于系統(tǒng)模塊的劃分,明確各個模塊的功能職責(zé)以及模塊間的交互過程。經(jīng)驗證明大量的程序錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部,因此針對各種邊界進行分析測試,可以減少錯誤的發(fā)生。圖1所示為基于Web的可視化系統(tǒng)邊界場景示意圖。
圖1 基于Web的可視化系統(tǒng)邊界場景示意圖
整個可視化系統(tǒng)包括如下4個系統(tǒng)邊界:
(1)調(diào)度員邊界流程描述。系統(tǒng)通過瀏覽器向調(diào)度員展示場景,使其獲取當(dāng)前電網(wǎng)運行狀態(tài)信息。
(2)維護人員邊界流程描述。維護人員對系統(tǒng)運行過程中產(chǎn)生的錯誤日志進行分析處理,設(shè)置系統(tǒng)可視化參數(shù)。
(3)EMS總線/服務(wù)器邊界流程描述??偩€為系統(tǒng)提供當(dāng)前電網(wǎng)信息,系統(tǒng)進而進行數(shù)據(jù)的二次處理和格式化處理。服務(wù)器向系統(tǒng)提供用戶及電網(wǎng)信息,從而進行權(quán)限驗證、歷史重現(xiàn)。系統(tǒng)不用自己測量數(shù)據(jù),系統(tǒng)可以向服務(wù)器存儲用戶的基本信息,用戶也可以對系統(tǒng)設(shè)置信息。
(4)圖形編輯器邊界流程描述。圖形編輯器提供系統(tǒng)所需站內(nèi)圖和地理圖,系統(tǒng)從中獲取變電站、母線等圖元的位置、屬性信息。系統(tǒng)不用自己繪制場站圖和地理圖。
用例模型的概念最早由文獻[6]提出,是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,可以作為客戶和開發(fā)人員之間的契約。用例建模與需求的確定是緊密結(jié)合的,初步的用例圖可以根據(jù)頂層需求確定,進一步的求精應(yīng)由更詳細(xì)的需求來驅(qū)動。如果在開發(fā)生命周期中用戶需求變了,這些變化應(yīng)首先體現(xiàn)在需求文檔中,接著在用例模型中出現(xiàn)[7]。
參與者和用例由對功能性需求的分析來確定,參與者并不是某人或事物的特定實例,而是系統(tǒng)外部的人或事物針對用例所扮演的角色[7]。根據(jù)系統(tǒng)邊界分析可知,可視化系統(tǒng)主要包含調(diào)度人員、維護人員和EMS總線/系統(tǒng)3個參與者,其在系統(tǒng)中的功能各不相同,因此需要根據(jù)不同的參與者建立不同的用例視圖,如圖2所示。
圖2 智能電網(wǎng)可視化系統(tǒng)用例建模
圖2a為面向調(diào)度員的用例模型,可視化系統(tǒng)通過瀏覽器向調(diào)度員提供多種電網(wǎng)數(shù)據(jù)展示方式。
圖2b為面向EMS總線/服務(wù)器的用例模型,設(shè)計時需要定義它與可視化系統(tǒng)的接口和規(guī)范,保證數(shù)據(jù)的準(zhǔn)確性和有效性。
圖2c為面向維護人員的用例模型,維護人員可以使用系統(tǒng)進行參數(shù)設(shè)置并分析日志。
交互建模顯示了協(xié)作對象之間的事件(消息)順序,屬于需求分析的高級階段[7]?;赪eb的可視化系統(tǒng)交互模型如圖3所示。調(diào)度人員通過網(wǎng)址登錄系統(tǒng)界面,服務(wù)器根據(jù)輸入的用戶名密碼確定用戶權(quán)限。當(dāng)判斷用戶具備訪問權(quán)限時,頁面初始化JS文件,JS文件再以異步通訊的方式每隔一段時間向服務(wù)器請求電網(wǎng)數(shù)據(jù),獲取格式化的JSON數(shù)據(jù)后,經(jīng)由不同的圖元庫函數(shù)在瀏覽器中展示電網(wǎng)場景。
圖3 基于Web的可視化系統(tǒng)的交互建模
在需求模型驗證過程中,使用上苑供電區(qū)域的線路負(fù)載率情況實現(xiàn)了基于Web的電網(wǎng)可視化原型系統(tǒng),如圖4所示。
圖4 上苑供電區(qū)域220kV線路負(fù)載率實例
通過AJAX技術(shù)[8]讓頁面每隔一段時間向服務(wù)器發(fā)出一次請求,服務(wù)器收到請求后分析當(dāng)前場景中包含的電力模型類別和屬性,再將要展示的電力數(shù)據(jù)信息格式化后通過以太網(wǎng)傳遞給瀏覽器,瀏覽器再調(diào)用圖元庫函數(shù)在Web頁面中更新展示的場景,使調(diào)度員能夠及時獲取當(dāng)前電網(wǎng)的運行狀態(tài)。通過三維場景可以清晰地展示供電區(qū)域內(nèi)斷路器狀態(tài)、線路負(fù)載率、變壓器負(fù)載率、有功潮流、無功潮流以及區(qū)域總體狀態(tài)的實時信息,從而達到直觀展現(xiàn)電網(wǎng)運行數(shù)據(jù),幫助調(diào)度員及時處理故障和減少電網(wǎng)事故損失的目的。經(jīng)過本實例的驗證,該系統(tǒng)可以作為基于Web的電網(wǎng)數(shù)據(jù)可視化[9]需求分析階段的有效工具。
本文通過UML的可視化建模方法,對基于Web的智能電網(wǎng)可視化系統(tǒng)進行了需求建模,并結(jié)合實例使用該模型進行了具體需求過程分析驗證,可幫助用戶和開發(fā)人員了解模塊邊界和接口功能以及系統(tǒng)的交互通訊過程,減少需求錯誤和需求缺失導(dǎo)致的時間及資金耗費。進一步的工作是添加電網(wǎng)擴展模型,從而增加系統(tǒng)對開發(fā)過程中新產(chǎn)生需求的適應(yīng)性和可復(fù)用性。
[1]Sun Y,Overbye T J.Visualizations for power system contingency analysis data[J].IEEE Trans on Power Systems,2004,19(11):1859-1866.
[2]Overbye T J,Rantanen E M,Judd S.Electric power control center visualization using geographic data views[C]//Proc Bulk Power System Dynamics and Control-VII,Charleston,SC,2007,8:19-24.
[3]Wiegmann D A,Essenberg G R,Overbye T J,et.al.Human factor aspects of power system flow animation[J]IEEE Trans on Power Systems,2005,20(8):1233-1240.
[4]Booch G,Rumbaugh J,Jacobson I.UML用戶指南[M].邵維忠,譯.北京:機械工業(yè)出版社,2001:68-72.
[5]祝世海,李勝利,孟 炯,等.基于用例模型的面向?qū)ο笮枨蠓治龇椒ǎ跩].哈爾濱理工大學(xué)學(xué)報,2002,7(1):34-37.
[6]Marciniak J.Encyclopedia of software engineering[M].NY:John Wiley & Sons,1994:87-90.
[7]Maciaszek L A.需求分析與系統(tǒng)設(shè)計[M].馬素霞,譯.北京:機械工業(yè)出版社,2009:79-83.
[8]Serrano N,Arozegi J P.Ajax frameworks in interactive Web apps[J].IEEE Software,2007,24(9):12-14.
[9]Zhang Weigang,Yuan Hao,Wang Jiangong,et al.A Web-GL-based method for visualization of intelligent grid[C]//4th International Conference on Electric Utility Deregulation and Restructuring and Power Technologies,2011:1546-1548.