朱紅杰 郎潔 蘇蓉 魯雙貴 周寒英
摘 要 近幾年來,我國社會城市化進(jìn)程持續(xù)推進(jìn),社會電氣工程的數(shù)量以及需求量也日益增加,進(jìn)而促進(jìn)了電氣行業(yè)的可持續(xù)發(fā)展,現(xiàn)代科學(xué)技術(shù)的改革和創(chuàng)新,使得越來越多的先進(jìn)技術(shù)被應(yīng)用到各個領(lǐng)域當(dāng)中,電氣行業(yè)亦是如此。社會和人們對電氣的需求量有了明顯的提升,電氣工程的構(gòu)架和范圍逐漸擴(kuò)大,電氣工程的多樣性與復(fù)雜性也日益顯現(xiàn),這也為電氣工程設(shè)施的安全性提出了更高的要求。文章通過共性業(yè)務(wù)的模型抽取和模型庫搭建,避免了同質(zhì)功能模塊的重復(fù)開發(fā),大大減少了開發(fā)人員的工作量;以活動圖形式搭建的業(yè)務(wù)流程保證了設(shè)計(jì)與實(shí)施的一致性,且在后期維護(hù)過程中易于修改,提高了系統(tǒng)的可維護(hù)性。
關(guān)鍵詞 模型驅(qū)動;電力信息系統(tǒng);研發(fā);模式
引言
科學(xué)技術(shù)的進(jìn)步帶動了社會的發(fā)展,信息技術(shù)的普及,對人類各個方面都產(chǎn)生了影響,提升了人類的物質(zhì)生活水平以及社會生活品質(zhì),信息技術(shù)的時代,人類對物質(zhì)和精神生活的需求也在發(fā)生著變化,人工智能的應(yīng)用,尤其是和計(jì)算機(jī)網(wǎng)絡(luò)中相結(jié)合,可以對計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)中存在的不足給出合理、科學(xué)的解決辦法,大大提升了人類社會的精神文明和物質(zhì)文明建設(shè),人工智能技術(shù)方面的了人類生活的同時,還為人類給予了更加智能化和人性化的服務(wù),人工智能中的現(xiàn)代信息技術(shù)的研發(fā)和利用,有利于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的創(chuàng)新與發(fā)展,以及為計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的研發(fā)方向與使用提供了技術(shù)基礎(chǔ),本文提出一種基于模型驅(qū)動架構(gòu)(Model Driven Architecture,MDA)的電力企業(yè)信息系統(tǒng)快速開發(fā)方法。
1模型驅(qū)動架構(gòu)概述
在此大環(huán)境下,模型驅(qū)動架構(gòu)是一個基于UML及其他工業(yè)標(biāo)準(zhǔn)的編程框架,用于 對程序設(shè)計(jì)與建模、源代碼進(jìn)行可視化表達(dá)與轉(zhuǎn)換(Transformation),這種模型化方式可以表達(dá)軟件生命周期的各個階段,包括系統(tǒng)需求分析、架構(gòu)設(shè)計(jì)、構(gòu)建、測試、部署和運(yùn)維工作等。與傳統(tǒng)UML模型的差異在于,MDA模型是機(jī)器可讀的、高度抽象的,可以重復(fù)地、自動地轉(zhuǎn)換為代碼框架、測試裝置、業(yè)務(wù)集成代碼以及平臺部署腳本等。MDA模型可以劃分為三種不同的抽象層面,主要是計(jì)算無關(guān)模型、平臺無關(guān)模型以及平臺相關(guān)模型。
首先通過元模型來搭建業(yè)務(wù)模型,然后執(zhí)行 PIM 到 PSM 的自動轉(zhuǎn)換以及 PSM 到代碼的自動轉(zhuǎn)換,最后對生成的可執(zhí)行業(yè)務(wù)邏輯進(jìn)行統(tǒng)一部署即可實(shí)現(xiàn)業(yè)務(wù)開發(fā)的整個流程,具體包括以下步驟[1]。
步驟序號 步驟內(nèi)容
1 由抽象平臺無關(guān)能力得到平臺無關(guān)元模型
2 由抽象平臺相關(guān)能力得到平臺相關(guān)元模型,此處的平臺可以是J2EE 平臺或 .NET平臺等
3 根據(jù)已抽象的平臺無關(guān)元模型和平臺相關(guān)元模型之間的關(guān)系,編寫平臺無關(guān)元模型到平臺相關(guān)元模型的映射規(guī)則
4 根據(jù)已抽象的平臺相關(guān)元模型,編寫與其對應(yīng)的構(gòu)件代碼
5 編寫平臺相關(guān)元模型到對應(yīng)構(gòu)件代碼的映射規(guī)則
6 分析業(yè)務(wù)的功能,產(chǎn)生業(yè)務(wù)功能需求
7 根據(jù)業(yè)務(wù)功能需求,利用已抽象的平臺無關(guān)元模型建模業(yè)務(wù),產(chǎn)生業(yè)務(wù)的平臺無關(guān)模型
8 對業(yè)務(wù)的平臺無關(guān)模型進(jìn)行模型檢驗(yàn),反復(fù) 修正得到符合業(yè)務(wù)建模規(guī)范的模型
9 利用已編寫的PIM-PSM 模型映射規(guī)則執(zhí)行 PIM 到 PSM 的模型轉(zhuǎn)換,由業(yè)務(wù)的平臺無關(guān)模型產(chǎn) 生業(yè)務(wù)的平臺相關(guān)模型
續(xù)表
步驟序號 步驟內(nèi)容
10 業(yè)務(wù)的平臺相關(guān)模型進(jìn)行模型檢驗(yàn),反復(fù) 修正得到符合業(yè)務(wù)建模規(guī)范的模型
11 用已編寫的PSM- 代碼映射規(guī)則執(zhí)行模型到代碼的轉(zhuǎn)換,產(chǎn)生業(yè)務(wù)代碼
2模型管理
模型是對配置項(xiàng)的結(jié)構(gòu)抽象,其本質(zhì)還是各類IT軟硬件設(shè)施,通過模型對IT軟硬件設(shè)施進(jìn)行了描述,定義了模型內(nèi)部屬性和模型間關(guān)聯(lián)關(guān)系,將真實(shí)世界不同類別的IT軟硬件設(shè)施投影到CMDB中,便于在CMDB中進(jìn)行統(tǒng)一管理。
模型管理提供了基礎(chǔ)的模型構(gòu)建服務(wù),不僅提供靈活的模型構(gòu)建方式,還提供多種預(yù)置模型關(guān)系,幫助用戶準(zhǔn)確有效的描述模型屬性和模型間的關(guān)系;同時提供基于項(xiàng)目化經(jīng)驗(yàn)積累的預(yù)置的模型,支持基于用戶真實(shí)IT環(huán)境進(jìn)行快速建模,打造符合用戶業(yè)務(wù)真實(shí)需求的模型。
北塔CMDB的模型具備以下能力:①模型支持快速變更、擴(kuò)展,包括模型屬性、模型關(guān)系的改變。②模型支持管理配置項(xiàng)類型間的基本關(guān)系,支持對配置項(xiàng)多重關(guān)系建模。③支持跟蹤和記錄每個模型的生命周期狀態(tài),保存模型的屬性、關(guān)系。④提供預(yù)置的、可擴(kuò)展的模型,可以直接應(yīng)用于業(yè)務(wù)使用。
2.1 靈活構(gòu)建
①支持基于IT軟硬件設(shè)施類型進(jìn)行模型構(gòu)建,根據(jù)不同類型IT軟硬件設(shè)施的真實(shí)需求,靈活的構(gòu)建模型本身、模型屬性和模型關(guān)系。②支持新增模型,同類對象支持通過繼承的方式新增,提高新增模型效率。③支持新增模型屬性,定義屬性的名稱、類型、編輯、必填等基礎(chǔ)要求,④支持新增模型關(guān)系,定義模型間的關(guān)系類型、方向等。⑤支持模型導(dǎo)入導(dǎo)出,支持根據(jù)導(dǎo)入文件內(nèi)容構(gòu)建模型。
2.2 快速變更/擴(kuò)展
支持基于現(xiàn)有模型快速的變更、擴(kuò)展,包括模型屬性和模型關(guān)系,直接對歸屬于該模型的配置項(xiàng)生效,實(shí)時同步更新[2]。
2.3 關(guān)聯(lián)展現(xiàn)
支持模型之間的關(guān)聯(lián)關(guān)系的動態(tài)展現(xiàn),直觀反映模型之間的依存關(guān)系。
支持通過表格、圖方式展現(xiàn)單模型的關(guān)聯(lián)關(guān)系。
支持通過圖方式進(jìn)行模型展開,統(tǒng)一展現(xiàn)多層級模型的關(guān)聯(lián)關(guān)系。
支持的關(guān)系類型包括但不限于組合、包含、關(guān)聯(lián)、依賴、備份、憑據(jù)等關(guān)系。
組合:由幾個部分或個體結(jié)合成為的整體。譬如主機(jī)內(nèi)部由CPU、內(nèi)存、硬件等組合而成。
包含:整體和整體之外的個體存在關(guān)聯(lián)關(guān)系。譬如網(wǎng)絡(luò)設(shè)備外部可包含水浸傳感器。
關(guān)聯(lián):個體之間存在互相影響的關(guān)系。譬如交換機(jī)與主機(jī)、防火墻存在物理連接關(guān)系。
依賴:個體依托其他部分而存在,無法獨(dú)立。譬如數(shù)據(jù)庫的部署依賴主機(jī)操作系統(tǒng)環(huán)境。
備份:個體用于后備、替補(bǔ),實(shí)現(xiàn)容災(zāi)。譬如兩臺雙機(jī)熱備的主機(jī),其關(guān)系為主備或互為備份。
憑據(jù):個體用于存儲連接資源所需要的身份驗(yàn)證信息。譬如網(wǎng)絡(luò)設(shè)備的SNMP訪問賬號[3]。
2.4 配置項(xiàng)管理
配置項(xiàng)(CI)指的是為了支持IT服務(wù)而管理的所有元素,是用戶IT環(huán)境中的具體軟硬件設(shè)施。配置項(xiàng)信息與IT環(huán)境服務(wù)支持和服務(wù)交付緊密相連,準(zhǔn)確的配置項(xiàng)信息能夠保障IT服務(wù)的正常運(yùn)作,提高IT服務(wù)的標(biāo)準(zhǔn)化、智能化水平。
配置項(xiàng)管理提供了基礎(chǔ)配置項(xiàng)的增刪改查服務(wù),支持基于模型進(jìn)行實(shí)例化,快速生成配置項(xiàng);支持管理展現(xiàn)配置項(xiàng)的變更歷史;支持維護(hù)配置項(xiàng)之間的關(guān)系,并通過圖方式進(jìn)行直觀展現(xiàn)。
北塔CMDB的配置項(xiàng)具備以下能力:
配置項(xiàng)支持與模型聯(lián)動,實(shí)現(xiàn)快速變更、擴(kuò)展。
配置項(xiàng)的變更歷史全記錄,支持配置項(xiàng)全生命周期變更歷史回溯查看。
支持基于模型關(guān)聯(lián)動態(tài)添加配置項(xiàng)之間的關(guān)聯(lián)關(guān)系,支持關(guān)聯(lián)多個模型的多個配置項(xiàng)。
2.5 接口與文檔
CMDB接口遵循符合北塔規(guī)范的接口標(biāo)準(zhǔn),支持向第三方數(shù)據(jù)交換提供數(shù)據(jù)。接口本身采用松耦合設(shè)計(jì),向外提供功能獨(dú)立的通用型接口。主要提供的核心接口包括模型生命周期管理、配置項(xiàng)生命周期管理等,支持第三方系統(tǒng)按需調(diào)用。
在線文檔有效提高了與用戶的交互,幫助用戶了解CMDB產(chǎn)品,用戶不再需要通過線下溝通、向技術(shù)人員索要等方式獲取CMDB信息,而是隨著CMDB版本的發(fā)布更新自動獲取最新的CMDB信息,可以快速瀏覽、查閱。
北塔CMDB的接口及文檔具備以下能力:
采用業(yè)界主流的Restful接口方式,使用簡單、快捷,通用性好,可靠性高。
接口獨(dú)立性強(qiáng),便于用戶理解;接口用戶友好,支持與第三方集成。
提供在線文檔,支持用戶在線查閱,與程序版本同步更新[4]。
3電力信息系統(tǒng)特征分析及業(yè)務(wù)系統(tǒng)建模
3.1 特征分析
電力信息系統(tǒng)主要是以發(fā)電生產(chǎn)為主要業(yè)務(wù),能夠劃分為發(fā)電、檢測、穩(wěn)定以及班組管理4種信息系統(tǒng),其中最為重要的、也是最為典型的信息系統(tǒng)時包含了企業(yè)資源計(jì)劃、企業(yè)資產(chǎn)管理系統(tǒng)、實(shí)時數(shù)據(jù)庫系統(tǒng)、辦公自動化等,其他信息系統(tǒng)一般依照業(yè)務(wù)的需要獨(dú)立開發(fā),與此類典型系統(tǒng)互為補(bǔ)充,共同為發(fā)電生產(chǎn) 服務(wù)。
3.2 業(yè)務(wù)系統(tǒng)建模
模型是MDA研發(fā)方式的主要因素之一,對模型的分析主要包含了準(zhǔn)確性和穩(wěn)定性兩個層面。
準(zhǔn)確性指的時依照模型對項(xiàng)目的需要做出準(zhǔn)確的表達(dá),進(jìn)而能夠使用項(xiàng)目模型自動生成符合業(yè)務(wù)邏輯的業(yè)務(wù)功能代碼。此外,為了支持業(yè)務(wù)代碼的自動生成,模型必須能由計(jì)算機(jī)自動解釋。所以,模型必須是用精確定義的語言進(jìn)行表達(dá),使其具有確定的形式和概念。穩(wěn)定性指的是模型及模型的組合關(guān)系是否能表示完整的、準(zhǔn)確的、穩(wěn)定的的業(yè)務(wù)邏輯,而不需要第三方或人工進(jìn)行輔助操作,它直接決定了MDA開發(fā)方式是否可行[5]。
4基于模型驅(qū)動的電力信息系統(tǒng)開發(fā)方法
模型轉(zhuǎn)換是MDA架構(gòu)當(dāng)中較為核心的技術(shù),采取模型轉(zhuǎn)換能夠完成CIM、PIM、PSM各階段模型由抽象到具象、由上到下的自動轉(zhuǎn)換,并且還能夠進(jìn)一步將PSM層模型轉(zhuǎn)變?yōu)榫唧w的業(yè)務(wù)邏輯代碼架構(gòu),降低代碼研發(fā)的工作量。所以,模型轉(zhuǎn)換技術(shù)是MDA研發(fā)形式是否可以廣泛使用的主要因素之一。模型轉(zhuǎn)換的實(shí)質(zhì)是通過預(yù)定義的映射規(guī)則將源模型的元素映射為目標(biāo)模型的元素,一般稱這種完成模型轉(zhuǎn)換的技術(shù)為轉(zhuǎn)換引擎。M2C模型到代碼轉(zhuǎn)換引擎主要完成PSM層模型到業(yè)務(wù)代碼的自動轉(zhuǎn)換,轉(zhuǎn)換得到的業(yè)務(wù)代碼往往是框架性質(zhì)的代碼邏輯描述,經(jīng)過人工修改或補(bǔ)充即可成為真正的業(yè)務(wù)代碼執(zhí)行。M2C 實(shí)施的過程普遍分為:制定元模型到代碼的轉(zhuǎn)換規(guī)則,第二,通過模型編輯器逐個提取源模型中的模型元素。
第三,應(yīng)用轉(zhuǎn)換規(guī)則完成從源模型元素到目標(biāo)模型元素之間的轉(zhuǎn)映射換。本文采用基于可擴(kuò)展樣式表轉(zhuǎn)換語言處理器的模型到代碼轉(zhuǎn)換方法。首先通過PSM層元模型搭建系統(tǒng)業(yè)務(wù)模型,然后通過基于XML的元數(shù)據(jù)交換技術(shù)將UML活動圖形式的業(yè)務(wù)模型轉(zhuǎn)化為XML業(yè)務(wù)描述文件,其中包含了部分約束條件以實(shí)現(xiàn)個性化需求;其次,PSM層元模型通過XSLT編輯器生成XSLT映射規(guī)則文件,依照元模型到組件代碼的映射關(guān)系,通過代碼生成器生成特定平臺的代碼模板,依照平臺相關(guān)性,可以分別生成J2EE平臺或.NET平臺上的可執(zhí)行業(yè)務(wù)代碼[6]。
5結(jié)束語
綜上所述,電力信息系統(tǒng)的合理運(yùn)用對電力系統(tǒng)有著十分重要的作用,對電力系統(tǒng)的發(fā)展有著重要的意義,要進(jìn)一步認(rèn)知到抽象電力信息系統(tǒng)元模型抽取電力信息系統(tǒng)開發(fā)過程中涉及的通用功能的必要性以及重要性,實(shí)現(xiàn)電力系統(tǒng)的智能化,基于模型驅(qū)動架構(gòu)的電力信息系統(tǒng)快速開發(fā)方法的合理運(yùn)用,能夠保障電力系統(tǒng)的安全性與穩(wěn)定性,在一定程度上發(fā)揮了其特性與作用,有利于創(chuàng)設(shè)科學(xué)的、合理的、安全的電力運(yùn)轉(zhuǎn)環(huán)境。促進(jìn)了國民經(jīng)濟(jì)的增長,加強(qiáng)供用電的合理運(yùn)用,從而使其整體得以科學(xué)合理的發(fā)展。因此,分析和研究模型驅(qū)動架構(gòu)的電力信息系統(tǒng)快速開發(fā)方法及應(yīng)用是具有現(xiàn)實(shí)意義與實(shí)踐意義的,雖然在管理的過程中還存在著種種的不足,例如:元模型的完備性不足,僅僅實(shí)現(xiàn)了數(shù)據(jù)庫操作、信息交互、用戶管 理等通用的能力模型,對于較為復(fù)雜的業(yè)務(wù)系統(tǒng)建 模通力不足,這就要求在明確管理工作的首要前提之上,改善和創(chuàng)新管理方式,下一步工作需要進(jìn)一步建設(shè)更加 完備的元模型庫,以提高本方法的應(yīng)用范疇。對其進(jìn)行細(xì)致有效的改進(jìn),從而推進(jìn)其科學(xué)開展和不斷發(fā)展,有利于電廠的經(jīng)營利益與社會利益的合理結(jié)合和有效提升,以保障電廠電氣工程的整體品質(zhì)質(zhì)量與工程效率的穩(wěn)步提升。
參考文獻(xiàn)
[1] 光峰濤,何永秀,尤培培,等.基于結(jié)構(gòu)分解模型的中國電力消費(fèi)驅(qū)動因素研究[J].中國電力,2019,(28):1-9.
[2] 謝先明.基于混合數(shù)據(jù)驅(qū)動模型的多尺度電力能耗預(yù)測方法研究[D].鎮(zhèn)江:江蘇大學(xué),2019.
[3] 任輝,竇仁暉,鄭永康,等.一種模型驅(qū)動的測控裝置優(yōu)化研究[J].電力系統(tǒng)保護(hù)與控制,2019,47(3):129-135.
[4] 何伊妮,曹偉,顧禮斌,等.模型驅(qū)動的全景圖技術(shù)在電網(wǎng)運(yùn)行駕駛艙中的應(yīng)用[J].電氣自動化,2018,40(4):36-39.
[5] 熊斯年.基于模型驅(qū)動的智能變電站故障告警與檢修邏輯模擬[D].北京:電子科技大學(xué),2018.
[6] 于長海.基于數(shù)據(jù)驅(qū)動的電力變壓器剩余使用壽命預(yù)測方法研究[D].北京:華北電力大學(xué),2018.