999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

企業能耗建模仿真軟件模型構造器的實現

2008-12-31 00:00:00歐昊靈馬福民
電腦知識與技術 2008年36期

摘要:該文主要介紹了企業能源消耗系統建模與仿真軟件(Modeling and Simulation Software for Enterprise Energy Consumption System,簡稱EEC ModSim)中模型構造器的實現,依據面向對象的分層模塊化設計方法,首先給出了模型構造器的總體設計框架,并詳細介紹了各功能模塊,然后從系統實現的角度給出了軟件開發的幾個關鍵處理技術。

關鍵詞:可視化建模;模型構造;面向對象;XML

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)36-2672-03

The Modeling Tool Implementation of Modeling and Simulation Software for Enterprise Energy Consumption System

OU Hao-ling, WANG Jian, MA Fu-min

(CIMS Research Center, Tongji University, Shanghai 201804, China)

Abstract: This paper mainly introduces the implementation of EEC ModSim modeling tool, which is an essential part in EEC ModSim(Modeling and Simulation Software for Enterprise Energy Consumption System). Based on object oriented and layered modularized design method, this paper firstly explains the frame structure of model design tool, and then presents the function of each module. Several key technologies for software development are also discussed.

Key words: visual modeling; model construction; Object-Oriented; XML

1 引言

企業能源消耗系統建模與仿真軟件(簡稱EEC ModSim)是用C#在.NET平臺上開發的以模糊Petri網為理論基礎的流程模擬軟件。依據文獻[1],在EEC ModSim中用模糊變遷表示各能耗活動,用模糊庫所表示能耗活動相應的原料和成品的倉庫,模糊庫所中的標記數表示原料和成品的數量,相應的供需關系用結點間的連線表示,連線的連接強度表示從起點到終點運輸原料或成品時的損耗率。EEC ModSim通過將企業能耗過程映射為模糊高級Petri網的形式來建立可視化能耗過程模型。

針對上述基本理論,本文主要從軟件設計與實現的角度,詳細給出了該可視化能耗過程模型構造器的實現。全文共包括兩大部分,第一部分主要描述了模型構造器的總體設計框架,第二部分分別從建模元素類結構的設計,模型的圖層表現以及模型XML保存的角度,詳細介紹了其關鍵開發技術。

2 模型構造器的總體設計框架

由于能耗系統包含錯綜復雜的能源傳輸管網結構、動態多變的能耗過程、相對固定的能耗設備配置結構等多種具有一定結構化的子系統。從可視化建模的需求出發,充分發揮視圖模型的可視化描述優勢,遵循面向對象的分層模塊化設計方法,給出軟件的整體框架及所提供的建模功能模塊,如圖1所示。

可視化的拖拉式建模方式是能耗系統模型設計器的首選,用戶界面的圖層表現是其實現的關鍵。EEC ModSim的可視化建模為用戶提供了建立能耗過程模型所需要的各類基本元素,主要包括:能耗活動(原子型和抽象型)、能源倉庫、邏輯控制、能源傳輸管道,以及狀態或消息流六個建模元素構成。這里,能耗設備的能源輸入與輸出關系體現了消耗系統潛在的能源約束關系和動力學特性,是能耗系統的核心,該建模元素將與設備模型辨識模塊相關聯。而原子型能耗設備是指該能耗活動沒有子模型,而抽象型能耗活動是指該能耗活動為嵌套型能耗活動。能源倉庫主要用來存放能耗過程中的能源物質或非能源物質以及產品等。狀態或消息位置主要用來反映能源消耗系統中各設備的工作狀態或貫穿于能耗過程中的消息,而邏輯控制則主要用來控制狀態的變化或消息的傳遞,體現一些離散型的操作動作,比如設備的啟、停操作等。能源傳輸管道作為連接弧,用于連接能源倉庫與能耗設備,體現能源在傳輸管網中的流動,而狀態流則用于連接狀態或消息位置與邏輯控制,體現消息或狀態的傳遞過程。

模型構造主要實現建模元素的屬性設置,并完成能耗系統模型的定義。它支持能耗過程模型的構造、能耗設備模型的配置、能源傳輸管網模型的構造,并可以導入資源信息對相關能源或物料進行描述。通過嚴格定義各類組成元素的屬性特征,擴展模型語義,從而提高了模型元素的描述能力。

EEC ModSim 對系統模型的保存采用XML的形式化語義描述方式。將模型所含語義信息進行描述:一種是基本網結構所表示的事件間的并發關系,另一種是各網元素及其約束所表示的語義信息。這樣,有利于系統的封裝與對外接口的統一,從而提高軟件的標準化與兼容性。XML文檔的反向解析,即為模型的讀取,從形式化語義描述轉換為軟件內部的圖形化描述,便于用戶對能耗系統模型的編輯與修改。

3 EEC ModSim模型構造器實現的關鍵技術

3.1 建模元素的類結構設計

EEC ModSim模型構造器的核心思想是用表層設計器構造流程圖,將圖中的建模元素映射到內部可處理的數據結構。以便下一步的仿真算法對模型進行遍歷,并在遍歷過程中觸發活動,在活動代碼處理完成后對節點數據進行修改,循環遍歷,直到仿真結束。因此設計和合理的類結構關系和數據結構是關鍵之一。

圖1 系統主要功能模塊及其組成

圖2 一個連接示意圖

圖3 圖形間的數據結構圖

1) 底層類設計

根據模糊Petri網理論,EEC ModSim模型元素抽象型能耗活動、原子型能耗設備(能耗活動)、能源倉庫、邏輯控制、能源傳輸管道,以及狀態或消息流六大類,程序中設計了一個基類作為PetriElement,包含各類的共有屬性(如ID和Name屬性),其他所有類(ConsumEquipCs,InfoStreamCs,TriggerCs,EnergyStoreCs,DiscreteConsumCs,EnergyStream)從這個基類中派生,每個類都包括各自的屬性和讀取方法。

以EnergyStoreCs類為例:它對應了petri網中的庫所。除去從基類中繼承的ID和Names等屬性,庫所作為存儲資源的場所,有容量(Capacity),當前值(Token)屬性,并進一步擴展了時延,表達公式等屬性。同時庫所對應一組訪問屬性的行為,如:ReadProperty(),SetProperty()。

2) 表層類設計

表層類作為用戶和程序的交互層,要具有建模工具欄上的圖標表現功能,并要記錄各個建模元素的拓撲結構,同時實例化對應建模元素底層類對象。以EnergyStoreStructCs類為例,屬性包括圖形對象(image),能源名稱(name),能耗狀態(state),底層類對象(energyStoreCs),圖形位置信息對象(port,Port是程序中設計用來記錄圖形元素間拓撲結構的類,在下一節闡述)。方法包括讀取圖形位置(getPort()),獲取前后圖標(getNextItem())等。

表1 .Net框架提供的兩種類型格式器區別(Formatter)

3) 圖形元素間的拓撲結構表示

EEC ModSim中元素間的關系實質是有向圖連接:將圖元定義為一個cell,每個cell可以是一個頂點(vertex)或者邊(edge)。頂點有鄰接的頂點,它們通過邊相聯系,邊聯接的兩個端點稱為目標和源。為了更方便描述,程序中構造了Port(節點)類,用來記錄坐標位置和建模元素的ID。每一條邊有兩個Port對象,用來記錄目標節點和源節點。而一個活動可以有多個分支,即頂點(vertex)可以與多條邊(edge)相連,于是每個頂點設計一個Arraylist動態記錄連接到頂點的Port對象。

圖2是一個連接示意圖,包括兩個頂點(ConsumEquip,EnergyStore)和一條邊(EnergyStream),能源從能源倉庫流向能耗設備。

圖2 一個連接示意圖

下面的代碼為ConsumEquip頂點建立port對象:

ConsumEquipStruct.Portport = new Port(itemPoint,LineId);//實例化ConsumEquip的port對象

ConsumEquipStruct.portArray.Add(port);//將port存入動態數組,以便一個頂點同多條邊相連

下面對代碼構建了EnergyStream中的port對象:

EnergyStreamStruct.Port sourcePort = new Port(itemPoint,itemId)//源節點

EnergyStreamStruct.Port targetPort = new Port(itemPoint,itemId)//目標節點

這樣的數據結構使得轉移與活動的關系變得簡潔明了。當元素移動時,元素port的坐標信息被修改,同時邊通過setSoucePort和setTargetPort方法修改坐標信息,從而使連接邊隨著元素移動。上圖之間的數據結構可以用圖3來表示:

圖3 圖形間的數據結構圖

3.2 模型的圖層表現

EEC_ModSim模型構造器在元素的可視化表示上,利用了.NET 框架提供的 GDI+ 應用程序編程接口 (API)。它是 Windows Graphics Device Interface (GDI) 的高級實現。通過使用 GDI+,可以創建圖形、將圖形圖像作為對象操作。以下步驟和代碼說明了程序中主要的圖形操作:

1) 定義一個ResourceManager 對象,管理程序中的圖像資源,代碼如下:

ResourceManager resource = 1;//圖像資源管理器

resource = new ResourceManager(typeof(Resource1));//Resource1是新建的資源文件,包含建模元素的圖形元素。

2) 當觸發工具欄按鈕Active事件時,通過圖像資源管理器創建相應工具欄的圖形對象到相應的表層類,代碼如下:

itemImage =(Image)(resource.GetObject(\"Discrete_Place1\"));//通過資源名稱,設置資源圖片

3) 調用DrawImage()函數以呈現圖像,調用.DrawLine()函數繪制連接線段。

Graphics.DrawImage(itemImage, itemPosition);//在相應控件上繪制圖像

Graphics.DrawLine(pen, startPoint, endPoint);//繪制圖箭頭

4) 需要刪除圖像時調用dispose()方法。

Graphics.Dispose();

3.3 用xml格式器保存讀取模型數據

一個能耗系統基本上都由一定數量的子系統構成,因此描述整個能耗系統需要建立多個視圖模型。考慮到多個視圖模型下各建模元素的ID重名,尋求良好的互操作性和可讀性,采用“序列化(Serialization)”和“反序列化”(Deserialization)的XML格式器保存和讀取模型。

表1 .Net框架提供的兩種類型格式器區別(Formatter)

在程序中定義了一個用來保存數據的SaveData類和讀取數據的ReadData類,限于篇幅,只列出保存和讀取的部分代碼:

//創建一個文件\"*.XML\"并將對象序列化后存儲在其中

SoapFormatter formatter = new SoapFormatter();

Streamstream = new FileStream(FileName, FileMode.Create, FileAccess.Write, FileShare.None);

formatter.Serialize(stream, savedate);

//打開文件\"*.xml\"并進行反序列化得到對象

SoapFormatter formatter = new SoapFormatter();

Stream stream = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read, FileShare.None);

readdata = (ReadData)formatter.Deserialize(stream);

系統最終實現如圖4所示。模型設計器的左側是導航窗口,通過一個樹型結構描述過程的屬性以及資源模型等信息。主窗口是用戶進行建?;顒拥闹饕獏^域,建立能耗過程模型及能耗設備模型及能源傳輸管網等的配置信息。最后EEC ModSim模型構造器輸出包括模型所有信息的xml文件。

4 結束語

如今,圖形化的建模方式是用戶界面的首選。EEC ModSim模型構造器在.NET平臺下開發, 設計了簡明直觀的用戶界面,具有良好的操作性,可以詳細描述能耗系統的屬性,并為下一步的仿真提供了可操作的數據結構。

參考文獻:

[1] 馬福民,王堅.面向企業能源消耗過程的模糊Petri網模型研究[J].計算機集成制造系統,2007,13(9).

[2] 王科奮,王堅.JGraph在RRFlo工作流模型設計器中的應用[J].制造業自動化,2005,27(11).

[3] 蔡志林.Petri網建模[D].長沙理工大學碩士學位論文,2005.

[4] 丁彩虹.Petri網建模工具的面向對象設計[J].系統工程與電子技術,2000,22(8).

[5] 俞家文,陳空軍,高立群.基于GDI_和_NET組件技術的MIS系統動態繪圖[J].微計算機應用,2007,28(5).

主站蜘蛛池模板: 在线观看国产精品第一区免费 | 香蕉在线视频网站| 精品国产免费第一区二区三区日韩| 小说 亚洲 无码 精品| 白丝美女办公室高潮喷水视频| 色老头综合网| 伊人激情综合网| 人妻少妇乱子伦精品无码专区毛片| 亚洲日本www| jizz在线观看| 国产电话自拍伊人| 男女男免费视频网站国产| 色综合成人| 四虎精品黑人视频| 四虎国产永久在线观看| 国产午夜不卡| 99精品国产自在现线观看| 熟妇人妻无乱码中文字幕真矢织江| 亚洲自拍另类| 成人无码一区二区三区视频在线观看| 91www在线观看| 午夜毛片免费看| 亚洲性一区| 亚洲乱强伦| 日韩在线1| 亚洲视频无码| 国产成人AV综合久久| 国产日韩欧美视频| 国产99视频免费精品是看6| 9久久伊人精品综合| 蜜臀AV在线播放| 欧美一区二区自偷自拍视频| 亚洲嫩模喷白浆| 国产91色| 国产精品一区不卡| 久久青草免费91观看| 91精品啪在线观看国产91| 亚洲天堂网在线播放| 欧美日韩第三页| 91精品专区国产盗摄| 国产中文一区a级毛片视频| 国产va在线观看免费| 亚洲一欧洲中文字幕在线| 久久国语对白| 91无码视频在线观看| 99热免费在线| 中文字幕一区二区人妻电影| 波多野吉衣一区二区三区av| 国产一区二区三区在线精品专区 | 欧美在线免费| 日韩精品久久无码中文字幕色欲| 久久不卡国产精品无码| 国产最新无码专区在线| 午夜综合网| 国产精品综合色区在线观看| 国产精品女熟高潮视频| 99国产精品一区二区| 91成人试看福利体验区| 亚洲AⅤ无码国产精品| 中文字幕 日韩 欧美| 国产一区二区丝袜高跟鞋| 高清国产va日韩亚洲免费午夜电影| 91综合色区亚洲熟妇p| 亚洲欧美国产五月天综合| 这里只有精品在线| 国产一级无码不卡视频| 日本91在线| 热久久综合这里只有精品电影| 欧美特黄一级大黄录像| 成年看免费观看视频拍拍| 在线观看视频99| 一级成人欧美一区在线观看| 综合天天色| 久久免费观看视频| 成年人福利视频| 91破解版在线亚洲| 中文字幕日韩欧美| 日韩在线第三页| 亚洲视频欧美不卡| 免费人成视频在线观看网站| 国产精品黑色丝袜的老师| 白浆视频在线观看|