[發明專利]一種從Simulink模型轉換至UML模型的方法有效
| 申請號: | 201310466291.9 | 申請日: | 2013-09-30 |
| 公開(公告)號: | CN103514331A | 公開(公告)日: | 2014-01-15 |
| 發明(設計)人: | 王宇英;周興社;梁東方;李曉宇 | 申請(專利權)人: | 西北工業大學 |
| 主分類號: | G06F17/50 | 分類號: | G06F17/50 |
| 代理公司: | 西北工業大學專利中心 61204 | 代理人: | 顧潮琪 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 simulink 模型 轉換 uml 方法 | ||
1.一種從Simulink模型轉換至UML模型的方法,其特征在于包括如下步驟:
1)建立Simulink模型的模型元素和UML模型的模型元素之間的對應關系
針對Simulink模型中的基本模型元素原子模塊Primitive?Block、子系統模塊SubSystem?Block、連線Line/Branch和端口Port,通過ATL轉換規則實現模型元素之間一一對應的轉換,分別將其對應轉換為UML模型的模型元素類Class、含子模塊的類Class?Contained?Blocks、連接器Connector、流端口Flowport;
2)建立Simulink源元模型架構和UML目標元模型架構
建立Simulink源元模型架構,Simulink源元模型包括原子模塊和含子系統模塊的元模型EBlock、端口的元模型EPort、連線的元模型ELine、參數的元模型EParameter和函數的元模型EFunction,建立Simulink源元模型架構,EBlock和EParameter之間采用聚合關系,一個EBlock可以包含多個EParameter;EBlock和EFunction之間采用聚合關系,一個EBlock可以包含多個EFunction;EBlock和EPort之間采用聚合關系,一個EBlock可以包含多個EPort;ELine和EPort之間采用聚合關系,一個ELine可以包含多個EPort;
建立UML目標元模型架構,UML目標元模型包括類和含子模塊的類的元模型EClass、連接器的元模型EConnector、流端口的元模型EFlowport、屬性的元模型EAttribute和操作的元模型EOperation;建立UML目標元模型架構,EClass和EAttribute之間采用聚合關系,一個EClass可以包含多個EAttribute;EClass和EOperation之間采用聚合關系,一個EClass可以包含多個EOperation;EConnector和EFlowport之間采用聚合關系,一個EConnector可以包含多個EFlowport;
建立Simulink基本元素元模型的ecore結構:根據Simulink源元模型架構,定義ecore結構中包含五個類,分別是Block、Parameter、Function、Port、Line;類Block中的變量有函數functions、輸入參數srcBlkParams、輸出參數dstBlkParams、流入端口srcBlkPorts和流出端口dstBlkPorts,functions的類型為Function,srcBlkParams和dstBlkParams的類型為Parameter,srcBlkPorts和dstBlkPorts的類型為Port;類Parameter的變量有Parameter所在模塊blockParameter,blockParameter的類型為Block,當Parameter是輸入數據時,blockParameter表示數據來源模塊srcBlockParameter,當Parameter是輸出數據時,blockParameter表示數據到達模塊dstBlockParameter;類Function中的變量有Function所在模塊blockFunction,blockFunction的類型為Block;類Port中的變量包含Port所在模塊blockPort和Port所關聯的連線linePort,blockPort的類型為Block,當Port是輸入數據,blockPort是輸入模塊srcBlockPort,當Port是輸出數據,blockPort是輸出模塊dstBlockPort,linePort的類型為Line,當Port是輸入數據,連線為輸入連線srcLinePort,當Port是輸出數據,連線為輸出連線dstLinePort;Line中的變量有連線相關聯的端口portLine,portLine的類型為Port,Line兩端連接兩個端口,根據數據輸入還是數據輸出,可分為輸入端口srcLnPorts和輸出端口dstLnPorts;
建立UML基本元素元模型的ecore結構:根據UML目標元模型架構,定義ecore結構中包含五個類,分別是Class、Attribute、Operation、Flowport和Connector;類Class中的變量有參數、操作、端口,參數的類型為Attribute,操作的類型為Operation,端口的類型為Flowport;類Arrtibute中的變量有屬性所在類classAttribute,classAttribute的類型為Class;類Operation中的變量有操作所在類classOperation,classOperation的類型為Operation;類Flowport中的變量有端口所在類classFlowport和Flowport相關聯的連接器conncetorFlowport,classFlowport的類型為Class,conncetorFlowport的類型為Connector,Flowport方向的類型為EString,當Flowport是輸入端口時,Flowport方向為“IN”,當Flowport是輸出端口時,Flowport方向為“OUT”;類Connector中的變量有Connector相關聯的端口flowportConnector,flowportConnector的類型為Flowport;
3)根據Simulink源元模型和UML目標元模型確定Simulink模型轉換至UML模型的轉換方法
將Simulink模型中的Block使用ATL轉換規則轉換為UML中的Class,當Simulink模型中出現環時,將環視為一個Block,將Block中的參數、函數、端口及其Block本身的名字和類型信息,分別對應轉換為Class中的屬性、操作、流端口和Class的名字和類型信息;其中,Simulink參數到UML屬性的轉換,包括參數名稱的轉換和參數對應的類的信息的轉換,包括srcBlockParameter和dstBlockParameter到classAttribute的轉換;Simulink函數到UML操作的轉換,包括操作操作名字的轉換,和操作對應的類的信息的轉換,包括blockFunction到classOperation的轉換;Simulink端口到UML流端口的轉換,包括端口名字的轉換和端口方向的轉換,其中,srcBlkPorts對應的流端口方向為“IN”,dstBlkPorts對應的流端口方向為“OUT”;確定Simulink模型元素Line到UML模型元素Connector的轉換,包括Line名字的轉換,和Line連接的端口srcLnPorts和dstLnPorts的轉換,srcLnPorts和dstLnPorts的轉換包括端口名字的轉換和端口方向的轉換,srcLnPorts對應的流端口方向為“IN”,dstLnPorts對應的流端口方向為“OUT”,在此實現了Simulink模型到UML模型的轉換,解決了CPS領域計算過程和物理過程融合的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北工業大學,未經西北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310466291.9/1.html,轉載請聲明來源鉆瓜專利網。





