鬼佬大哥大
  • / 34
  • 下載費用:30 金幣  

部件模型間通信的模擬及路由方法、并行事務級模擬系統.pdf

關 鍵 詞:
部件 模型 通信 模擬 路由 方法 并行 事務 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201110110822.1

申請日:

2011.04.29

公開號:

CN102761473B

公開日:

2015.01.14

當前法律狀態:

有效性:

法律詳情: 授權|||實質審查的生效IPC(主分類):H04L 12/56申請日:20110429|||公開
IPC分類號: H04L12/721(2013.01)I; H04L12/24 主分類號: H04L12/721
申請人: 無錫江南計算技術研究所
發明人: 謝向輝; 李宏亮; 郝子宇; 錢磊; 張昆; 吳東
地址: 214083 江蘇省無錫市濱湖區軍東新村030號
優先權:
專利代理機構: 北京集佳知識產權代理有限公司 11227 代理人: 駱蘇華
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201110110822.1

授權公告號:

102761473B||||||

法律狀態公告日:

2015.01.14|||2012.12.26|||2012.10.31

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

一種建立部件模型間通信的模擬方法,包括:將所述部件模型以矩陣形式分布,確定所述矩陣的維數;根據所述部件模型的類型,將所述矩陣分成子矩陣,基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置生成分布表達式;基于所述部件模型在所述矩陣中的位置坐標和待模擬的部件模型間的連接關系生成連接關系表達式;檢查所述分布表達式和連接關系表達式的邏輯是否正確,若正確則基于所述連接關系表達式,生成并行事務級模擬系統的描述文件。本發明公開的技術方案提高了并行事務級模擬系統的開發效率,降低了維護部件模型和并行事務級模擬系統的開銷。

權利要求書

1.一種建立部件模型間通信的模擬方法,其特征在于,包括:
將所述部件模型以矩陣形式分布,確定所述矩陣的維數;
根據所述部件模型的類型,將所述矩陣分成子矩陣,基于所述矩陣的維
數及所述子矩陣在所述矩陣中的位置生成分布表達式,所述分布表達式描述
所述部件模型在所述矩陣中的位置坐標;
基于所述部件模型在所述矩陣中的位置坐標和待模擬的部件模型間的連
接關系生成連接關系表達式,所述連接關系表達式描述所述部件模型之間的
連接關系;
檢查所述分布表達式和連接關系表達式的邏輯是否正確,若正確則基于
所述分布表達式和連接關系表達式,生成并行事務級模擬系統的描述文件,
所述描述文件包含所述部件模型的位置坐標及連接關系,所述連接關系以源
端部件模型的名稱和位置坐標,目的端部件模型的名稱和位置坐標表示;
所述分布表達式的邏輯正確是指所述部件模型的位置坐標與部件模型一
一對應;所述連接關系表達式的邏輯正確是指所述連接關系表達式中包括每
個部件模型的連接關系,且所述部件模型沒有冗余的連接關系。
2.如權利要求1所述的建立部件模型間通信的模擬方法,其特征在于,所述
基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置生成分布表達式包
括:基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置,確定預先建
立的分布公式中的參數,得到所述分布表達式,所述分布公式為:
<xm,yn>,xm,yn=(i,j,+,-,×,÷,k),i∈[0,N],j∈[0,N],k∈N,m∈N,n∈N
其中<xm,yn>表示所述部件模型在所述矩陣中的位置坐標,xm表示橫坐
標,yn表示縱坐標,xm是i的函數,i基于所述矩陣的維數確定取值范圍;yn是
j的函數,j基于所述矩陣的維數確定取值范圍,k表示常數,基于所述子矩陣
在所述矩陣中的位置確定,N表示整數。
3.如權利要求2所述的建立部件模型間通信的模擬方法,其特征在于,基于
所述分布公式生成二維矩陣的分布公式為:
<xg,yh>,xg=a·i+b,yh=c·j+d,i=[0,A-1],j=[0,B-1],a∈N,b∈N,c∈N,d∈N,g∈N,h∈N
所述二維矩陣的維數包括所述二維矩陣的行數和所述二維矩陣的列數,
其中A表示所述二維矩陣的列數,B表示所述二維矩陣的行數;a為i的系數,
c為j的系數,b,d為常數,a,b,c,d基于i和j的取值范圍以及所述子矩
陣在所述矩陣中的位置確定,N為整數。
4.如權利要求1所述的建立部件模型間通信的模擬方法,其特征在于,所述
基于所述部件模型在所述矩陣中的位置坐標和待模擬的部件模型間的連接
關系生成連接關系表達式包括:基于所述部件模型在所述矩陣中的位置坐
標、所述子矩陣在所述矩陣中的位置和待模擬的部件模型間的連接關系確
定預先建立的連接關系公式中參數,得到所述連接關系表達式,所述連接
關系公式為:
i∈[0,N],j∈[0,N],
n∈N,l∈N,p∈N,v∈N,u∈N
<xl,yp>和<xv,yu>表示具有連接關系的兩個部件模型的位置坐標,n表示
常數,N表示自然數。
5.如權利要求1所述的建立部件模型間通信的模擬方法,其特征在于,在檢
查所述分布表達式和連接關系表達式的邏輯是否正確前,還包括:檢查所
述分布表達式和連接關系表達式是否符合預設的語法信息;所述語法信息
包括所述分布公式和連接關系公式的拼寫要求和運算法則。
6.如權利要求5所述的建立部件模型間通信的模擬方法,其特征在于,還包
括:若所述分布表達式和連接關系表達式不符合所述語法信息和/或邏輯錯
誤,則反饋出錯信息。
7.如權利要求1所述的建立部件模型間通信的模擬方法,其特征在于,所述
部件模型的類型包括:處理器類型、內存類型、路由器類型。
8.如權利要求1-7任一項所述的建立部件模型間通信的模擬方法,其特征在
于,所述矩陣為二維格柵、二維環網或三維格柵。
9.一種部件模型間通信的路由方法,其特征在于,包括:
利用權利要求1至8任一項所述的模擬方法生成并行事務級模擬系統的
描述文件;
獲取通信源端的名稱,所述通信源端為待建立通信連接的源端部件模型;
在所述并行事務級模擬系統的描述文件中查找與所述通信源端對應的通
信目的端的名稱,所述通信目的端為與待建立通信連接的源端對應的目的端
部件模型;
記錄通信端口信息,所述通信端口信息包括所述通信源端的名稱和位置
坐標,通信目的端的名稱和位置坐標;
基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配
置通信通道。
10.如權利要求9所述的部件模型間通信的路由方法,其特征在于,所述描述
文件還包括所述部件模型的類型,所述部件模型的類型為所述通信源端的
類型,所述部件模型的類型包括:處理器類型、內存類型、路由器類型。
11.如權利要求10所述的部件模型間通信的路由方法,其特征在于,還包括在
所述描述文件中查找與所述通信源端的類型相對應的部件模型的類型;所
述通信端口信息還包括所述通信源端的類型。
12.一種通信模塊,其特征在于,包括端口路由器、端口隊列管理模塊和通信
控制器;
所述端口路由器,用以獲取利用權利要求1至8任一項所述的模擬方法
生成的并行事務級模擬系統的描述文件,且獲取通信源端的名稱,所述通信
源端為待建立通信連接的源端部件模型;還用以在所述描述文件中查找與所
述通信源端對應的通信目的端的名稱,所述通信目的端為與待建立通信連接
的源端對應的目的端部件模型;還用以記錄通信端口信息,所述通信端口信
息包括所述通信源端的名稱和位置坐標,通信目的端的名稱和位置坐標;
所述通信控制器,用以獲取事件包,所述事件包包括事件內容和發送該
事件包的通信源端的端口的名稱;
所述端口隊列管理模塊,用以從所述端口路由器獲取與所述通信源端對
應的通信端口信息,并基于所述通信端口信息建立通信端口;
所述通信端口包括:
端口配置模塊,用以獲取所述通信端口信息,且基于所述通信端口信息
為通信源端和對應的通信目的端配置通信通道;
消息發送模塊,用以從所述通信控制器獲取所述事件包,將所述通信端
口信息加入所述事件內容形成消息且通過所述通信通道發送所述消息。
13.如權利要求12所述的通信模塊,其特征在于,所述通信控制器,還用以接
收由通信源端發出的消息。
14.如權利要求13所述的通信模塊,其特征在于,所述端口隊列管理模塊,還
用以解析所述通信控制器接收的消息,獲取該消息的事件內容和接收該消
息的通信目的端的端口的名稱。
15.如權利要求14所述的通信模塊,其特征在于,所述通信端口還包括:消息
處理模塊,用以接收并處理所述端口隊列管理模塊解析獲取的事件內容,
并發送處理結果。
16.一種包括權利要求12-15任一項所述的通信模塊的部件模型。
17.如權利要求16所述的部件模型,其特征在于,還包括部件邏輯,用于發出
事件包或接收事件內容的處理結果。
18.一種包括權利要求16或17所述的部件模型的并行事務級模擬系統。
19.如權利要求18所述的并行事務級模擬系統,其特征在于,還包括并行宿主
機網絡,用以實現部件模型間的消息傳送。

說明書

部件模型間通信的模擬及路由方法、并行事務級模擬系統

技術領域

本發明涉及硬件系統中并行事務級模擬仿真技術,尤其是一種建立部件
模型間通信的模擬方法、路由方法、通信模塊、部件模型及并行事務級模擬
系統。

背景技術

在大規模硬件系統設計中,并行事務級模擬仿真的方法是一項重要的技
術手段。并行事務級模擬通常采用設計包含系統級模擬器的并行事務級模擬
系統來模擬目標系統。其中系統級模擬器中的部件模型模擬目標系統中的功
能部件。

由于大規模硬件系統的模擬具有其特殊性,比如硬件系統規模巨大,硬
件系統的結構復雜,功能部件種類繁多,功能部件之間的連接關系復雜,因
此系統級模擬器的開發時間較長,開銷較大。在并行事務級模擬系統的設計
過程中,通常期望設計開發的系統級模擬器能夠具有長期價值,部件模型及
系統級模擬器可以重復使用。但是由于部件模型既要實現邏輯功能又要實現
通信功能,不同的系統中,部件模型的邏輯功能和通信功能不盡相同,這導
致部件模型的可重用性較差,相應的系統級模擬器的重用性也較差。另外,
系統級模擬器通常用于目標系統的驗證,由于在設計過程中目標硬件系統的
結構經常變化繁多,相應的系統級模擬器也要變化,從而部件模型的設計也
會發生變化,同理部件模型的變化也會牽動系統級模擬器的變化。兩者的變
化是相互的,進行修改時,兩者也互相牽制。

目前的并行事務級建模方法無法保證系統級模擬器和部件模型的設計過
程分離,也就是并行事務級模擬系統的設計與部件模型的設計兩者無法分離,
導致兩者的設計過程無法獨立。其中任意一者的修改必然導致另一者的修改,
這使得并行事務級模擬系統的開發效率較低,且后期的修改和維護難度較大,
開發成本也較高。

2009年公開發表在《ANALYSIS,ARCHITECTURES?AND?MODELLING
OF?EMBEDDED?SYSTEMS,IFIP?Advances?in?Information?and?Communication
Technology》上的論文《Efficient?Parallel?Transaction?Level?Simulation?by
Exploiting?Temporal?Decoupling》(作者:Rauf?Salimi?Khaligh?and?Martin
Radetzki,Volume?310/2009,pp.149-158,2009)公開了一個并行事務級模擬平
臺,該平臺基于OSCI的SystemC模擬器實現,其主要目的是通過挖掘事務級模
擬中的時間解耦性質來獲取并行模擬的效率提升。然而,由于該方法基于標
準的事務級模擬器SystemC實現,其運行開銷和靈活性較差,且該方法沒有考
慮如何為系統級模型的建模提供有效的支持。

但是如何降低部件模型和并行事務級模擬系統之間的耦合度,提高并行
事務級模擬系統的開發效率,降低對部件模型和并行事務級模擬系統維護的
開銷,成為目前亟待解決的問題之一。

發明內容

本發明解決的問題是降低部件模型和并行事務級模擬系統之間的耦合
度,提高并行事務級模擬系統的開發效率,降低對部件模型和并行事務級模
擬系統維護的開銷。

為解決上述問題,本發明提供了一種建立部件模型間通信的模擬方法,
包括:

將所述部件模型以矩陣形式分布,確定所述矩陣的維數;

根據所述部件模型的類型,將所述矩陣分成子矩陣,基于所述矩陣的維
數及所述子矩陣在所述矩陣中的位置生成分布表達式,所述分布表達式描述
所述部件模型在所述矩陣中的位置坐標;

基于所述部件模型在所述矩陣中的位置坐標和待模擬的部件模型間的連
接關系生成連接關系表達式,所述連接關系表達式描述所述部件模型之間的
連接關系;

檢查所述分布表達式和連接關系表達式的邏輯是否正確,若正確則基于
所述分布表達式和連接關系表達式,生成并行事務級模擬系統的描述文件,
所述描述文件包含所述部件模型的位置坐標及連接關系,所述連接關系以源
端部件模型的名稱和位置坐標,目的端部件模型的名稱和位置坐標表示,所
述位置坐標為所述部件模型的標識;

所述分布表達式的邏輯正確是指所述部件模型的位置坐標與部件模型一
一對應;所述連接關系表達式的邏輯正確是指所述連接關系表達式中包括每
個部件模型的連接關系,且所述部件模型沒有冗余的連接關系。

可選的,所述基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置生
成分布表達式包括:基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置,
確定預先建立的分布公式中的參數,得到所述分布表達式,所述分布公式為:

<xm,yn>,xm,yn=(i,j,+,-,×,÷,k),i∈[0,N],j∈[0,N],k∈N,m∈N,n∈N

其中<xm,yn>表示所述部件模型在所述矩陣中的位置坐標,xm表示橫坐
標,yn表示縱坐標,xm是i的函數,i基于所述矩陣的維數確定取值范圍;yn是
j的函數,j基于所述矩陣的維數確定取值范圍,k表示常數,基于所述子矩陣
在所述矩陣中的位置確定,N表示整數。

可選的,基于所述分布公式生成二維矩陣的分布公式為:

<xg,yh>,xg=a·i+b,yh=c·j+d,i=[0,A-1],j=[0,B1],a∈N,b∈N,c∈N,d∈N,g∈N,h∈N

所述二維矩陣的維數包括所述二維矩陣的行數和所述二維矩陣的列數,其中
A表示所述二維矩陣的列數,B表示所述二維矩陣的行數;a為i的系數,c
為j的系數,b,d為常數,a,b,c,d基于i和j的取值范圍以及所述子矩陣
在所述矩陣中的位置確定,N為整數。

可選的,所述基于所述部件模型在所述矩陣中的位置坐標和待模擬的部
件模型間的連接關系生成連接關系表達式包括:基于所述部件模型在所述矩
陣中的位置坐標、所述子矩陣在所述矩陣中的位置和待模擬的部件模型間的
連接關系確定預先建立的連接關系公式中參數,得到所述連接關系表達式,
所述連接關系公式為:

i∈[0,N],j∈[0,N],

n∈N,l∈N,p∈N,v∈N,u∈N

<xl,yp>和<xv,yu>表示具有連接關系的兩個部件模型的位置坐標,n表示
常數,N表示自然數。

可選的,在檢查所述分布表達式和連接關系表達式的邏輯是否正確前,
還包括:檢查所述分布表達式和連接關系表達式是否符合預設的語法信息;
所述語法信息包括所述分布公式和連接關系公式的拼寫要求和運算法則。

可選的,所述建立部件模型間通信的模擬方法還包括:若所述分布表達
式和連接關系表達式不符合所述語法信息和/或邏輯錯誤,則反饋出錯信息。

可選的,所述部件模型的類型包括:處理器類型、內存類型、路由器類
型。

可選的,所述矩陣為二維格柵、二維環網或三維格柵。

一種部件模型間通信的路由方法,包括:

利用所述的模擬方法生成并行事務級模擬系統的描述文件;

獲取通信源端的名稱,所述通信源端為待建立通信連接的源端部件模型;

在所述并行事務級模擬系統的描述文件中查找與所述通信源端對應的通
信目的端的名稱,所述通信目的端為與待建立通信連接的源端對應的目的端
部件模型;

記錄通信端口信息,所述通信端口信息包括所述通信源端的名稱和位置
坐標,通信目的端的名稱和位置坐標;

基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配
置通信通道。

可選的,所述描述文件還包括所述部件模型的類型,所述部件模型的類
型為所述通信源端的類型,所述部件模型的類型包括:處理器類型、內存類
型、路由器類型。

可選的,部件模型間通信的路由方法還包括在所述描述文件中查找與所
述通信源端的類型相對應的部件模型的類型;所述通信端口信息還包括所述
通信源端的類型。

一種通信模塊,包括端口路由器、端口隊列管理模塊和通信控制器;

所述端口路由器,用以獲取利用所述的模擬方法生成的并行事務級模擬
系統的描述文件,且獲取通信源端的名稱,所述通信源端為待建立通信連接
的源端部件模型;還用以在所述描述文件中查找與所述通信源端對應的通信
目的端的名稱,所述通信目的端為與待建立通信連接的源端對應的目的端部
件模型;還用以記錄通信端口信息,所述通信端口信息包括所述通信源端的
名稱和位置坐標,通信目的端的名稱和位置坐標;

所述通信控制器,用以獲取事件包,所述事件包包括事件內容和發送該
事件包的通信源端的端口的名稱;

所述端口隊列管理模塊,用以從所述端口路由器獲取與所述通信源端對
應的通信端口信息,并基于所述通信端口信息建立通信端口;

所述通信端口包括:

端口配置模塊,用以獲取所述通信端口信息,且基于所述通信端口信息
為通信源端和對應的通信目的端配置通信通道;

消息發送模塊,用以從所述通信控制器獲取所述事件包,將所述通信端
口信息加入所述事件內容形成消息且通過所述通信通道發送所述消息。

可選的,所述通信控制器,還用以接收由通信源端發出的消息。

可選的,所述端口隊列管理模塊,還用以解析所述通信控制器接收的消
息,獲取該消息的事件內容和接收該消息的通信目的端的端口的名稱。

可選的,所述通信端口還包括:消息處理模塊,用以接收并處理所述端
口隊列管理模塊解析獲取的事件內容,并發送處理結果。

一種包括所述的通信模塊的部件模型。

可選的,還包括部件邏輯,用于發出事件包或接收事件內容的處理結果。

一種包括如上所述的部件模型的并行事務級模擬系統。

可選的,所述并行事務級模擬系統還包括并行宿主機網絡,用以實現部
件模型間的消息傳送。

與現有技術相比,本發明具有以下優點:

將所述部件模型以矩陣的形式分布,并根據部件模型的類型將該矩陣分
成子矩陣,基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置生成分布
表達式,所述分布表達式描述了所述部件模型在所述矩陣中的位置坐標;基
于所述部件模型在所述矩陣中的位置坐標和待模擬的部件模型間的連接關系
生成連接關系表達式。基于所述分布表達式和連接關系表達式,生成并行事
務級模擬系統的描述文件。所述描述文件包含了所述部件模型的連接關系及
其位置坐標。

所述描述文件模擬了部件模型之間的連接關系,通過所述描述文件建立
部件模型之間的通信連接。這不僅簡化了并行事務級模擬系統的開發步驟,
而且提高了并行事務級模擬系統的開發效率。

若并行事務級模擬系統發生變化,導致部件模型的分布方式或連接發生
變化,可以根據更改后的分布方式或采用新的連接關系公式,重新計算所述
部件模型的新的分布方式和連接關系,得到新的描述文件。這不會重新修改
或設計整個并行事務級模擬系統,僅需要重新計算或者更換連接關系公式得
到新的描述文件,就可以實現整個并行事務級模擬系統的設計。

由于單獨修改或維護部件模型,不會影響并行事務級模擬系統的運行;
單獨修改或維護并行事務級模擬系統,也不會影響部件模型的運行,因此這
較大的簡化了對部件模型和并行事務級模擬系統的修改和維護的工作。另外,
重新計算或者更換連接關系公式得到新的描述文件,也降低了對部件模型和
并行事務級模擬系統維護的開銷。

附圖說明

圖1是本發明提供的建立部件模型間通信的模擬方法的一種實施方式的
流程圖;

圖2是本發明提供的分布表達式和連接關系表達式邏輯檢查的一種實施
方式的示意圖;

圖3是本發明提供的部件模型的分布方式的矩陣結構圖示意圖;

圖4是本發明提供的部件模型間通信的路由方法的一種實施方式的流程
圖;

圖5是本發明提供的拓撲結構描述文件的結構列表;

圖6是本發明提供的通信端口的路由方法的一種實施方式的流程圖;

圖7是本發明提供的端口路由器的一種實施方式的結構圖;

圖8是本發明提供的通信端口的消息發送方法的一種實施方式的流程圖;

圖9是本發明提供的通信端口的消息接收方法的一種實施方式的流程圖;

圖10是本發明提供的通信端口的一種實施方式的結構圖;

圖11是本發明提供的通信模塊的一種實施方式的結構圖;

圖12是本發明提供的消息的發出流向圖;

圖13是本發明提供的消息的接收流向圖;

圖14是本發明提供的部件模型的一種實施方式的結構圖;

圖15是本發明提供的并行事務級模擬系統的一種實施方式的結構圖;

圖16是本發明提供的并行事務級模擬系統中部件模型的通信連接示意
圖;

圖17是本發明提供的事件包的一種實施方式的結構圖;

圖18是本發明提供的消息的一種實施方式的結構圖。

具體實施方式

為使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖
對本發明的具體實施方式做詳細的說明。

由于在已有的并行事務級建模方法中,沒有給部件模型的可重用提供足
夠的支撐,導致部件級模型的建模者需要關心系統級模型的設計,另一方面
系統級模型的建模者也需要關心部件級模型的內部實現,因此部件模型和并
行事務級模擬系統的耦合程度較高,兩者的設計和修改無法獨立完成。這將
導致并行事務級模擬系統的開發效率較低,且對其進行維護和修改的開銷也
較大。

圖1是本發明提供的建立部件模型間通信的模擬方法的一種實施方式的
流程圖,包括:

S11,將所述部件模型以矩陣形式分布,確定所述矩陣的維數;

S12,根據所述部件模型的類型,將所述矩陣分成子矩陣,基于所述矩陣
的維數及所述子矩陣在所述矩陣中的位置生成分布表達式;

S13,基于所述部件模型在所述矩陣中的位置坐標和待模擬的部件模型間
的連接關系生成連接關系表達式;

S14,檢查所述分布表達式和連接關系表達式的邏輯是否正確;

S15,基于所述分布表達式和連接關系表達式,生成并行事務級模擬系統
的描述文件。

圖2是本發明提供的分布表達式和連接關系表達式邏輯檢查的一種實施
方式的流程圖,包括:

S31,檢查所述連接關系表達式是否包括每個部件模型的連接關系;

S32,檢查所述連接關系表達式是否包括所述部件模型的冗余的連接關
系;

S33,檢查所述分布表達式中位置坐標與部件模型是否一一對應。

下面結合圖1和圖2詳細說明所述建立部件模型間通信的模擬方法。首
先參看圖1:

S11中,將所述部件模型以矩陣形式分布,一般是將所述部件模型以二維
格柵、二維環網或三維格柵的形式分布,且相同類型的部件模型多放在臨近
的區域。對于二維矩陣來講,所述矩陣的維數包括矩陣的行數和列數。

S12中,根據所述部件模型的類型,將所述矩陣分成子矩陣,一般是指將
相同類型的部件模型劃分在一個子矩陣中。所述子矩陣在所述矩陣中的位置
一般是指所述子矩陣包含的行和列對應原始的矩陣中的哪些行和列。例如,
在分成子矩陣后,子矩陣的第一列對應原始的矩陣中的第三列。

部件模型以矩陣形式分布,其在矩陣中的位置坐標以矩陣的列和行分別
表示其橫坐標和縱坐標,且位置坐標為該部件模型的標識。

S13中,以位置坐標代表該部件模型,基于所述部件模型在所述矩陣中的
位置坐標和待模擬的部件模型間的連接關系生成連接關系表達式。例如,部
件模型A的位置坐標為<xl,yp>,部件模型B的位置坐標為<xv,yu>,若兩者
之間具有連接關系,其連接關系表達式可以寫成

S13中,若所述分布表達式和連接關系表達式的邏輯都正確,則生成S14
中的描述文件。所述分布表達式的邏輯正確是指所述部件模型的位置坐標與
部件模型一一對應;所述連接關系表達式的邏輯正確是指所述連接關系表達
式中包括每個部件模型的連接關系,且所述部件模型沒有冗余的連接關系。

參看圖2,其中S31中,檢查所述連接關系表達式是否包括每個部件模型
的連接關系是指,所述連接關系表達式包含每一個部件模型的連接關系,也
就是說,檢查是否出現漏接的情況,是否有某個部件模型的連接關系沒有包
含在所述連接關系表達式中。在并行事務級模擬系統中,不存在孤立的部件
模型,也就是說,部件模型和其他部件模型之間至少具有一個連接關系。S31
中,包括是否存在孤立的部件模型的檢查,出現孤立的部件模型屬于邏輯錯
誤。另外,若部件模型A具有三個連接關系,但所述連接關系表達式中只包
含了兩個連接關系,這也屬于漏接的情況,也屬于邏輯錯誤。

檢查所述連接關系表達式是否包括所述部件模型的冗余的連接關系是
指,檢查所述部件模型是否具有多余的連接關系,例如,部件模型A同部件
模型B有連接關系,但是通過對連接關系表達式的邏輯檢查,得到了這兩個
部件模型之間連接關系出現了兩次,這兩次中顯然有一次是冗余的,屬于邏
輯錯誤。

檢查所述分布表達式中位置坐標與部件模型是否一一對應,是指一個位
置坐標只能唯一對應一個部件模型,并且一個部件模型也只有唯一一個位置
坐標與其對應,位置坐標是部件模型的標識。若出現一個位置坐標對應多個
部件模型,或者一個部件模型具有多個位置坐標都屬于邏輯錯誤。

在上述邏輯檢查中,出現任意一種或幾種邏輯錯誤,則所述分布表達式
或連接關系表達式的邏輯就是錯誤的,無法生成描述文件。

S14中,若所述分布表達式和連接關系表達式的邏輯都正確,則生成描述
文件。所述描述文件包含所述部件模型的位置坐標以及連接關系,所述連接
關系以源端部件模型的名稱和位置坐標,目的端部件模型的名稱和位置坐標
表示。由于位置坐標與部件模型是一一對應的,因此所述位置坐標可以作為
所述部件模型的標識。

所述部件模型形成的矩陣根據類型分成子矩陣,因此所述描述文件中還
包括所述部件模型的類型。所述部件模型的類型除了包括:處理器類型、內
存類型、路由器類型外,還可以包括硬件類型、外存類型、交換機類型等。

所述建立部件模型間通信的模擬方法,還包括在檢查所述分布表達式和
連接關系表達式的邏輯是否正確前,檢查所述分布表達式和連接關系表達式
是否符合預設的語法信息;所述語法信息包括所述分布公式和連接關系公式
的拼寫要求和運算法則。

還包括,若所述分布表達式和連接關系表達式不符合所述語法信息、邏
輯錯誤中一種或幾種,則反饋出錯信息。所述出錯信息包括:出錯的原因和
出錯的位置,具體的:

所述出錯的原因包括:所述分布表達式或連接關系表達式的拼寫錯誤、
不符合所述運算法則中的一種或幾種,所述出錯的位置包括:拼寫錯誤的位
置或不符合所述運算法則的位置。例如,部件模型的名稱拼寫錯誤,參數名
稱拼寫錯誤,乘法運算寫成加法運算等。

所述出錯的原因還包括:若所述連接關系表達式缺失所述部件模型的連
接關系、包含所述部件模型的冗余的連接關系、所述分布表達式中部件模型
的位置坐標對應多個部件模型和一個部件模型對應多個位置坐標中的一種或
幾種。反饋所述出錯的信息包括:反饋缺失所述連接關系的部件模型的名稱、
反饋具有冗余的連接關系的部件模型的名稱。若所述分布表達式中一個位置
坐標對應多個部件模型,反饋出錯的信息包括:反饋該位置坐標對應的多個
部件模型的名稱,反饋具有多個位置坐標的部件模型的名稱。

所述矩陣一般是二維格柵、二維環網和/或三維格柵。二維格柵、二維環
網和/或三維格柵的分布公式和連接關系公式的表示方式具有一定的相似性,
將這些公式以公式系統的形式表示,建立成標準表達式庫,這樣在使用時可
直接套用公式。

所述標準表達式庫包括待確定參數的分布公式和連接關系公式,使用時
基于所述矩陣的維數及所述子矩陣在所述矩陣中的位置,確定預先建立的分
布公式中的參數,得到所述分布表達式;基于所述部件模型在所述矩陣中的
位置坐標、所述子矩陣在所述矩陣中的位置和待模擬的部件模型間的連接關
系確定預先建立的連接關系公式中參數,得到所述連接關系表達式。

所述分布公式為:

<xm,yn>,xm,yn=(i,j,+,-,×,÷,k),i∈[0,N],j∈[0,N],k∈N,m∈N,n∈N

其中<xm,yn>表示所述部件模型在所述矩陣中的位置坐標,xm表示橫坐
標,yn表示縱坐標,xm是i的函數,i基于所述矩陣的維數確定取值范圍;yn是
j的函數,j基于所述矩陣的維數確定取值范圍,k表示常數,基于所述子矩陣
在所述矩陣中的位置確定,N表示整數。

二維矩陣的分布公式為:

<xg,yh>,xg=a·i+b,yh=c·j+d,i=[0,A-1],j=[0,B-1],a∈N,b∈N,c∈N,d∈N,g∈N,h∈N

所述二維矩陣的維數包括所述二維矩陣的行數和所述二維矩陣的列數,
其中A表示所述二維矩陣的列數,B表示所述二維矩陣的行數;a為i的系數,
c為j的系數,b,d為常數,a,b,c,d基于i和j的取值范圍以及所述子矩
陣在所述矩陣中的位置確定,N為整數。

所述連接關系公式為:

i∈[0,N],j∈[0,N],

n∈N,l∈N,p∈N,v∈N,u∈N

<xl,yp>和<xv,yu>表示具有連接關系的兩個部件模型的位置坐標,n表示
常數,N表示自然數。

并行事務級建模的目標就是最大程度地實現部件模型和并行事務級模擬
系統的分離,解耦合兩者的設計過程或建模過程。部件模型建模時,無需關
心并行事務級模擬系統的結構;而并行事務級模擬系統建模時,可以直接利
用已有的部件模型,通過結構描述文件建立部件模型間的連接關系。

在并行事務級建模中,如果對部件模型進行合理設計,可以使得其具有
可重用特性,簡單地說,就是該部件模型不包含系統級模型的信息,在外部
看來就是一個接收輸入信號,返回輸出信號的“黑盒子”。基于這種“黑盒子”,
系統級建模的過程就只需要描述這些“黑盒子”的連接即可。

圖3是本發明提供的部件模型的分布方式的矩陣結構圖示意圖,下面結
合圖1、圖2和圖3詳細說明。

圖3所示的是一個5×5的二維格柵的初始矩陣,其中有兩類部件模型:
sample_m1和sample_m2,sample_m1表示處理器,sample_m2表示內存。根
據部件模型的類型不同,可以將該初始矩陣分成幾個子矩陣塊:N1,N2和
N3。其中N1形成一個3×3的矩陣,矩陣塊N2形成一個2×3的矩陣,矩陣
N3分別形成一個5×2的矩陣。

預先建立的標準表達式庫包括:

二維矩陣的分布公式為:

<xg,yh>,xg=a·i+b,yh=c·j+d,i=[0,A-1],j=[0,B-1],a∈N,b∈N,c∈N,d∈N,g∈N,h∈N

所述二維矩陣的維數包括所述二維矩陣的行數和所述二維矩陣的列數,
其中A表示所述二維矩陣的列數,B表示所述二維矩陣的行數;a為i的系數,
c為j的系數,b,d為常數,a,b,c,d基于i和j的取值范圍以及所述子矩
陣在所述矩陣中的位置確定,N為整數。

二維矩陣分布的部件模型的連接關系公式為:

i∈[0,N],j∈[0,N],

n∈N,l∈N,p∈N,v∈N,u∈N

<xl,yp>和<xv,yu>表示具有連接關系的兩個部件模型的位置坐標,n表示
常數,N表示自然數。

上述兩個公式的語法信息包括:


運算法則包括:

1,首先由ltr和dig構造變量(var),按照var的規則(字母開頭,后
面跟任意多個字母或者數字符),可以構造出兩個變量a1,a2。

2,由dig構造數字(num),按照Num的規則(數字符開頭,后面跟
任意多個數字符),可以構造數字10。

3,由公式(fom)的定義(數字、變量、或數字變量之間按照oper的
組合),可以得到公式:a1+a2-10。

如圖3所示的三個子矩陣:N1,N2和N3,以子矩陣N1為例具體說明,
為描述方便,此處位置坐標中的橫坐標和縱坐標以沒有腳標的<x,y>表
示。

由于子矩陣N1是3×3的,在初始的矩陣的左上角,包含的三行和三列
的數據對應初始矩陣的三行和三列。橫坐標x可以取0到2之間的三個值,
同樣的,縱坐標y可以取0到2之間的三個值,且x的三種取值和y的三種
取值可以任意組合,形成3×3矩陣中的所有位置。因此,子矩陣N1的分布
表達式可以寫為:

<x,y>,x=i,y=j,i=[0,2],j=[0,2]。

同理子矩陣N2的維數2×3,在初始矩陣的左下角,對應初始矩陣第四
行和第五行的前兩列。子矩陣N2的分布表達式為:

<u,v>,u=i,v=j,i=[0,2],j=[3,4]。

子矩陣N3的維數5×2,在初始矩陣的右側,對應初始矩陣的五行的后兩
列。子矩陣N3的分布表達式為:

<m,n>,m=i,n=j,i=[3,4],j=[0,4]。

以子矩陣N1位于第三列的三個部件模型(位置坐標分別為(2,0),(2,1),
(2,2)),同子矩陣N3位于第四列的三個部件模型(位置坐標分別為(3,0),(3,1),
(3,2))之間的連接關系為例說明連接關系表達式。

若子矩陣N1中第三列第一個與子矩陣N3中第一列第一個具有連接關
系,子矩陣N1中第三列第二個與子矩陣N3中第一列第二個具有連接關系,
子矩陣N1中第三列第三個與子矩陣N3中第一列第三個具有連接關系。子矩
陣N1在初始矩陣的左側,子矩陣N1的第三列是初始矩陣的第三列,子矩陣
N3在初始矩陣的右側,子矩陣N3的第一列是初始矩陣的第四列。其連接關
系表達式為:

R ( < u , v > , < m , n > ) = ( u = 2 v = i , m = 3 n = i , i = [ 0,2 ] ) ]]>

所述連接公式中,v和n的取值范圍是一致的,因此可以用相同的參數i
表示。

所述連接關系表達式中,數字“2”和數字“3”的部分是以預定的語法信息表
示的。例如,dig::=0|3|,num::=dig*,那么num表示數字“3”,DIG::=0|2
|,NUM::=DIG*,NUM表示數字“2”,那么上述連接關系表達式變成:

R ( < u , v > , < m , n > ) = ( u = NUM v = i , m = num n = i , i = [ 0,2 ] ) ]]>

其中,NUM和num為按照預設的語法信息定義的數字類型的參數。

按照預設的語法信息,檢查分布表達式和連接關系表達式的語法是否正
確,包括:參數名稱的拼寫是否正確,運算法則是否正確。例如:num由一
位或多位dig構成,而dig是一位阿拉伯數字,如3是正確的num,因為其由
一位dig構成,而3b是非法的num,因為其不全由dig構成,則會反饋如下
錯誤信息:

Error:Line:6,3b?is?wrong.

表示第6行的num拼寫出錯。

檢查分布表達式和連接關系表達式的邏輯,包括:

檢查所述連接關系表達式是否包括每個部件模型的連接關系;

檢查所述連接關系表達式是否包括所述部件模型的冗余的連接關系;

檢查所述分布表達式中位置坐標與部件模型是否一一對應。

例如,部件模型A的連接關系未包含的連接關系表達式中,則會反饋如
下錯誤信息:

Erro:model?A?is?miss。

表示缺失了部件模型A的連接關系。

若所述分布表達式和連接關系表達式的語法信息正確且邏輯正確,則生
成描述文件。所述描述文件包括所述部件模型的位置坐標及連接關系,所述
連接關系以源端部件模型的名稱和位置坐標,目的端部件模型的名稱和位置
坐標表示。所述位置坐標與部件模型是一一對應的,因此所述位置坐標為所
述部件模型的標識,以所述位置坐標代表與其對應的部件模型。

部件模型A和部件模型B之間的連接關系,可以以文字描述的形式表現,
例如,【部件模型A:源端部件模型的標識<2,1>,部件模型B:目的端部件模
型的標識<3,1>】,這表示部件模型A與部件模型B之間具有連接關系,A為
源端部件模型的名稱,其標識為<2,1>,B為目的端部件模型的名稱,其標識
為<3,1>;也可以以程序代碼,圖形符號等形式表現,例如,代碼形式的:R
(modleA<2,1>,modleB<3,1>),R表示部件模型modleA和部件模型modleB
之間具有連接關系,modleA為源端部件模型的名稱,其位置坐標(標識)為
<2,1>,modleB為目的端部件模型的名稱,其位置坐標(標識)為<3,1>。

部件模型之間的連接關系可以分類,一般有兩種:單向連接和雙向連接
關系。例如,部件模型A和部件模型B之間是單向連接關系,表示部件模型
A向部件模型B單向發送消息或事件內容,或者部件模型B向部件模型A單
向發送消息或事件內容;部件模型A和部件模型B之間是雙向連接關系,表
示部件模型A向部件模型B發送消息或事件內容,并且部件模型B也向部件
模型A發送消息或事件內容。

部件模型之間的連接關系的數目和連接關系的類型也可以加入所述描述
文件中。例如,R(modleA<2,1>,modleB<3,1>)表示modleA和modleB之
間是雙向連接關系,S(modleA<2,1>,modleB<3,1>)表示modleA向modleB
的單向連接關系。R(modleA<2,1>,modleB<3,1>),R(modleA<2,1>,
modleC<4,1>),R(modleA<2,1>,modleD<5,1>),表示modleA分別與modleB、
modleC、modleD分別具有雙向連接關系,且modleA具有3個連接關系。
modleA分別與modleB、modleC、modleD分別具有雙向連接關系,且modleA
具有3個連接關系也會保存在描述文件中。

由于不同的并行事務級模型實現方法不同,本設計不限定部件模型的表
示方法。所述描述文件適用于各種系統與部件模型松耦合的并行事務級建模
方法。生成的描述文件可以時針對具體模擬器的系統模型描述代碼,也可以
是txt、word等文本文件。

圖4是本發明提供的部件模型間通信的路由方法的一種實施方式的流程
圖,包括:

S21,生成并行事務級模擬系統的描述文件;

S22,獲取通信源端的名稱,所述通信源端為待建立通信連接的源端部件
模型;

S23,在所述并行事務級模擬系統的描述文件中查找與所述通信源端對應
的通信目的端的名稱,所述通信目的端為與待建立通信連接的源端對應的目
的端部件模型;

S24,記錄通信端口信息,所述通信端口信息包括所述通信源端的名稱和
位置坐標,通信目的端的名稱和位置坐標;

S25,基于所述通信端口信息為所述通信源端和通信目的端建立通信端口
并配置通信通道。

在實際的并行事務級模擬系統的建模或設計過程中,部件模型的結構很
復雜,所述部件模型包含通信模塊,還包含部件邏輯,用以實現邏輯功能。

所述通信模塊包含端口路由器(也稱路由器)、通信控制器和端口隊列管
理模塊等,端口隊列管理模塊通常用于根據通信端口信息建立通信端口。端
口路由器包括路由信息管理模塊,所述路由信息管理模塊包括路由表緩存模
塊,查詢模塊等。通信端口包括端口配置模塊、消息發送模塊、消息處理模
塊等。

端口隊列管理模塊從查詢模塊中獲得本部件模型的端口數目,并依次獲
得每個端口的通信端口信息。部件模型間的連接關系一般有三種:通信端口
一般可以分為三種類型:只發送消息的通信端口、只接收消息或事件內容的
通信端口,既發送又接收消息或事件內容的通信端口。通信端口的類型和數
目一般情況下由該部件模型的連接關系的類型和決定。例如,部件模型A與
部件模型B、部件模型C、部件模型D分別具有雙向連接關系,那么部件模
型A具有三個通信端口,且該通信端口為既發送又接收消息或事件內容的通
信端口。若部件模型A向部件模型B單向發送消息,則部件模型A具有一個
只發送消息的通信端口,且部件模型B具有一個只接收消息或事件內容的通
信端口。

一個通信端口具有一條通信端口信息,也就是說,通信端口信息的數目
和通信端口的數目是一致的。端口隊列管理模塊獲得每一條新的通信端口信
息之后,將在通信模塊中創建一個新的通信端口,用數字或字母命名該通信
端口,并將相應的通信端口信息填入端口信息管理模塊。

部件模型的連接關系的類型、數目一般也會包含在描述文件中,另外通
信端口的名稱一般默認為數字或字母,在生成描述文件時,會自動排序包含
在描述文件中。

圖5至圖18是本發明實施例中提供的描述文件的詳細應用方法,所述描
述文件也稱為拓撲結構描述文件,本實施例中,部件模型的通信模塊根據通
信端口信息建立通信端口,相應地,描述文件中還包括部件模型的端口信息
(如名稱、標識等),通信端口信息還包括通信源端的端口信息和通信目的端
的端口信息。下面結合圖5至圖18詳細說明。

圖5是本發明實施例提供的拓撲結構描述文件的結構列表,拓撲結構描
述文件的結構如圖5所示。拓撲結構描述文件以部件模型為主要單位,描述
了每個部件模型的基本信息,以及該部件模型的端口的連接關系。為了防止
沖突,拓撲結構描述文件要求部件模型的標識為全局唯一,部件模型的端口
的名稱在該部件模型中唯一。由于部件模型的標識為全局唯一,端口的名稱
只需要保證部件模型內唯一,對該端口進行拓撲結構描述時就不會發生錯誤。

部件模型一般為消息的發送端或接收端,因此部件模型可作為通信源端
或通信目的端。為描述方便,若無特殊注明,以下內容中以部件模型即表示
通信源端或通信目的端。

該拓撲結構描述文件描述的是部件模型間的連接關系,且具體指出了一
個部件模型的端口與其他部件模型的端口之間的連接關系。

如圖5所示,表示一個并行事務級模擬系統中包含的全部部件模型的端
口的連接關系。該拓撲結構描述文件中包含若干個部件模型的端口的連接關
系,每個部件模型包含兩部分內容,一是模塊信息M1,二是通道信息M2。
模塊信息M1中,包括部件模型的名稱、標識、類型和通道數目,類型一般是
指處理器、內存、硬盤等,通道數目為該部件模型與其他部件模型之間的通
信通道的數目。通道信息M2中分條記錄了每個端口的信息,每條記錄記載一
個端口的端口信息,包括與該端口有連接關系的部件模型的標識、名稱,與
該部件模型的哪個端口有連接關系,這個端口的名稱、類型、延遲時間。端
口的名稱一般默認為阿拉伯數字或字母,并按照數字或字母的順序排序。端
口類型一般包括發送類型、接收類型和發送兼接收類型。延遲時間是指該端
口發送一次消息需要多長時間。

例如,部件模型A具有4個端口,4個端口的名稱分別為a、b、c、d,
且部件模型A與其他部件模型之間具有4個通信通道。部件模型A的模塊信
息包括,部件模型的名稱為A、標識為<2,1>、類型為處理器和通道數目為4。
通道信息包括4條記錄,每條記錄記載一個端口的信息,若端口a用以發出
消息,與部件模型B(標識為<3,1>)的端口f具有通信連接,則端口a的記
錄包括:源端的標識<2,1>,目的端的標識為<3,1>,源端的端口名稱為a,目
的端的端口名稱為f,通道類型為發送類型,延遲時間為0.04s。

拓撲結構描述文件一般根據待模擬的并行事務級模擬系統的通信連接,
建立源端與目的端的連接關系。建立連接關系時,所述源端的端口的類型為
發送類型,則與其對應的目的端的端口的類型只能是為接收類型或接收兼發
送類型,并且同一個部件模型既可以是源端也可以是目的端。

根據待模擬的并行事務級模擬系統的各部件模型之間的連接關系,在所
述拓撲結構描述文件中模擬部件模型之間的連接關系,部件模型獲取所述拓
撲結構描述文件后,依據其中的內容,建立部件模型之間的連接關系,則實
現了并行事務級模擬系統的建模。

圖6是本發明提供的通信端口的路由方法的一種實施方式的流程圖,包
括:

S101,獲取拓撲結構描述文件,所述拓撲結構描述文件包括源端的標識、
目的端的標識、源端的端口的名稱和目的端的端口的名稱;

S102,獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的
源端,所述通信源端的端口為待建立通信連接的源端的端口;

S103,在所述拓撲結構描述文件中查找與所述通信源端的端口對應的通
信目的端的端口的名稱及通信目的端的標識;

S104,記錄通信端口信息,所述通信端口信息包括所述通信源端的標識,
通信源端的端口的名稱、通信目的端的標識,通信目的端的端口的名稱;

S105,基于所述通信端口信息為所述通信源端和通信目的端建立通信端
口并配置通信通道。

步驟S101的拓撲結構描述文件可以利用圖1所示的建立部件模型間通信
的模擬方法生成,所述源端為消息的發出端或者說是發出消息的部件模型,
所述源端的端口用以發出所述消息;所述目的端為所述消息的接收端或者說
是接收消息的部件模型,所述目的端的端口用以接收所述消息,即源端和目
的端具有連接關系。由于消息的發送與接收是循環往復的,因此消息發送的
源端,下一次也可以是消息接收的目的端,換句話說,源端和目的端可以根
據消息的流向發生變化。在并行事務級模擬系統中,部件模型通常是通信源
端或通信目的端。

所述通信源端為待建立通信連接的源端,也就是并行事務級模擬系統中
的部件模型。部件模型設計完成之后,建立部件模型之間的通信連接,再配
置并行宿主機網絡,并行事務級模擬系統才算完成。為防止在建立通信連接
的過程中,出現漏接的情況,設計完成的部件模型,在建立通信連接時,將
該部件模型看做是待建立通信連接的源端。

所述通信目的端的端口為與所述待建立通信連接的源端的端口對應的目
的端的端口,所述通信目的端為與待建立通信連接的源端對應的目的端。消
息在整個系統中是通過端口流動的,建立通信連接時,需要確定消息的通信
源端和通信目的端,確保兩者是對應的,然后確定通信源端的哪個端口與通
信目的端的哪個端口對應,保證消息在對應的端口中流動。

基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配
置通信通道后,為通信源端建立的通信端口即對應通信端口信息中通信源端
的端口,為通信目的端建立的通信端口即對應通信目的端的端口。消息通過
通信源端的通信端口、配置的通信通道發送到通信目的端,通信目的端的通
信端口接收解析后的消息(對消息的解析將在后續進行詳細說明)。

一般情況下,發送類型的端口與接收類型或接收兼發送類型的端口對應;
接收類型的端口與發送類型或接收兼發送類型的端口對應;發送兼接收類型
的端口,若發送消息,則與發送類型的端口相同,若接收消息,則與接收類
型的端口相同。

拓撲結構描述文件中包括該部件模型的模塊信息和通道信息,其中模塊
信息包含該部件模型的名稱、標識、類型和通道數目,通道數目為該部件模
型與其他部件模型之間的通信通道的數目。通道信息中分條記錄了每個端口
的信息,包括與該端口有連接關系的部件模型的標識、名稱,與該部件模型
的哪個端口有連接關系,這個端口的名稱、類型、延遲時間。

S104中,記錄通信端口信息,可以根據實際情況將這些信息有選擇的記
錄下來,通常情況下通信端口信息只記錄常用的端口的信息,這樣可以節約
存儲空間。

所述通信通道是用來傳送消息的,通信通道一般通過并行宿主機網絡實
現。

圖7是本發明提供的端口路由器的一種實施方式的結構圖,下面結合圖1、
圖2和圖7詳細說明。

端口路由器A1的結構如圖7所示,主要有兩部分組成:路由信息管理模
塊A11和查詢模塊A12。

路由信息管理模塊A11,包括路由表緩存模塊A112,用以獲取拓撲結構
描述文件,所述拓撲結構描述文件包括源端的標識、目的端的標識、源端的
端口的名稱和目的端的端口的名稱;還用于獲取通信源端的端口的名稱,所
述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連
接的源端的端口;還用以記錄通信端口信息,所述通信端口信息包括所述通
信源端的標識,通信源端的端口的名稱、通信目的端的標識,通信目的端的
端口的名稱。

查詢模塊A12,用以在所述拓撲結構描述文件中查找與所述通信源端的
端口對應的通信目的端的端口的名稱及通信目的端的標識,所述通信目的端
的端口為與所述待建立通信連接的源端的端口對應的目的端的端口,所述通
信目的端為與待建立通信連接的源端對應的目的端。

查詢模塊A12一般提供兩個接口:一個接口用以查詢通信目的端的標識、
通信目的端的端口的名稱;另一個接口用以查詢通信源端的標識,通信源端
的端口的名稱。

若所述拓撲結構描述文件還包括所述源端的名稱、類型和通信通道的數
目;所述源端的端口的類型和延遲時間;所述源端的端口的類型包括:接收
類型、發送類型和接收兼發送類型,則查詢模塊A12,還用以在所述拓撲結
構描述文件中查找所述源端的端口的類型和延遲時間;并將所述源端的端口
的類型和延遲時間加入通信端口信息中。

路由表緩存模塊A112獲取拓撲結構描述文件后,將該文件保存成一張路
由器緩存表,存入路由表緩存模塊A112中,路由器緩存表的內容和拓撲結構
描述文件相同。路由器緩存表的結構為按行組織的連接關系隊列,一條連接
關系描述一對端口的連接,包含:“源端的標識”,“目的端的標識”,“源端的
端口的名稱”,“目的端的端口的名稱”,“類型”,“延遲時間”六個字段。

路由表緩存模塊A112主要具有以下優點,當待模擬的并行事務級模擬系
統巨大時,在部件模型或者其他模擬器中保存巨大的系統的連接關系是需要
大量內存的,因此,為了降低內存開銷,路由表緩存模塊A112將只保存部分
常用的路由信息。所述路由信息大都是指通信端口信息,也就是說,路由表
緩存模塊A112從拓撲結構描述文件中,將常用的端口或者部件模型的通信端
口信息保存在路由器緩存表中,這樣節約了存儲空間。

路由信息管理模塊A11還包括更新模塊A111,當需要查找的路由信息在
路由表緩存中時,將直接獲得信息;若查找的路由信息不在路由表緩存中,
路由表緩存模塊A112則需要重新讀取拓撲結構描述文件,獲取相應的路由信
息,更新模塊A111依據新的拓撲結構描述文件,并替換掉之前路由表緩存模
塊A112中的保存的舊的路由器緩存表。

也就是說,更新模塊A111對路由器緩存表進行更新和維護。若查詢模塊
A12在路由器緩存表中,查找不到通信源端的端口的通信端口信息,則路由
表緩存模塊A112重新獲取拓撲結構描述文件,獲取相應的信息,更新模塊
A111將新的信息保存入舊的路由器緩存表中,形成新的路由器緩存表。也就
是說,更新模塊A111根據新的拓撲結構描述文件,對應更新舊的路由器緩存
表,并保存形成新的路由器緩存表。

圖8是本發明提供的通信端口的消息發送方法的一種實施方式的流程圖,
包括:

S201,從所述端口路由器讀取與所述通信源端的端口對應的通信端口信
息,并基于所述通信端口信息為通信源端和對應的通信目的端建立通信端口
并配置通信通道;

S202,獲取事件包,所述事件包包括事件內容和發送該事件包的通信源
端的端口的名稱;

S203,將所述通信端口信息加入所述事件內容形成消息;

S204,通過所述通信通道發出所述消息。

由于消息的發送量一般較大,因此所述消息發送方法還包括根據發送消
息的時間,建立消息的發送緩存隊列,這防止消息在同一時間內涌入,加大
通信端口的工作負荷,造成當機或者消息堵塞的情況。消息通過通信通道發
出至通信目的端,通信通道一般通過并行宿主機網絡實現。

所述事件包由部件邏輯發出,這是為了更好的劃分部件邏輯的功能。部
件邏輯用來發送事件包或者接收事件內容的處理結果,也就是說所述部件邏
輯用以完成除對外聯系之外的邏輯功能。通信端口用于接收事件內容、事件
包或發送事件包、消息或處理結果。將部件邏輯與通信端口的工作區分開,
防止兩者功能交叉,混為一談,提高部件模型的重用性。

圖9是本發明提供的通信端口的消息接收方法的一種實施方式的流程圖,
包括:

S301,通過與所述通信源端對應的通信通道接收所述消息;

S302,解析所述消息,獲取事件內容和接收該消息的通信目的端的端口
的名稱。

通信目的端接收的消息是通過圖9所示的通信端口的消息發送方法發出
的,并根據接收所述事件內容的時間順序,建立所述事件內容的接收緩存隊
列。由于事件內容包含在消息中,因此所述事件內容的接收緩存隊列一般按
照接收包含該事件內容的消息的時間順序建立,因此也稱為消息接收緩存隊
列。

通信目的端接收所述消息后,對其解析,得到具體的通信端口信息,進
行后續的工作。解析所述消息時,按照接收緩存隊列的排列順序,逐一解析
所述消息。

后續的工作包括,處理所述事件內容,并反饋處理結果,所述處理結果
反饋至通信目的端的部件邏輯。處理所述消息時,根據需要還可以獲取所述
消息的通信源端的標識、通信源端的端口的名稱和通信目的端的標識。

圖10是本發明提供的通信端口A2的一種實施方式的結構圖,包括:

端口配置模塊A21,用以從端口路由器獲取與所述通信源端的端口對應
的通信端口信息,且基于所述通信端口信息為通信源端和對應的通信目的端
配置通信通道;

消息發送模塊A22,用以獲取事件包,所述事件包包括事件內容和發送
該事件包的通信源端的端口的名稱,將所述通信端口信息加入所述事件內容
形成消息且發送所述消息。

通信端口A2還包括:

消息處理模塊A23,用以獲取并處理其他通信端口發送的消息中的事件
內容,將處理結果反饋至部件邏輯A4;

消息發送緩存模塊A24,用以根據發送的消息的時間順序,建立所述消
息的發送緩存隊列;

消息接收緩存模塊A25,用以根據接收的消息中事件內容的時間順序,
建立所述事件內容的接收緩存隊列;

端口信息管理模塊A26,用以保存與所述通信源端的端口對應的通信端
口信息。

通信端口的結構如圖6所示。通信端口A2中包括端口配置模塊A21、
消息發送模塊A22和消息接收緩存模塊A25,消息發送緩存模塊A24,消息
處理模塊A23,端口信息管理模塊A26。

其中端口配置模塊A21獲取與所述通信源端的端口對應的通信端口信
息,并基于所述通信端口信息為通信源端和對應的通信目的端配置通信通道。
端口配置模塊A21獲取通信端口信息后,就要將所述通信通道配置完成,以
保證消息發送或接收的順利進行。

消息發送模塊A22和消息處理模塊A23用于控制消息的發送、接收和處
理,端口信息管理模塊A26用于記錄本端口的連接信息、通信端口信息等,
本端口的連接信息包括該端口與哪些端口存在連接關系,與哪些通信目的端
存在連接關系等。通信端口信息包括本端口的名稱,目的端的端口的名稱,
端口的類型(發送類型,接收類型,發送兼接收類型)。

通信端口還可以只用于接收和處理消息,這種通信端口包括消息處理模
塊,用以獲取所述事件內容;所述消息處理模塊還用以處理所述事件內容,
并反饋處理結果至通信目的端的部件邏輯。這種只用于接收和處理消息的通
信端口,還包括:消息接收緩存模塊,用以根據獲取所述事件內容的時間順
序,建立所述事件內容的接收緩存隊列。

通信端口根據其功能可以分為三種:只發送消息的通信端口、只接收消
息的通信端口,既發送又接收消息的通信端口。既發送又接收消息的通信端
口與通信端口A2的結構相同或相近;只接收消息的通信端口,一般僅包含的
消息處理模塊和消息接收緩存模塊或與上述兩種模塊功能相同或類似的模
塊;只發送消息的通信端口一般包含端口配置模塊,消息發送模塊,消息發
送緩存模塊和端口信息管理模塊。

圖11是本發明提供的通信模塊的一種實施方式的結構圖(圖中省略了通
信端口A2的具體結構),包括:端口路由器A1、端口隊列管理模塊A32和
通信控制器A31;

通信控制器A31,用以獲取事件包,所述事件包包括事件內容和發送該
事件包的通信源端的端口的名稱;

端口隊列管理模塊A32,用以從端口路由器A1獲取與所述通信源端的端
口對應的通信端口信息,并基于所述通信端口信息建立通信端口A2;

通信端口A2包括:

端口配置模塊,用以從端口路由器A1獲取所述通信端口信息,且基于所
述通信端口信息為通信源端和對應的通信目的端配置通信通道;

消息發送模塊,用以從所述通信控制器獲取所述事件包,將所述通信端
口信息加入所述事件內容形成消息且通過所述通信通道發送所述消息。

通信模塊A3一般用來接收或發出消息,因此通信控制器A31還用以接
收由通信源端的端口發出的消息,該消息包括發送該消息的通信源端的端口
的通信端口信息和事件內容。也就是說通信控制器A31用來接收其他部件模
型發出的消息。

若通信控制器A31還用以接收消息,則端口隊列管理模塊A32,還用以
解析所述通信控制器接收的消息,獲取該消息的事件內容和接收該消息的通
信目的端的端口的名稱。

通信端口A2還包括消息處理模塊,用以接收并處理所述端口隊列管理模
塊解析獲取的事件內容,并反饋處理結果至通信目的端的部件邏輯;消息發
送緩存模塊,用以根據發送所述消息的時間順序,建立所述消息的發送緩存
隊列;消息接收緩存模塊,用以根據接收的消息的事件內容的時間順序,建
立所述事件內容的接收緩存隊列;端口信息管理模塊,用以保存所述通信端
口的端口信息。

消息發送緩存模塊和消息接收緩存模塊還可以根據消息或事件內容的優
先級、消息的容量等建立緩存隊列。

端口隊列管理模塊A32,還用以監控通信端口A2,在通信端口A2空閑
時,控制該通信端口接收所述事件內容或發送所述消息。由端口隊列管理模
塊A32監控通信端口A2,在空閑的時候控制該通信端口接收所述事件內容或
發送所述消息,這是為了防止消息堵塞,進一步的,按照緩存隊列的順序控
制該通信端口接收所述事件內容或發送所述消息。

圖12是本發明提供的消息的發出流向圖,圖13是本發明提供的消息的
接收流向圖。下面結合圖8、圖9、圖10、圖11、圖12和圖13詳細說明。

并行事務級模擬系統啟動后,通信模塊A3將進行自動配置。首先端口路
由器A1將讀取拓撲結構描述文件,將讀取到的拓撲結構描述文件保存在路由
表緩存模塊A112中,形成路由緩存表。接著查詢模塊A12在路由緩存表中
查找與所述通信源端的端口對應的通信目的端的端口的名稱及通信目的端的
標識。

通信模塊A3將自己所屬的部件模型作為通信源端,從端口路由器A1獲
取與所述通信源端的端口對應的通信端口信息,且基于所述通信端口信息建
立通信端口并為通信源端和對應的通信目的端配置通信通道。具體來講,端
口隊列管理模塊A32,通過端口路由器A1中的查詢模塊A12進行查詢,得
到通信模塊A3需要的通信端口信息,并基于所述通信端口信息建立通信端口
A2。通信端口信息包括目的端的標識,目的端的端口的名稱,以及該端口的
類型是單一的發送、接收、還是收發兩用端口。通信端口信息將保存在每一
個通信端口的端口信息管理模塊A26中。端口隊列管理模塊A32獲取通信端
口信息,從中確定需要建立幾個通信端口。

端口配置模塊A21從通信端口信息中找到通信源端的標識和通信目的端
的標識,配置兩者之間的通信通道。當部件邏輯A4需要發送消息時,需要通
過通信通道,將消息從通信源端發送至通信目的端。通信通道一般是依靠并
行宿主機網絡實現的,通過通信通道發送消息,也可以看成是通過并行宿主
機網絡發送消息。

消息發送過程如圖12所示,部件邏輯A4通過通信端口A2向外發送消
息時,只需要指明使用哪一個通信端口即可,無需給出該端口在系統中的連
接情況。如圖12所示,部件邏輯A4所發出的事件包只包含“發送端口的名
稱”和“事件內容”兩個最基本內容,“發送端口的名稱”也就是通信源端的通信
端口的名稱。當事件包進入通信模塊A3,首先將由通信控制器A31進行消息
處理,通信控制器A31解析消息,獲得“發送端口的名稱”和“事件內容”。端
口隊列管理模塊A32取得相應通信端口的控制后,將解析之后的事件包暫存
在消息發送緩存模塊A24中。取得相應通信端口的控制是指,監控該端口是
否空閑,在該端口空閑時,控制該端口發送消息。消息發送模塊A22在對外
的通信通道空閑時,從消息發送緩存模塊A24中取出一個事件包,依據“發送
端口的名稱”加入相應端口的通信端口信息形成消息。一般情況下,為事件包
增加“通信源端的標識”,“通信源端的端口的名稱”,“通信目的端的標識”,“通
信目的端的端口的名稱”四個字段,基于這四個字段的內容,消息可以在并行
宿主機網絡A61上進行發送。

消息的接收過程如圖13所示,當由通信源端發送的消息由并行宿主機網
絡A61到達作為通信目的端的部件模型之后,將首先傳遞給通信控制器A31,
由通信控制器A31解析收到的消息。此時消息包括發送該消息的通信源端的
端口的通信端口信息和事件內容,具體地包括“通信源端的標識”,“通信源端
的端口的名稱”,“通信目的端的標識”,“通信目的端的端口的名稱”,以及“事
件內容”五個部分。根據“通信目的端的端口的名稱”,端口隊列管理模塊A32
將消息包精簡為只有“接收端口的名稱”和“事件內容”兩部分,并取得相應接收
端口的控制權,也就是監控該端口,在該端口空閑時,控制該端口接收。其
中“接收端口的名稱”也就是“通信目的端的通信端口的名稱”。精簡后的消息將
傳遞給通信端口A2的消息接收緩存模塊A25,在該端口空閑時,傳遞給消息
處理模塊A23進行處理,處理結果將傳遞至部件邏輯A4。

圖14是本發明提供的部件模型的一種實施方式的結構圖,圖15是本發
明提供的并行事務級模擬系統的一種實施方式的結構圖。下面結合圖14和圖
15詳細說明。

圖14是本發明提供的部件模型的一種實施方式的結構圖,部件模型A62
包括:通信模塊A3和部件邏輯A4。部件邏輯A4,用于發出事件包或接收處
理結果。

圖11是本發明提供的并行事務級模擬系統的一種實施方式的結構圖,并
行事務級模擬系統A6包括部件模型A62和并行宿主機網絡A61。

各部件模型A62獨立地模擬并行事務級模擬系統A6中的一部分,并通
過并行宿主機網絡A61進行消息的傳輸。當部件模型A62之間需要進行交互
時,將通過并行宿主機網絡A61轉發消息。在模擬并行事務級模擬系統A6
時,兩個部件模型A62之間通過消息實現交互,消息中包含事件內容或事件
包。事件包是用戶自定義結構的數據包。在該數據包中,用戶將抽象實現硬
件模塊之間以時序為粒度的事件內容。

消息交互的過程通常與部件模型A62采用的交互協議無關,通常不涉及
具體的總線時序等細節,也就是說,部件邏輯A4發出或接收處理結果,通信
模塊A3負責將事件包包裝成消息通過其通信端口A2發出。部件邏輯A4不
關心消息是由誰發出的,只關心發出了什么消息,接收了什么處理結果。相
應的,通信模塊A3不關心發送或接收了什么消息,只關心誰發送的,發送給
誰。這將部件模型A62分成了兩部分,部件邏輯A4負責發送事件包或接收
處理結果,通信模塊A3負責發送或接收消息。設計部件模型A62時,不再
糾結于并行事務級模擬系統需要何種通信連接,部件模型之間的連接關系如
何設計,設計并行事務級模擬系統時,也不再糾結于部件模型之間的連接關
系如何設計才能滿足并行事務級模擬系統的通信連接。這些連接關系或通信
連接預置在拓撲結構描述文件中,只需獲取該文件,按照該文件的內容進行
通信通道的配置,就可以滿足并行事務級模擬系統的通信連接的需求,且也
實現了部件模型之間的連接關系。

這不僅降低部件模型和并行事務級模擬系統之間的耦合度,而且提高并
行事務級模擬系統的開發效率。若部件模型之間的連接關系或并行事務級模
擬系統的通信連接發生變化時,只需要修改拓撲結構描述文件中相應的內容,
然后對路由緩存表和通信端口信息進行更新,就可以完成部件模型之間的連
接關系或并行事務級模擬系統的通信連接的修改。這降低對部件模型和并行
事務級模擬系統維護的開銷,不再需要重新設計部件模型或并行事務級模擬
系統,增強了部件模型的可重用性,減少資源浪費,節約了成本。

圖16是本發明提供的并行事務級模擬系統中部件模型的通信連接示意
圖。圖12描述在并行事務級模擬系統中兩個并行運行的部件模型A62之間
的通信關系,此處略去了與其他結構。并行事務級模擬的通信模塊A3的結構
及其在并行事務級模擬系統中的應用環境如圖16所示,通信模塊A3主要包
括:通信端口A2,通信控制器A31,端口隊列模塊A32,端口路由器A1。端
口路由器A1獲取外部的拓撲結構描述文件。

通信端口A2通過端口隊列模塊A32與端口路由器A1連接,可以通過端
口隊列模塊A32獲取端口路由器A1中的信息。

如圖16所示,兩個部件模型之間交互通過通信模塊A3進行,部件邏輯
A4需要進行外部通信時,將首先把事件包傳遞給通信模塊A3,由通信模塊
A3負責將事件包封裝成消息并轉發;同樣,在接收消息時,收到的消息將首
先由通信模塊A3負責處理,再傳遞給部件邏輯A4。在這種設計下,部件邏
輯A4同外部的交互將完全依賴通信模塊A3進行,可以在不考慮外部條件的
情形下,獨立地實現部件模型A62的內部邏輯,這種設計有效地提高了部件
模型的開發效率。

每個部件模型A62可以分為兩個部分,一部分是不涉及對外交互的部件
邏輯A4,另一部分是負責同外部交互的通信模塊A3。圖16是本發明提供的
事件包的一種實施方式的結構圖,圖17是本發明提供的消息的一種實施方式
的結構圖。

圖17中所示的事件包B1,包括發送端口的名稱B11和事件內容B10,
發送端口的名稱B11也就是通信源端的端口的名稱。事件包B1由部件邏輯
A4發出。圖18中所示的消息B2,包括事件內容B10,通信源端的標識B12,
通信源端的端口的名稱B11′,通信目的端的標識B13,通信目的端的端口的
名稱B14。其中通信源端的端口的名稱B11′與圖17中發送端口的名稱B11相
同。消息B2是由通信模塊A3接收事件包B1后,加入端口信息形成的,最
終由通信端口發出。

綜上所述,本發明實施例公開的技術方案,提高并行事務級模擬系統的
開發效率,降低對部件模型和并行事務級模擬系統維護的開銷。

本發明雖然已以較佳實施例公開如上,但其并不是用來限定本發明,任
何本領域技術人員在不脫離本發明的精神和范圍內,都可以利用上述揭示的
方法和技術內容對本發明技術方案做出可能的變動和修改,因此,凡是未脫
離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何
簡單修改、等同變化及修飾,均屬于本發明技術方案的保護范圍。

關于本文
本文標題:部件模型間通信的模擬及路由方法、并行事務級模擬系統.pdf
鏈接地址:http://www.wwszu.club/p-6421047.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大