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

基于Socket通信的PREEvision二次開發

2018-03-13 04:00:30蔡永祥王子龍張康達
現代制造技術與裝備 2018年1期
關鍵詞:模型

蔡永祥 王子龍 張康達

(中國汽車技術研究中心,天津 300300)

PREEvision是德國Aquintos公司的一個自上而下的基于模型的電子電氣架構設計與開發工具,同時也是一個集成電子電氣協作平臺,覆蓋整個V字模型的開發與測試驗證階段,包括電子電器需求分析、結架構設計、模塊部件開發及后期的測試驗證,并且可以保證多部門、多流程在同一個平臺工具并行協作。

在以往電子電氣架構設計過程中,人們通過手動方式把輸入文件導入PREEvision軟件中,很難做到自動分析與數據處理,無法滿足用戶快速完成架構設計與分析的需求,尤其當面對龐大的數據量時,耗費時間的同時也無法保證準確度。

針對上述問題,本文提出一種方法,它不僅能夠快速精確自動處理輸入文件并自動導入PREEvision,還可從PREEvision中自動分析處理并讀取數據。

1 系統總體架構

該方法主要包括:C#編寫的數據處理軟件;基于Socket的多線程異步通信模塊;PREEvision中二次開發的模型數據處理引擎這三部分。其系統架構如圖1所示,具體實現方法如下。

1.1 數據輸入

為需要處理分析上傳的原始文件,包括Office文件,網絡通信文件DBC、FIBEX和LDF,線束設計文件KBL等。

1.2 數據編譯

為使用C#編寫的上位機操作程序,實現輸入數據的編輯、解析、封裝功能,同時兼做用戶操作界面客戶端。

1.3 Socket

實現服務端與客戶端一對一的數據流式傳輸。作為上位程序與下位機PREEvision的通訊橋梁。

1.4 數據解碼

在PREEvision自帶的控件中,添加JAVA編寫序列對上位機程序編譯封裝的數據解碼,變為PREEvision可用的數據類型。

1.5 數據寫入

在PREEvision自帶的控件中,添加JAVA編寫序列,使用PREEvision自帶命令將解碼數據放置到相應的分類中,并對相關類進行關聯。

圖1 系統架構

1.6 操作流程

在客戶端假設為A的PC上運行上位機程序,對需求層、規范層、腳本層、用例層、測試數據層的各種不同格式的文件進行導入解析,設置各層數據之間的關系標識符,設置完成后通過Socket和ServerSocket類與為服務器端假設為B的PC上運行的PREEvision建立通信,通過getInputStream()和getOutputStream()兩個函數進行遠程數據交互,將解析后的數據上傳至PREEvision中,在PREEvision的控件matrix中使用PREEvision自帶的接口函數編寫JAVA代碼,結合不同層次的標志位與層次之間的標志位,調用PREEVision的接口函數將解碼后的數據添加至PREEvision相對應的層次中,并可在PREEvision中對數據進行分析。分析結果用Socket通信發回A客戶端并在A客戶端的數據處理軟件中繪圖展示。

該系統設計完成了沒有安裝PREEvision的PC和有安裝有PREEvision的PC之間的數據快速交互。

2 客戶端數據輸入處理

客戶端不需要安裝PREEvision,安裝C#開發的上位機程序??蛻舳酥饕瓿扇齻€部分的工作:一是輸入文件的解析編譯;二是與服務器端進行通信;三是監控通信狀態與分析結果展示。

交互界面將在后面的試驗驗證處進行展示。與服務器通信將在下節Socket多線程通信中介紹,此處詳述文件編譯處理部分。

上位機操作界面現在可以出來的文件類型包括:Word、Excel、XML、DBC、LDF、KBL等,讀取處理方式相似,下面以Word的提取處理方式為例進行敘述,Word文件編譯處理流程如圖2所示。

添加引用com文件Microsoft word 11.0 Object Library

定義全局變量

_Applicationapp=newWord.Application();//創 建word

_Document doc=null; //創建 word文檔

通過文件打開對話框獲取word文件所在位置,代碼如下

OpenFileDialog dlg=new OpenFileDialog();

dlg.Filter = “word 文件 |*.doc”;

if (dlg.ShowDialog() == DialogResult.OK)

{

string fileName = dlg.FileName;

}

打開word,代碼如下

object unknow = Type.Missing;

doc=app.Documents.Open(reffileName, ref unknow, ref unknow, ref unknow, ref unknow);

讀取word文檔

stringtemp=doc.Paragraphs[i].Range.Text.Trim();//變量i為第i段

textBox1.Text = temp; //將 第 i段 內 容 復 制 到textbox中

圖2 Word文件編譯處理

3 Socket多線程通信

3.1 Socket通信機制

為了能夠方便地開發網絡應用軟件,美國伯克利大學在Unix上推出了一種應用程序訪問通信協議的操作系統調用Socket。

Socket的出現,使程序員可以很方便地訪問Tcp/Ip,從而開發各種網絡應用的程序。在網絡通信中,Socke可以理解為客戶端或服務器端的一個特殊對象,Socket通常被稱為“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄。它可以實現服務器與客戶端一對一的流式傳輸。

一個完整的Socket通信程序一般包括以下幾個步驟:創建Socket;打開連接到Socket的輸入輸出流;按照一定的協議對Socket進行讀/寫操作;關閉Socket。

3.2 服務器端程序編寫

Java使用專門建立Socket服務器的類ServerSocket來創建服務器對象,ServerSocket server=new ServerSocket(int port),這里提供了一個端口作為參數,要注意的是端口的分配必須是唯一的。因為端口是為了唯一標識每臺計算機唯一服務的,另外端口號在0~65535,前1024個端口已經被Tcp/Ip作為保留端口,因此人們所分配的端口只能是1024之后的。Socket通信流程如圖3所示。

建立服務器端的Socket對象步驟如下:

(1)創建一個服務器端套接字,并綁定到指定端口上。

ServerSocket ss=new ServerSocket(int port);

(2)調用accept(),監聽連接請求,如果客戶端請求連接,則接受連接,返回通信套接字。

Socket s=ss.accept();

(3) 調 用Socket 類 的getOutputStream()和getInputStream獲取輸出流和輸入流,開始網絡數據的發送和接收。

OutputStream os=s.getOutputStream();

InputStream is=s.getInputStream();

os.write(“Hello,this is server! “.getBytes());//向客戶端發送數據

byte[] buf=new byte[100];

int len=is.read(buf);//從客戶端讀取數據

圖3 Socket通信流程

4 服務器數據解析

報文編碼格式如圖4所示,服務器接收數據以后需做以下處理工作:

(1)對數據進行解析。解析過程為根據字符串(字符串的第一個單詞作為關鍵字)的關鍵字進行哈希運算。哈希運算以后得到不同類別的包類構造函數。

(2)調用第一步查找回來的構造函數進行對象的構造。構造完成以后PREEvsion的對應層次中自動產生構造的對象。

(3)第一步和第二步完成以后,PREEvison的對象已經生成成功。接下來需要把需求層、測試規范層、測試腳本層、測試結果層構造的對象關聯起來。關聯方法為調用PREEVison的Map函數。輪詢各個對象下的子對象進行對象的查找,并根據關鍵字進行關聯(對象名的第一單詞作為關鍵字)。

(4)通過以上工作以后數據已經保存到PREEvision中。PREEVison提供了統計測試結果的函數Result()。調用Result()函數可以得到測試結果的需求覆蓋率數值。這些數值通過Socket函數傳回給客戶端UI??蛻舳送ㄟ^C#提供的繪圖控件繪制出覆蓋度圖形。

圖4 報文編碼格式

5 方法驗證分析

該系統可以實現C#開發的客戶端和PREEVision中模型數據的交互分析。系統的使用減少了建立模型的工作量,縮短了建立模型的時間。與手動建模比對驗證可知,使用自動建模方式準確率更高,時間短,效率高。C#編寫的界面可以快速方便地查看測試用例的覆蓋度。客戶端操作界面和數據分析界面分別如圖5、圖6所示,PREEVision數據分析界面、PREEVision中模型結構、PREEVision中算法開發分別如圖7、圖8和圖9所示。

圖5 客戶端操作界面

圖6 客戶端數據分析界面

圖7 PREEVision數據分析界面

圖8 PREEVision中模型結構

圖9 PREEVision中算法開發

6 結語

基于Socket通信的PREEvision二次開發,使用Socket多線程通信,傳輸數據時間短,性能高,客戶端與服務器端之間可實時進行信息交互,數據安全性強。C#開發的客戶端和PREEVision中的二次開發模塊的配合使用實現了數據在沒有安裝PREEvision的PC和有安裝有PREEvision的PC之間的快速交互。這樣既節約了軟件采購成本,又提高了建立模型的效率。

[1]何進,謝松巍.基于Socket的TCP/IP網絡通訊模式研究[J].計算機應用研究,2001,(8):134-135.

[2]周炎濤,李立明.TCP/IP協議下網絡編程技術及其實現[J].航空計算技術,2002,(3):122-124.

[3]馮香枝,胡朝峰,張海濤.基于PREEvision的汽車電子電氣架構設計[J].汽車電器,2013,(10):43-46.

[4]梁宏煒.用C#實現多線程Socket的通信[J].數字技術與應用,2013,(6):60.

[5]肖美華,余立全,肖攀.SOCKET通信程序模型抽取及可靠性驗證[J].計算機科學,2012,39(11):102-105.

[6]茹志鵑.基于TCP協議的Socket數據通信[J].科技信息,2012,(13):93.

[7]李純潔.基于PREEvision的汽車電子電氣架構設計與研究[D].上海:上海交通大學,2011:11.

[8]Liu Qigang,Sun Xiangyang.Research of Web Real-time Communication Based on Web Socket[J].International Journal of Communications Network & System Sciences,2012,5(12):797-801.

[9]夏玲,王偉平.客戶端與服務器端的Socket通信[J].電腦知識與技術,2009,5(4):812-813.

[10]羅亞非.基于TCP的Socket多線程通信[J].電腦知識與技術,2009,5(3):563-565.

[11]馮峻域,戴青云,植俊文.基于多線程串口通信的生產數據實時采集系統[J].微計算機信息,2006,(10):149-151.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 午夜福利视频一区| 波多野结衣视频一区二区| 在线精品自拍| 国产鲁鲁视频在线观看| 亚洲va在线观看| 欧美成人午夜视频| 欧美色图久久| 中文字幕人成乱码熟女免费| 国产精品乱偷免费视频| 91色在线观看| 九月婷婷亚洲综合在线| 欧美一区福利| 自拍偷拍欧美| 欧美第二区| 亚洲欧美不卡| 亚洲精品在线影院| 久草视频一区| 国产麻豆精品手机在线观看| 日韩免费毛片| 久久香蕉国产线看观看式| 中文字幕亚洲无线码一区女同| 国产成在线观看免费视频| 国产网友愉拍精品| 亚洲精品日产AⅤ| 日韩无码真实干出血视频| 中文无码影院| 日韩精品一区二区三区中文无码 | 中文字幕日韩久久综合影院| 色视频国产| 欧美在线视频a| 在线一级毛片| 国产95在线 | 午夜限制老子影院888| 欧美在线免费| 国模私拍一区二区| 亚洲第一区在线| 国产特级毛片| 另类综合视频| 日本午夜在线视频| 日本一区二区三区精品视频| 国产欧美日韩专区发布| 国产小视频a在线观看| 国产精品成人不卡在线观看| 91蜜芽尤物福利在线观看| 久久情精品国产品免费| 精品日韩亚洲欧美高清a| 无码'专区第一页| 国产在线无码av完整版在线观看| 精品国产黑色丝袜高跟鞋| 一本久道久久综合多人| 91午夜福利在线观看| 精品伊人久久久久7777人| 91麻豆国产视频| 一本一道波多野结衣一区二区 | 亚洲欧美一区在线| 欧美中日韩在线| 国产 在线视频无码| 国产极品美女在线播放| 亚洲一区二区精品无码久久久| 久久网综合| 久久99国产乱子伦精品免| 日韩欧美中文| 亚洲国产成人久久精品软件| 欧美亚洲一区二区三区导航| 制服丝袜一区| 亚洲成人福利网站| 欧美69视频在线| 国产视频 第一页| 丁香亚洲综合五月天婷婷| 国产主播一区二区三区| 国产情侣一区| 国产精品亚洲一区二区在线观看| 97国产在线视频| 亚洲欧美日韩另类在线一| 日本亚洲欧美在线| 国产对白刺激真实精品91| 久久综合九色综合97婷婷| 日韩经典精品无码一区二区| 国产1区2区在线观看| 91精品视频网站| 看国产毛片| 免费99精品国产自在现线|