• 
    

    
    

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

      基于UML活動(dòng)圖的安全穩(wěn)定控制裝置策略代碼自動(dòng)實(shí)現(xiàn)方法

      2022-03-16 00:30:24劉一民顏云松許高陽(yáng)董希建
      關(guān)鍵詞:代碼生成代碼電網(wǎng)

      劉一民,顏云松,許高陽(yáng),董希建

      基于UML活動(dòng)圖的安全穩(wěn)定控制裝置策略代碼自動(dòng)實(shí)現(xiàn)方法

      劉一民1,顏云松2,3,許高陽(yáng)2,董希建2,3

      (1.國(guó)家電網(wǎng)有限公司華北分部,北京 100053;2.南瑞集團(tuán)有限公司(國(guó)網(wǎng)電力科學(xué)研究院有限公司), 江蘇 南京 210003;3.智能電網(wǎng)保護(hù)和運(yùn)行控制國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 211006)

      為提高和保障電網(wǎng)安全穩(wěn)定控制系統(tǒng)控制策略(簡(jiǎn)稱穩(wěn)控策略)的實(shí)現(xiàn)效率和可靠性,研制了一種基于UML活動(dòng)圖的穩(wěn)控策略的自動(dòng)編程實(shí)現(xiàn)方法和基礎(chǔ)平臺(tái)。首先,抽象穩(wěn)控策略的最小元素和動(dòng)態(tài)行為元素,提出穩(wěn)控策略動(dòng)態(tài)行為描述方法,建立基于UML活動(dòng)圖的穩(wěn)控策略模型和抽象語(yǔ)法樹。然后,規(guī)范穩(wěn)控策略模型的存儲(chǔ)標(biāo)準(zhǔn)及格式,制定模型到代碼的映射規(guī)則,基于抽象語(yǔ)法樹使用深度優(yōu)先搜索算法將模型自動(dòng)轉(zhuǎn)化為嵌入式系統(tǒng)可執(zhí)行代碼。最后,構(gòu)建穩(wěn)控策略模型至主體代碼自動(dòng)生成和輔助代碼自動(dòng)補(bǔ)全的軟件技術(shù)框架并研發(fā)實(shí)現(xiàn)。結(jié)合4個(gè)大型穩(wěn)控系統(tǒng)的新建和改造的編程案例及其成效,驗(yàn)證了所提代碼自動(dòng)生成方法和平臺(tái)工具的可行性、高效性和可靠性。

      安全穩(wěn)定控制;動(dòng)態(tài)行為元素;穩(wěn)控策略模型;抽象語(yǔ)法樹;映射規(guī)則;代碼自動(dòng)生成

      0 引言

      穩(wěn)控系統(tǒng)是保障電網(wǎng)安全的第二道防線,為適應(yīng)電網(wǎng)在不同發(fā)展階段的安全穩(wěn)定運(yùn)行需要,國(guó)內(nèi)很多地區(qū)均設(shè)計(jì)建設(shè)了與電網(wǎng)工程配套的穩(wěn)控系統(tǒng)[1-3]。目前,穩(wěn)控系統(tǒng)的控制策略軟件需要按照不同地區(qū)的工程要求進(jìn)行定制化開發(fā),由開發(fā)人員手工編寫程序代碼。隨著電網(wǎng)對(duì)穩(wěn)控系統(tǒng)的建設(shè)需求不斷增加,控制策略日益復(fù)雜,手工開發(fā)一方面耗費(fèi)了開發(fā)人員大量的時(shí)間和精力,另一方面使得控制策略軟件的準(zhǔn)確性和運(yùn)行效率過(guò)分依賴于開發(fā)人員的個(gè)人經(jīng)驗(yàn),在開發(fā)中遺留的軟件錯(cuò)誤可能導(dǎo)致穩(wěn)控系統(tǒng)功能失效。實(shí)際工程實(shí)施中,電網(wǎng)調(diào)度部門為確保穩(wěn)控系統(tǒng)控制策略軟件的運(yùn)行正確性,還要采取策略研討、出廠驗(yàn)收試驗(yàn)、工程數(shù)模試驗(yàn)、現(xiàn)場(chǎng)聯(lián)調(diào)試驗(yàn)等管理手段,導(dǎo)致管理鏈條增長(zhǎng),管理成本增加。

      顯然,若能研發(fā)一種代碼自動(dòng)生成方法和工具,則能夠?qū)㈤_發(fā)人員從具體編碼過(guò)程中解放出來(lái),大幅提高生產(chǎn)效率的同時(shí),進(jìn)一步保障軟件的運(yùn)行可靠性[4-5]。在工業(yè)界,控制裝置的代碼自動(dòng)生成研究已取得了一定進(jìn)展:文獻(xiàn)[6-7]提出一種采用可視化嵌入式應(yīng)用開發(fā)的軟件設(shè)計(jì)與應(yīng)用方法,即通過(guò)圖形化編程來(lái)開發(fā)應(yīng)用程序,把常用的模塊做成元件庫(kù),拖選元件繪制邏輯策略框圖,拉線實(shí)現(xiàn)元件之間信息傳遞,使用人員不需要具備嵌入式系統(tǒng)開發(fā)知識(shí)和編程能力就可以完成控制策略的搭建,但該方法只適用于固定不變的、容易抽象成標(biāo)準(zhǔn)模塊的控制策略,無(wú)法適應(yīng)穩(wěn)控策略復(fù)雜多變的系統(tǒng)。在穩(wěn)控策略的描述方面,文獻(xiàn)[8-9]使用E語(yǔ)言描述穩(wěn)控離線策略和定值,主要應(yīng)用于EMS系統(tǒng)通過(guò)對(duì)穩(wěn)控策略進(jìn)行在線分析和評(píng)估;文獻(xiàn)[10-11]提出了一種基于面向?qū)ο蟮慕7椒ǎ捎脿顟B(tài)機(jī)模型對(duì)策略表進(jìn)行搜索和匹配,能夠有效提高裝置策略執(zhí)行效率和準(zhǔn)確性,但該方法只能對(duì)穩(wěn)控策略表固定格式抽象建模。文獻(xiàn)[12-13]則對(duì)主流的自動(dòng)代碼生成方法進(jìn)行了總結(jié)歸納,有基于模型驅(qū)動(dòng)、模板、對(duì)象關(guān)系映射、文檔注釋和動(dòng)態(tài)代理等代碼生成技術(shù),但并未給出具體的適用于穩(wěn)控裝置的實(shí)現(xiàn)方法。另外,針對(duì)單裝置的代碼自動(dòng)生成方法取得了一定進(jìn)展,比如,繼電保護(hù)裝置和測(cè)控裝置實(shí)現(xiàn)基于組件開發(fā)的配套方案[14-16],在研發(fā)穩(wěn)控裝置的代碼自動(dòng)生成方法時(shí),可以予以借鑒。

      本文基于可視化模型驅(qū)動(dòng)的軟件設(shè)計(jì)方法,提出了一種穩(wěn)控策略代碼自動(dòng)生成方法,將穩(wěn)控業(yè)務(wù)邏輯與實(shí)現(xiàn)方法解耦,采用XMI (XML Metadata Interchange)存儲(chǔ)與交換數(shù)據(jù)的穩(wěn)控策略代碼生成工具能夠較好地滿足全國(guó)各地區(qū)的穩(wěn)控系統(tǒng)建設(shè)需要,進(jìn)一步提升了穩(wěn)控裝置策略實(shí)現(xiàn)效率和可靠性。

      1 穩(wěn)控策略描述方法

      1.1 穩(wěn)控策略元素描述

      穩(wěn)控策略一般以策略表和流程控制命令等方式進(jìn)行描述和存儲(chǔ)[17]。典型策略表[18-19]由事故前電網(wǎng)運(yùn)行方式、故障元件、故障類型、潮流方式、控制措施和控制對(duì)象等元素構(gòu)成;流程控制命令則由一系列的控制動(dòng)作或邏輯判斷元素組成[20-22]。為統(tǒng)一描述,本文將策略表和流程控制命令元素以集合形式建立穩(wěn)控策略元素集,如式(1)—式(7)所示。

      1.2 穩(wěn)控策略行為描述

      根據(jù)穩(wěn)控策略邏輯特征,將策略行為分解成策略觸發(fā)條件、策略執(zhí)行條件、控制量計(jì)算和控制措施4部分,如圖1所示。

      2) 策略執(zhí)行條件是策略行為的判斷環(huán)節(jié),由斷面潮流潮流方向、功率門檻定值和元件特征量變化等元素組成,其邏輯公式表示如式(9)所示。

      3) 控制量計(jì)算是控制周期采用本地或遠(yuǎn)方策略的首次控制量、首次控制后的前饋控制量和反饋控制量,其計(jì)算公式如式(10)、式(11)所示。

      4) 控制措施是策略行為的執(zhí)行環(huán)節(jié),將控制量按設(shè)定的規(guī)則分配到控制各個(gè)控制對(duì)象的過(guò)程,其邏輯公式表示如式(12)所示。

      1.3 基于UML活動(dòng)圖的穩(wěn)控策略模型定義

      UML(Unified Modeling Language)活動(dòng)圖是描述控制系統(tǒng)中一系列具體動(dòng)態(tài)過(guò)程的執(zhí)行邏輯,展現(xiàn)活動(dòng)和活動(dòng)之間轉(zhuǎn)移的控制流,主要包括初始結(jié)點(diǎn)、結(jié)點(diǎn)集合、控制邊集和數(shù)據(jù)邊集等基本元素[24]。為了更好地描述穩(wěn)控策略模型,根據(jù)穩(wěn)控策略的特征對(duì)活動(dòng)圖進(jìn)行如下形式化定義。

      定義1 策略對(duì)象

      策略對(duì)象是模型要素的基礎(chǔ),在第1.1節(jié)中將每種策略元素集合定義為一種對(duì)象,同時(shí)每個(gè)對(duì)象都將映射到策略代碼中的變量庫(kù)中,對(duì)象映射關(guān)系如式(13)所示。

      定義2 策略控制活動(dòng)

      活動(dòng)是對(duì)象的生命周期中滿足一定條件時(shí)執(zhí)行動(dòng)作或者等待事件發(fā)生的一個(gè)階段。將策略行為定義成一系列活動(dòng),對(duì)策略產(chǎn)生相同的或者類似的行為,可以作為穩(wěn)控決策的同一個(gè)活動(dòng),如運(yùn)行方式確定、元件故障檢測(cè)等,活動(dòng)約束如式(14)所示。

      定義3 策略控制事件

      事件是促使控制決策調(diào)整或者更改參數(shù)的特定現(xiàn)象,可以觸發(fā)活動(dòng)之間發(fā)生轉(zhuǎn)換。如控制命令可以由本地策略執(zhí)行,也可以通過(guò)發(fā)送遠(yuǎn)方命令由對(duì)側(cè)裝置執(zhí)行,事件約束如式(15)所示。

      定義4 策略活動(dòng)圖模型

      穩(wěn)控策略模型用UML活動(dòng)圖表示為一個(gè)七元組,如式(16)所示。

      式中:為初始活動(dòng);為結(jié)束活動(dòng);表示控制連接線;表示數(shù)據(jù)連接線;表示分支選擇;表示分支聚合。應(yīng)滿足以下條件。

      3) 模型中只能有一個(gè)初始活動(dòng)和一個(gè)結(jié)束活動(dòng),初始活動(dòng)沒(méi)有輸入事件并且只有一個(gè)輸出事件,結(jié)束活動(dòng)只有一個(gè)輸入事件但沒(méi)有輸出事件。

      4) 模型中出現(xiàn)一個(gè)時(shí),要有一個(gè)對(duì)應(yīng)的將從該分支出去的執(zhí)行路徑合并在一起;只有一個(gè)輸入事件但可以有多個(gè)輸出事件,可以有多個(gè)輸入事件但只能有一個(gè)輸出事件。

      5) 模型中對(duì)應(yīng)的每條路徑上的輸出事件是互斥的,并且所有路徑上輸出事件取并的結(jié)果是永真的。

      1.4 策略模型示例

      穩(wěn)控控制策略活動(dòng)啟動(dòng)時(shí),對(duì)控制過(guò)程進(jìn)行初始化,包括設(shè)定運(yùn)行方式和元件運(yùn)行參數(shù)范圍等;然后檢測(cè)運(yùn)行狀態(tài)是否發(fā)生故障,一旦檢測(cè)到故障發(fā)生,確定故障類型并選擇本地或者遠(yuǎn)方策略;最后,查找控制策略并執(zhí)行。

      圖2 穩(wěn)控策略活動(dòng)圖

      2 穩(wěn)控策略代碼自動(dòng)生成

      2.1 策略模型解析

      為了更好地解析和存儲(chǔ)策略模型內(nèi)容,方便UML活動(dòng)圖模型元素之間的映射,本文采用UML模型中數(shù)據(jù)標(biāo)準(zhǔn)交換格式XMI作為穩(wěn)控策略活動(dòng)圖的存儲(chǔ)格式,XMI可用于分布式異構(gòu)環(huán)境的模型和數(shù)據(jù)倉(cāng)庫(kù)間數(shù)據(jù)交換。XMI元素、模型元素、抽象語(yǔ)法樹(Abstract Syntax Tree, AST)與目標(biāo)代碼關(guān)系如圖3所示。

      圖3 XMI元素、模型元素、AST與目標(biāo)代碼的關(guān)系圖

      圖3中XMI是連接模型元素與AST的橋梁,每種策略模型元素都對(duì)應(yīng)一個(gè)固定的XMI標(biāo)簽和屬性,使用開放源代碼插件dom4j解析XMI生成AST,其中dom4j提供了豐富的XMI應(yīng)用程序接口,具有性能優(yōu)異、功能強(qiáng)大和極易使用的特點(diǎn),便于軟件工具的開發(fā)與應(yīng)用。

      2.2 策略模型到代碼的映射規(guī)則

      策略模型到代碼的映射規(guī)則是穩(wěn)控策略代碼自動(dòng)生成的核心部件。映射規(guī)則分為兩部分,一部分是語(yǔ)句代碼的映射,另一部分是程序結(jié)構(gòu)的映射。其中,策略模型映射的內(nèi)容如圖4所示。

      圖4 策略模型映射的內(nèi)容

      圖4中變量、事件和操作采用AST構(gòu)建映射規(guī)則,通過(guò)解析各自的AST進(jìn)行轉(zhuǎn)換。本文語(yǔ)句代碼映射規(guī)則僅以操作為例介紹模型AST到目標(biāo)代碼AST的映射規(guī)則,操作是模型調(diào)用函數(shù)/方法的過(guò)程,如圖5所示。

      圖5 操作的映射規(guī)則

      如圖5所示,模型操作AST與目標(biāo)代碼函數(shù)AST的參數(shù)名、參數(shù)類型一一映射,而操作類型和操作名則分別映射到函數(shù)類型和函數(shù)名。

      策略模型到目標(biāo)代碼映射規(guī)則的第二部分程序結(jié)構(gòu)映射仍采用AST作為轉(zhuǎn)換橋梁,使用深度優(yōu)先搜索算法對(duì)AST進(jìn)行遍歷。利用AST對(duì)策略模型中的順序、分支和循環(huán)進(jìn)行轉(zhuǎn)換,順序結(jié)構(gòu)將其轉(zhuǎn)換為順序控制語(yǔ)句;條件分支結(jié)構(gòu)將其轉(zhuǎn)換為選擇控制語(yǔ)句(如,if-else語(yǔ)句);循環(huán)結(jié)構(gòu)將其轉(zhuǎn)換為循環(huán)控制語(yǔ)句(如,while語(yǔ)句)。策略模型中順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)轉(zhuǎn)換成語(yǔ)法樹結(jié)構(gòu)的過(guò)程如下。

      1) 順序結(jié)構(gòu):如圖6所示,活動(dòng)A、B、C之間是順序關(guān)系,活動(dòng)B由輸入、輸出和執(zhí)行3部分組成,分別對(duì)應(yīng)的是代碼中的執(zhí)行入口動(dòng)作、執(zhí)行出口動(dòng)作和Guard1到GuardN執(zhí)行內(nèi)部動(dòng)作。

      2) 分支結(jié)構(gòu):如圖7所示,標(biāo)志著模型中分支的開始,標(biāo)志著模型中此次分支的結(jié)束,兩個(gè)結(jié)點(diǎn)中間部分對(duì)應(yīng)的是if-else語(yǔ)句。

      3) 循環(huán)結(jié)構(gòu):如圖8所示,循環(huán)以While類型節(jié)點(diǎn)為根結(jié)點(diǎn)的子樹,支持內(nèi)外層循環(huán)的嵌套,若循環(huán)結(jié)束的下一個(gè)節(jié)點(diǎn)是另一個(gè)循環(huán)的開始,則需新增一個(gè)空節(jié)點(diǎn),h1的外層循環(huán)和h2的內(nèi)循環(huán)對(duì)應(yīng)目標(biāo)代碼中的while語(yǔ)句代碼段。

      綜上,通過(guò)活動(dòng)圖、變量、事件和操作的映射規(guī)則,將穩(wěn)控策略模型解析生成AST并映射到目標(biāo)代碼可以實(shí)現(xiàn)自動(dòng)化處理,為后續(xù)工具開發(fā)提供了理論支持。

      圖6 順序結(jié)構(gòu)AST到代碼生成

      圖8 循環(huán)結(jié)構(gòu)AST到代碼生成

      需要說(shuō)明的是,前述過(guò)程實(shí)現(xiàn)了穩(wěn)控策略模型到功能性關(guān)鍵代碼的自動(dòng)生成,但在關(guān)鍵代碼導(dǎo)入到集成開發(fā)環(huán)境編譯成目標(biāo)程序時(shí),還需要考慮操作系統(tǒng)、編譯環(huán)境和makefile文件制作等外部因素,進(jìn)行輔助代碼自動(dòng)補(bǔ)全,可參閱有關(guān)文獻(xiàn)[25-27],本文不再贅述。

      3 工具實(shí)現(xiàn)及實(shí)例分析

      3.1 策略代碼自動(dòng)生成工具

      本文基于Eclipse集成開發(fā)平臺(tái)研發(fā)了穩(wěn)控策略代碼自動(dòng)生成工具,該工具的總體架構(gòu)如圖9所示。

      圖9 穩(wěn)控策略建模及代碼生成工具框架

      該代碼生成工具分為平臺(tái)層、中間層以及外層3個(gè)層級(jí)。

      平臺(tái)層:為中間層和外層提供開發(fā)環(huán)境,具有豐富的、靈活統(tǒng)一的接口,確保用戶專注核心業(yè)務(wù)邏輯開發(fā)而無(wú)需關(guān)注底層環(huán)境的相關(guān)配置。

      中間層:代碼自動(dòng)生成工具的核心層。由模型解析、信息存儲(chǔ)、C代碼生成和代碼規(guī)范化4個(gè)模塊構(gòu)成:模型解析模塊對(duì)以XMI格式存儲(chǔ)的模型進(jìn)行解析;信息存儲(chǔ)模塊將解析得到的有用信息以直觀的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ);C代碼生成模塊根據(jù)存儲(chǔ)的信息等將模型轉(zhuǎn)成語(yǔ)法樹結(jié)構(gòu),然后通過(guò)抽象語(yǔ)法樹的掃描算法實(shí)現(xiàn)代碼的生成;代碼規(guī)范化模塊主要對(duì)生成的代碼進(jìn)行格式處理。

      外層:外層建立輔助功能模塊,提供圖形化界面,主要包括穩(wěn)控策略模型的導(dǎo)入、目錄配置、//統(tǒng)計(jì)和代碼補(bǔ)全等模塊。

      基于該架構(gòu)的代碼自動(dòng)生成工具,具有顯著的優(yōu)勢(shì):既可以生成代碼框架,也可以生成完整的可運(yùn)行代碼;生成的代碼結(jié)構(gòu)清晰、冗余少;參照統(tǒng)一命名規(guī)范,便于后續(xù)的維護(hù)工作。這些優(yōu)點(diǎn)滿足電網(wǎng)穩(wěn)控系統(tǒng)周期性、系統(tǒng)性升級(jí)改造對(duì)工具和目標(biāo)代碼的要求。

      3.2 代碼自動(dòng)生成工具在改造工程中的實(shí)踐效果

      使用前述的策略建模及代碼自動(dòng)生成工具,對(duì)華北、華東、西南電網(wǎng)3個(gè)穩(wěn)控工程進(jìn)行升級(jí)改造,并與傳統(tǒng)開發(fā)方法在開發(fā)、調(diào)試所用工時(shí)和程序缺陷數(shù)量等方面進(jìn)行比對(duì),如表1所示。

      表1 裝置改造對(duì)比表

      基于新平臺(tái)(SSP-500R),采用上述的穩(wěn)控策略代碼自動(dòng)生成工具生成和導(dǎo)入標(biāo)準(zhǔn)模型、策略對(duì)象和策略邏輯描述,通過(guò)代碼映射規(guī)則生成目標(biāo)源代碼。顯見,與基于早兩代裝置(SCS-500E、FWK-300)手工編程相比,自動(dòng)生成代碼在開發(fā)、調(diào)試工時(shí)方面大幅縮短,開發(fā)過(guò)程產(chǎn)生的缺陷數(shù)顯著降低。經(jīng)分析發(fā)現(xiàn),這些缺陷全部是在工程需求變化、設(shè)計(jì)或者策略模型搭建等階段產(chǎn)生,而不是在模型到代碼轉(zhuǎn)換過(guò)程產(chǎn)生,可通過(guò)人為介入避免。

      顯然,新平臺(tái)和編程方法無(wú)論是編程效率還是可靠性,明顯優(yōu)于舊平臺(tái)和傳統(tǒng)編程方法。

      3.3 代碼自動(dòng)生成工具在新建工程中的實(shí)踐效果

      為進(jìn)一步驗(yàn)證本文所提代碼自動(dòng)生成方法的高效性和魯棒性,采用所提方法和工具對(duì)正在實(shí)施建設(shè)的西北分區(qū)電網(wǎng)系統(tǒng)保護(hù)進(jìn)行開發(fā)。該電網(wǎng)系統(tǒng)保護(hù)通過(guò)優(yōu)化網(wǎng)內(nèi)省/區(qū)電網(wǎng)多個(gè)超高壓交流和特高壓直流大型區(qū)域穩(wěn)控系統(tǒng),增加部分裝置,構(gòu)建了具有協(xié)控總站、協(xié)控主站、超高壓交流協(xié)控子站、特高壓交流協(xié)控子站、執(zhí)行站五層結(jié)構(gòu)的電網(wǎng)系統(tǒng)保護(hù)骨干網(wǎng)架,擬建成層次分明、判據(jù)適應(yīng)性高,體系架構(gòu)與控制策略合理的源網(wǎng)荷儲(chǔ)和FACTS協(xié)調(diào)控制系統(tǒng)。整個(gè)系統(tǒng)由4個(gè)協(xié)控總站、8個(gè)協(xié)控主站、50余個(gè)交直流協(xié)控子站和120余個(gè)風(fēng)光水火執(zhí)行站構(gòu)成,其控制規(guī)模國(guó)內(nèi)最大,也為本文提出的安全穩(wěn)控代碼自動(dòng)生成方法的代碼生成工具實(shí)踐提供了良好的基礎(chǔ)和條件。

      從各個(gè)控制層級(jí)中依次挑選具有代表性的6個(gè)主站、18個(gè)子站、26個(gè)執(zhí)行站的穩(wěn)控裝置進(jìn)行開發(fā),對(duì)、、統(tǒng)計(jì)如圖10所示。

      圖10 策略模型act, Lc, Ld統(tǒng)計(jì)圖

      可見,3種類型站點(diǎn)的,,規(guī)模呈現(xiàn)出站點(diǎn)策略功能復(fù)雜度(主站>子站>執(zhí)行站)同樣的規(guī)律,但從中也存在2個(gè)子站的規(guī)模超過(guò)主站,通過(guò)分析發(fā)現(xiàn)這2個(gè)站的(+)/數(shù)量比達(dá)到4,表示模型中圍繞著各個(gè)活動(dòng)的控制連接線和數(shù)據(jù)連接線分支多且復(fù)雜。證明所選站點(diǎn)符合工程實(shí)際且具有代表性。

      代碼自動(dòng)生成和補(bǔ)全統(tǒng)計(jì)如圖11所示。

      圖11 代碼自動(dòng)生成及補(bǔ)全統(tǒng)計(jì)圖

      可見,策略模型自動(dòng)生成代碼編譯生成目標(biāo)程序所需的代碼補(bǔ)全數(shù)量?jī)H占關(guān)鍵代碼行數(shù)的1%~3%,證明模型到自動(dòng)生成代碼比例高,可大幅縮短程序開發(fā)周期。

      目標(biāo)程序裝載到裝置后,經(jīng)過(guò)裝置集成測(cè)試和出廠測(cè)試,獲得的軟件缺陷歸整到代碼行數(shù)如圖12所示。

      圖12 代碼自動(dòng)生成及缺陷統(tǒng)計(jì)圖

      根據(jù)各站點(diǎn)軟件缺陷數(shù)defect、關(guān)鍵代碼行數(shù)keycode,計(jì)算整個(gè)系統(tǒng)開發(fā)的平均缺陷率如式(17)所示,即每千行代碼缺陷率為2.06‰,滿足軟件能力成熟度模型CMMI3的要求(CMM3級(jí)2.39‰)。

      綜上可見,與傳統(tǒng)開發(fā)方法相比,新方法無(wú)論

      是工程開發(fā)效率,還是自動(dòng)生成代碼的正確性,乃至代碼長(zhǎng)周期運(yùn)行的可靠程度,都得到了大幅提升。

      4 結(jié)論

      現(xiàn)代電力系統(tǒng)特性正在并將持續(xù)發(fā)生深刻變化,對(duì)電網(wǎng)運(yùn)行控制和故障防御體系建設(shè)提出了前所未有的挑戰(zhàn)。在較長(zhǎng)時(shí)期內(nèi),穩(wěn)控系統(tǒng)仍將是我國(guó)電網(wǎng)安全穩(wěn)定運(yùn)行不可或缺的重要設(shè)施,電網(wǎng)穩(wěn)控策略編程是一項(xiàng)基礎(chǔ)性工作,新形勢(shì)下固守人工低效率的編程方式并非明智之舉。本文提出了一種穩(wěn)控策略代碼自動(dòng)實(shí)現(xiàn)方法并開發(fā)了平臺(tái)工具,經(jīng)過(guò)改造和新建工程的實(shí)踐驗(yàn)證,可以大幅提升電網(wǎng)穩(wěn)控策略工程化編程的效率和可靠性。此方法和相關(guān)工具將為我國(guó)電力系統(tǒng)穩(wěn)控專業(yè)正在大力推行的穩(wěn)控裝置的標(biāo)準(zhǔn)化工作奠定良好基礎(chǔ),對(duì)不確定性環(huán)境下電網(wǎng)安全穩(wěn)定自適應(yīng)閉環(huán)緊急控制邁向工程實(shí)用化也將大有裨益。

      [1] 陳興華, 李峰, 陳睿, 等. 計(jì)及安全穩(wěn)定二、三道防線的電網(wǎng)運(yùn)行風(fēng)險(xiǎn)評(píng)估[J]. 電力系統(tǒng)保護(hù)與控制, 2020, 48(4): 159-166.

      CHEN Xinghua, LI Feng, CHEN Rui, et al. Risk assessment of power grid operation considering second and third defense line of security and stability[J]. Power System Protection and Control, 2020, 48(4): 159-166.

      [2] 李祖明, 張星宇, 陳松林, 等. 安穩(wěn)系統(tǒng)中風(fēng)電脫網(wǎng)風(fēng)險(xiǎn)在線評(píng)價(jià)指標(biāo)[J]. 電力系統(tǒng)保護(hù)與控制, 2020, 48(20): 162-169.

      LI Zuming, ZHANG Xingyu, CHEN Songlin, et al.On-line evaluation method of wind farm off-grid risk in power system stability control[J]. Power System Protection and Control, 2020, 48(20): 162-169.

      [3] 李欣悅, 李鳳婷, 尹純亞, 等. 直流雙極閉鎖故障下送端系統(tǒng)暫態(tài)過(guò)電壓計(jì)算方法[J]. 電力系統(tǒng)保護(hù)與控制, 2021, 49(1): 1-8.

      LI Xinyue, LI Fengting, YIN Chunya, et al. Transient overvoltage calculation method of HVDC sending-end system under DC bipolar blocking[J]. Power System Protection and Control, 2021, 49(1): 1-8.

      [4] ZHAO Jie, ZHAO Rongcai. Code generation for distributed-memory architectures[J]. Computer Journal, 2016, 59(1): 119-132.

      [5] ALBERT M, CABOT J, GóMEZ C, et al. Automatic generation of basic behavior schemas from UML class diagrams[J]. Software & Systems Modeling, 2010, 9(1): 47-67.

      [6] 陳宏君, 劉克金, 馮亞?wèn)|, 等. 新一代保護(hù)測(cè)控裝置配套工具軟件設(shè)計(jì)與應(yīng)用[J]. 電力系統(tǒng)自動(dòng)化, 2013, 37(20): 92-96.

      CHEN Hongjun, LIU Kejin, FENG Yadong, et al. Design and application of supporting tool software for new generation protection and measuring-control devices[J]. Automation of Electric Power Systems, 2013, 37(20): 92-96.

      [7] 王旭寧, 郭曉寧, 陳玉峰, 等. 一種通用的可視化嵌入式應(yīng)用開發(fā)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電力系統(tǒng)保護(hù)與控制, 2016, 44(13): 151-155.

      WANG Xuning, GUO Xiaoning, CHEN Yufeng, et al. Design and implementation of a universal visual embedded application development platform[J]. Power System Protection and Control, 2016, 44(13): 151-155.

      [8] 夏小琴, 鮑顏紅, 任先成, 等. 計(jì)及靜態(tài)和暫態(tài)安全穩(wěn)定約束的調(diào)度計(jì)劃輔助決策[J]. 電力系統(tǒng)保護(hù)與控制, 2019, 47(15): 24-30.

      XIA Xiaoqin, BAO Yanhong, REN Xiancheng, et al. Auxiliary decision-making of dispatching plan considering static security and transient stability constrains[J]. Power System Protection and Control, 2019, 47(15): 24-30.

      [9] 王勝明, 徐泰山, 陳剛, 等. 電網(wǎng)安全穩(wěn)定控制系統(tǒng)當(dāng)值策略可實(shí)施評(píng)估方法[J]. 電力系統(tǒng)自動(dòng)化, 2019, 43(24): 126-133.

      WANG Shengming, XU Taishan, CHEN Gang, et al. Practicability assessment method of duty strategy for security and stability control system in power grid[J]. Automation of Electric Power Systems, 2019, 43(24): 126-133.

      [10] 邵偉, 周曉寧, 王勝明, 等. 一種面向?qū)ο蟮姆€(wěn)控策略建模方法[J]. 智能電網(wǎng), 2014, 30(9): 20-25.

      SHAO Wei, ZHOU Xiaoning, WANG Shengming, et al. An object-oriented stability control strategy modeling method[J]. Smart Grid, 2014, 30(9): 20-25.

      [11] 李力, 李志平, 王亮, 等. 穩(wěn)定控制裝置中策略搜索匹配狀態(tài)機(jī)模型[J]. 電力系統(tǒng)自動(dòng)化, 2012, 36(17): 86-89.

      LI Li, LI Zhiping, WANG Liang, et al. A finite-state machine model for strategy table search and match of standardized stability control device[J]. Automation of Electric Power Systems, 2012, 36(17): 86-89.

      [12] 王博, 舒新峰, 王小銀, 等. 自動(dòng)代碼生成技術(shù)的發(fā)展現(xiàn)狀與趨勢(shì)[J]. 西安郵電大學(xué)學(xué)報(bào), 2018, 23(3): 1-11.

      WANG Bo, SHU Xinfeng, WANG Xiaoyin, et al. Current situation and trend of automatic code generation technology[J]. Journal of Xi'an University of Posts and Telecommunications, 2018, 23(3): 1-11.

      [13] 王博, 華慶一, 舒新峰. 一種基于模型和模板融合的自動(dòng)代碼生成方法[J]. 現(xiàn)代電子技術(shù), 2019, 42(22): 69-74.

      WANG Bo, HUA Qingyi, SHU Xinfeng. An automatic code generation method based on fusion of model and template[J]. Modern Electronics Technique, 2019, 42(22): 69-74.

      [14] 祁忠, 施志良, 李楓, 等. 安全穩(wěn)定控制管理系統(tǒng)的研制及應(yīng)用[J]. 電力系統(tǒng)保護(hù)與控制, 2016, 44(1): 122-127.

      QI Zhong, SHI Zhiliang, LI Feng, et al. Development and application of the security stability control management system[J]. Power System Protection and Control, 2016, 44(1): 122-127.

      [15] 陳飛建, 呂元雙, 樊國(guó)盛. 基于信息融合的智能變電站繼電保護(hù)設(shè)備自動(dòng)測(cè)試系統(tǒng)[J]. 電力系統(tǒng)保護(hù)與控制, 2020, 48(5): 158-163.

      CHEN Feijian, Lü Yuanshuang, FAN Guosheng. Automatic test system of relay protection device for smart substation based on information fusion technology[J]. Power System Protection and Control, 2020, 48(5): 158-163.

      [16] 周虎兵, 張煥青, 楊增力, 等. 二次系統(tǒng)隱性故障的多指標(biāo)綜合風(fēng)險(xiǎn)評(píng)估[J]. 電力系統(tǒng)保護(hù)與控制, 2019, 47(9): 120-127.

      ZHOU Hubing, ZHANG Huanqing, YANG Zengli, et al. Multi-criteria integrated risk assessment of secondary system hidden failures[J]. Power System Protection and Control, 2019, 47(9): 120-127.

      [17] HUANG Kun, LI Yanman, ZHANG Xiaoyan, et al. Research on power control strategy of household-level electric power router based on hybrid energy storage droop control[J]. Protection and Control of Modern Power Systems, 2021, 6(2): 178-190.

      [18] 電網(wǎng)安全自動(dòng)裝置標(biāo)準(zhǔn)化設(shè)計(jì)規(guī)范: Q/GDW 11356-2014[S].

      Standardization design specification of security automatic equipment for power system: Q/GDW 11356-2014[S].

      [19] 電網(wǎng)安全自動(dòng)裝置信息規(guī)范: Q/GDW 11632-2016[S].

      Information specification of security automatic equipment for power system: Q/GDW 11632-2016[S].

      [20] OO M E, THUZAR M. Transmission capacity improvement using unified power flow controller with new control strategy[J]. International Journal of Electrical and Electronic Engineering & Telecommunications, 2021, 10(3): 225-232.

      [21] BHUSHAN K B, INDRASEN V, VASUDEVANAIDU P. A new design of the distribution custom power controllers for mitigation of power quality problems[J]. International Journal of Electrical and Electronic Engineering & Telecommunications, 2014, 3(1): 122-132.

      [22] STEFFI M S, VISITHA P, KAMAL C. Automatic irrigation system using programmable logic controller[J]. International Journal of Electrical and Electronic Engineering & Telecommunications, 2015, 1(1): 246-252.

      [23] 電力系統(tǒng)安全穩(wěn)定導(dǎo)則: GB/T 38755-2019[S].

      Code on security and stability for power system: GB/T 38755-2019[S].

      [24] 頓敦, 李哲, 秦紅霞, 等. 基于UML的穩(wěn)定控制系統(tǒng)邏輯模塊軟件設(shè)計(jì)[J]. 電力系統(tǒng)自動(dòng)化設(shè)備, 2007, 27(2): 85-89.

      DUN Dun, LI Zhe, QIN Hongxia, et al. UML-based software design for logic unit of stability control system[J]. Electric Power Automation Equipment, 2007, 27(2): 85-89.

      [25] BIRKEN K. Building code generators for DSLs using a partial evaluator for the Xtend language[C] // International Symposium on Leveraging Applications of Formal Methods, Springer, 2014, Berlin, Heidelberg.

      [26] 楊志斌, 袁勝浩, 謝健, 等. 一種同步語(yǔ)言多線程代碼自動(dòng)生成工具[J]. 軟件學(xué)報(bào), 2019, 30(7): 1980-2002.

      YANG Zhibin, YUAN Shenghao, XIE Jian, et al. Multi-threaded code generation tool for synchronous language[J]. Journal of Software, 2019, 30(7): 1980-2002.

      [27] VISWANATHAN S E, SAMUEL P. Automatic code generation using unified modeling language activity and sequence models[J]. IET Software, 2016, 10(6): 164-172.

      A method of automatic realization of security and stability control strategy code based on a UML activity diagram

      LIU Yimin1, YAN Yunsong2, 3, XU Gaoyang2, DONG Xijian2, 3

      (1. North China Branch of State Grid Corporation of China, Beijing 100053, China; 2. NARI Group Corporation/State Grid Electric Power Research Institute, Nanjing 210003, China; 3. State Key Laboratory of Smart Grid Protection and Control, Nanjing 211106, China)

      To improve and ensure the efficiency and reliability of control strategy for power grid security and stability control system (SSC), an automatic programming realization method using a UML activity diagram for the SSC strategy is proposed and the corresponding basic platform is developed. First, the least dynamic behaviors elements of the SSC strategy are extracted to propose stability control strategies dynamic behavior description methods. The stability control model and an abstract syntax tree based on UML activity diagrams are thus established. After that, the storage standard and format of the SSC strategy model is regulated, the model-to-code mapping rules are formulated, and the model is automatically converted into embedded system executable code using depth first search based on the abstract syntax tree. Finally, a technical software framework which automatically generates the main body of code from the SSC strategy model and automatically completes auxiliary code is constructed, developed, and realized. The results of the programming cases for 4 large-scale power grid stability control system construction and renovation projects have proven the feasibility, efficiency and reliability of the proposed code automatic generation method and platform tools.

      security and stability control; dynamic behaviors elements; SSC strategy model; abstract syntax tree; mapping rules; code automatic generation

      10.19783/j.cnki.pspc.210515

      國(guó)家電網(wǎng)公司總部科技項(xiàng)目資助“策略靈活組態(tài)的安全穩(wěn)定控制系統(tǒng)研究”(5100-202055019A-0-0-00)

      This work is supported by the Science and Technology Project of the Headquarters of State Grid Corporation of China (No. 5100-202055019A-0-0-00).

      2021-03-31;

      2021-12-07

      劉一民(1981—),男,博士,教授級(jí)高工,研究方向?yàn)槔^電保護(hù)運(yùn)行和管理;E-mail: hbdwjdbh@163.com

      顏云松(1981—),男,博士在讀,高級(jí)工程師,研究方向?yàn)殡娋W(wǎng)安全穩(wěn)定控制;E-mail: yanyunsong@ sgepri.sgcc.com. cn

      許高陽(yáng)(1983—),男,通信作者,碩士,高級(jí)工程師,研究方向?yàn)殡娋W(wǎng)安全穩(wěn)定控制。E-mail: xugaoyang@ sgepri.sgcc.com.cn

      (編輯 許 威)

      猜你喜歡
      代碼生成代碼電網(wǎng)
      穿越電網(wǎng)
      Lustre語(yǔ)言可信代碼生成器研究進(jìn)展
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
      電子世界(2016年15期)2016-08-29 02:14:28
      電網(wǎng)也有春天
      河南電力(2016年5期)2016-02-06 02:11:32
      基于XML的代碼自動(dòng)生成工具
      電子科技(2015年2期)2015-12-20 01:09:20
      一個(gè)電網(wǎng)人的環(huán)保路
      河南電力(2015年5期)2015-06-08 06:01:46
      苗栗县| 永和县| 枣阳市| 三穗县| 安仁县| 沙田区| 海林市| 常山县| 耒阳市| 南充市| 福贡县| 台江县| 开阳县| 思茅市| 姚安县| 比如县| 龙里县| 广东省| 团风县| 龙山县| 民权县| 卢湾区| 磴口县| 武强县| 新源县| 林芝县| 凭祥市| 樟树市| 伊金霍洛旗| 平遥县| 商洛市| 石门县| 通河县| 石河子市| 金堂县| 阜阳市| 城步| 秭归县| 玛纳斯县| 阿坝县| 台安县|