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

基于Socket通信的PREEvision二次開(kāi)發(fā)

2018-03-13 04:00:30蔡永祥王子龍張康達(dá)
關(guān)鍵詞:模型

蔡永祥 王子龍 張康達(dá)

(中國(guó)汽車(chē)技術(shù)研究中心,天津 300300)

PREEvision是德國(guó)Aquintos公司的一個(gè)自上而下的基于模型的電子電氣架構(gòu)設(shè)計(jì)與開(kāi)發(fā)工具,同時(shí)也是一個(gè)集成電子電氣協(xié)作平臺(tái),覆蓋整個(gè)V字模型的開(kāi)發(fā)與測(cè)試驗(yàn)證階段,包括電子電器需求分析、結(jié)架構(gòu)設(shè)計(jì)、模塊部件開(kāi)發(fā)及后期的測(cè)試驗(yàn)證,并且可以保證多部門(mén)、多流程在同一個(gè)平臺(tái)工具并行協(xié)作。

在以往電子電氣架構(gòu)設(shè)計(jì)過(guò)程中,人們通過(guò)手動(dòng)方式把輸入文件導(dǎo)入PREEvision軟件中,很難做到自動(dòng)分析與數(shù)據(jù)處理,無(wú)法滿足用戶快速完成架構(gòu)設(shè)計(jì)與分析的需求,尤其當(dāng)面對(duì)龐大的數(shù)據(jù)量時(shí),耗費(fèi)時(shí)間的同時(shí)也無(wú)法保證準(zhǔn)確度。

針對(duì)上述問(wèn)題,本文提出一種方法,它不僅能夠快速精確自動(dòng)處理輸入文件并自動(dòng)導(dǎo)入PREEvision,還可從PREEvision中自動(dòng)分析處理并讀取數(shù)據(jù)。

1 系統(tǒng)總體架構(gòu)

該方法主要包括:C#編寫(xiě)的數(shù)據(jù)處理軟件;基于Socket的多線程異步通信模塊;PREEvision中二次開(kāi)發(fā)的模型數(shù)據(jù)處理引擎這三部分。其系統(tǒng)架構(gòu)如圖1所示,具體實(shí)現(xiàn)方法如下。

1.1 數(shù)據(jù)輸入

為需要處理分析上傳的原始文件,包括Office文件,網(wǎng)絡(luò)通信文件DBC、FIBEX和LDF,線束設(shè)計(jì)文件KBL等。

1.2 數(shù)據(jù)編譯

為使用C#編寫(xiě)的上位機(jī)操作程序,實(shí)現(xiàn)輸入數(shù)據(jù)的編輯、解析、封裝功能,同時(shí)兼做用戶操作界面客戶端。

1.3 Socket

實(shí)現(xiàn)服務(wù)端與客戶端一對(duì)一的數(shù)據(jù)流式傳輸。作為上位程序與下位機(jī)PREEvision的通訊橋梁。

1.4 數(shù)據(jù)解碼

在PREEvision自帶的控件中,添加JAVA編寫(xiě)序列對(duì)上位機(jī)程序編譯封裝的數(shù)據(jù)解碼,變?yōu)镻REEvision可用的數(shù)據(jù)類(lèi)型。

1.5 數(shù)據(jù)寫(xiě)入

在PREEvision自帶的控件中,添加JAVA編寫(xiě)序列,使用PREEvision自帶命令將解碼數(shù)據(jù)放置到相應(yīng)的分類(lèi)中,并對(duì)相關(guān)類(lèi)進(jìn)行關(guān)聯(lián)。

圖1 系統(tǒng)架構(gòu)

1.6 操作流程

在客戶端假設(shè)為A的PC上運(yùn)行上位機(jī)程序,對(duì)需求層、規(guī)范層、腳本層、用例層、測(cè)試數(shù)據(jù)層的各種不同格式的文件進(jìn)行導(dǎo)入解析,設(shè)置各層數(shù)據(jù)之間的關(guān)系標(biāo)識(shí)符,設(shè)置完成后通過(guò)Socket和ServerSocket類(lèi)與為服務(wù)器端假設(shè)為B的PC上運(yùn)行的PREEvision建立通信,通過(guò)getInputStream()和getOutputStream()兩個(gè)函數(shù)進(jìn)行遠(yuǎn)程數(shù)據(jù)交互,將解析后的數(shù)據(jù)上傳至PREEvision中,在PREEvision的控件matrix中使用PREEvision自帶的接口函數(shù)編寫(xiě)JAVA代碼,結(jié)合不同層次的標(biāo)志位與層次之間的標(biāo)志位,調(diào)用PREEVision的接口函數(shù)將解碼后的數(shù)據(jù)添加至PREEvision相對(duì)應(yīng)的層次中,并可在PREEvision中對(duì)數(shù)據(jù)進(jìn)行分析。分析結(jié)果用Socket通信發(fā)回A客戶端并在A客戶端的數(shù)據(jù)處理軟件中繪圖展示。

該系統(tǒng)設(shè)計(jì)完成了沒(méi)有安裝PREEvision的PC和有安裝有PREEvision的PC之間的數(shù)據(jù)快速交互。

2 客戶端數(shù)據(jù)輸入處理

客戶端不需要安裝PREEvision,安裝C#開(kāi)發(fā)的上位機(jī)程序。客戶端主要完成三個(gè)部分的工作:一是輸入文件的解析編譯;二是與服務(wù)器端進(jìn)行通信;三是監(jiān)控通信狀態(tài)與分析結(jié)果展示。

交互界面將在后面的試驗(yàn)驗(yàn)證處進(jìn)行展示。與服務(wù)器通信將在下節(jié)Socket多線程通信中介紹,此處詳述文件編譯處理部分。

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

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

定義全局變量

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

_Document doc=null; //創(chuàng)建 word文檔

通過(guò)文件打開(kāi)對(duì)話框獲取word文件所在位置,代碼如下

OpenFileDialog dlg=new OpenFileDialog();

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

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

{

string fileName = dlg.FileName;

}

打開(kāi)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段 內(nèi) 容 復(fù) 制 到textbox中

圖2 Word文件編譯處理

3 Socket多線程通信

3.1 Socket通信機(jī)制

為了能夠方便地開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用軟件,美國(guó)伯克利大學(xué)在Unix上推出了一種應(yīng)用程序訪問(wèn)通信協(xié)議的操作系統(tǒng)調(diào)用Socket。

Socket的出現(xiàn),使程序員可以很方便地訪問(wèn)Tcp/Ip,從而開(kāi)發(fā)各種網(wǎng)絡(luò)應(yīng)用的程序。在網(wǎng)絡(luò)通信中,Socke可以理解為客戶端或服務(wù)器端的一個(gè)特殊對(duì)象,Socket通常被稱(chēng)為“套接字”,用于描述IP地址和端口,是一個(gè)通信鏈的句柄。它可以實(shí)現(xiàn)服務(wù)器與客戶端一對(duì)一的流式傳輸。

一個(gè)完整的Socket通信程序一般包括以下幾個(gè)步驟:創(chuàng)建Socket;打開(kāi)連接到Socket的輸入輸出流;按照一定的協(xié)議對(duì)Socket進(jìn)行讀/寫(xiě)操作;關(guān)閉Socket。

3.2 服務(wù)器端程序編寫(xiě)

Java使用專(zhuān)門(mén)建立Socket服務(wù)器的類(lèi)ServerSocket來(lái)創(chuàng)建服務(wù)器對(duì)象,ServerSocket server=new ServerSocket(int port),這里提供了一個(gè)端口作為參數(shù),要注意的是端口的分配必須是唯一的。因?yàn)槎丝谑菫榱宋ㄒ粯?biāo)識(shí)每臺(tái)計(jì)算機(jī)唯一服務(wù)的,另外端口號(hào)在0~65535,前1024個(gè)端口已經(jīng)被Tcp/Ip作為保留端口,因此人們所分配的端口只能是1024之后的。Socket通信流程如圖3所示。

建立服務(wù)器端的Socket對(duì)象步驟如下:

(1)創(chuàng)建一個(gè)服務(wù)器端套接字,并綁定到指定端口上。

ServerSocket ss=new ServerSocket(int port);

(2)調(diào)用accept(),監(jiān)聽(tīng)連接請(qǐng)求,如果客戶端請(qǐng)求連接,則接受連接,返回通信套接字。

Socket s=ss.accept();

(3) 調(diào) 用Socket 類(lèi) 的getOutputStream()和getInputStream獲取輸出流和輸入流,開(kāi)始網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收。

OutputStream os=s.getOutputStream();

InputStream is=s.getInputStream();

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

byte[] buf=new byte[100];

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

圖3 Socket通信流程

4 服務(wù)器數(shù)據(jù)解析

報(bào)文編碼格式如圖4所示,服務(wù)器接收數(shù)據(jù)以后需做以下處理工作:

(1)對(duì)數(shù)據(jù)進(jìn)行解析。解析過(guò)程為根據(jù)字符串(字符串的第一個(gè)單詞作為關(guān)鍵字)的關(guān)鍵字進(jìn)行哈希運(yùn)算。哈希運(yùn)算以后得到不同類(lèi)別的包類(lèi)構(gòu)造函數(shù)。

(2)調(diào)用第一步查找回來(lái)的構(gòu)造函數(shù)進(jìn)行對(duì)象的構(gòu)造。構(gòu)造完成以后PREEvsion的對(duì)應(yīng)層次中自動(dòng)產(chǎn)生構(gòu)造的對(duì)象。

(3)第一步和第二步完成以后,PREEvison的對(duì)象已經(jīng)生成成功。接下來(lái)需要把需求層、測(cè)試規(guī)范層、測(cè)試腳本層、測(cè)試結(jié)果層構(gòu)造的對(duì)象關(guān)聯(lián)起來(lái)。關(guān)聯(lián)方法為調(diào)用PREEVison的Map函數(shù)。輪詢各個(gè)對(duì)象下的子對(duì)象進(jìn)行對(duì)象的查找,并根據(jù)關(guān)鍵字進(jìn)行關(guān)聯(lián)(對(duì)象名的第一單詞作為關(guān)鍵字)。

(4)通過(guò)以上工作以后數(shù)據(jù)已經(jīng)保存到PREEvision中。PREEVison提供了統(tǒng)計(jì)測(cè)試結(jié)果的函數(shù)Result()。調(diào)用Result()函數(shù)可以得到測(cè)試結(jié)果的需求覆蓋率數(shù)值。這些數(shù)值通過(guò)Socket函數(shù)傳回給客戶端UI。客戶端通過(guò)C#提供的繪圖控件繪制出覆蓋度圖形。

圖4 報(bào)文編碼格式

5 方法驗(yàn)證分析

該系統(tǒng)可以實(shí)現(xiàn)C#開(kāi)發(fā)的客戶端和PREEVision中模型數(shù)據(jù)的交互分析。系統(tǒng)的使用減少了建立模型的工作量,縮短了建立模型的時(shí)間。與手動(dòng)建模比對(duì)驗(yàn)證可知,使用自動(dòng)建模方式準(zhǔn)確率更高,時(shí)間短,效率高。C#編寫(xiě)的界面可以快速方便地查看測(cè)試用例的覆蓋度。客戶端操作界面和數(shù)據(jù)分析界面分別如圖5、圖6所示,PREEVision數(shù)據(jù)分析界面、PREEVision中模型結(jié)構(gòu)、PREEVision中算法開(kāi)發(fā)分別如圖7、圖8和圖9所示。

圖5 客戶端操作界面

圖6 客戶端數(shù)據(jù)分析界面

圖7 PREEVision數(shù)據(jù)分析界面

圖8 PREEVision中模型結(jié)構(gòu)

圖9 PREEVision中算法開(kāi)發(fā)

6 結(jié)語(yǔ)

基于Socket通信的PREEvision二次開(kāi)發(fā),使用Socket多線程通信,傳輸數(shù)據(jù)時(shí)間短,性能高,客戶端與服務(wù)器端之間可實(shí)時(shí)進(jìn)行信息交互,數(shù)據(jù)安全性強(qiáng)。C#開(kāi)發(fā)的客戶端和PREEVision中的二次開(kāi)發(fā)模塊的配合使用實(shí)現(xiàn)了數(shù)據(jù)在沒(méi)有安裝PREEvision的PC和有安裝有PREEvision的PC之間的快速交互。這樣既節(jié)約了軟件采購(gòu)成本,又提高了建立模型的效率。

[1]何進(jìn),謝松巍.基于Socket的TCP/IP網(wǎng)絡(luò)通訊模式研究[J].計(jì)算機(jī)應(yīng)用研究,2001,(8):134-135.

[2]周炎濤,李立明.TCP/IP協(xié)議下網(wǎng)絡(luò)編程技術(shù)及其實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2002,(3):122-124.

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

[4]梁宏煒.用C#實(shí)現(xiàn)多線程Socket的通信[J].數(shù)字技術(shù)與應(yīng)用,2013,(6):60.

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

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

[7]李純潔.基于PREEvision的汽車(chē)電子電氣架構(gòu)設(shè)計(jì)與研究[D].上海:上海交通大學(xué),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]夏玲,王偉平.客戶端與服務(wù)器端的Socket通信[J].電腦知識(shí)與技術(shù),2009,5(4):812-813.

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

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

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲a级在线观看| 高清乱码精品福利在线视频| 91黄视频在线观看| 日本亚洲成高清一区二区三区| 欧美国产三级| 亚洲永久色| 精品亚洲欧美中文字幕在线看| 亚洲综合色婷婷中文字幕| 澳门av无码| 无码一区18禁| 成人精品视频一区二区在线| 天堂成人在线视频| 精品国产自在现线看久久| 久久精品人妻中文视频| 免费观看成人久久网免费观看| 日本成人一区| 国产区在线观看视频| 日韩人妻无码制服丝袜视频| 国产尹人香蕉综合在线电影| 91最新精品视频发布页| 四虎成人精品| 中文字幕波多野不卡一区| 野花国产精品入口| 欧美日韩中文国产va另类| 国产精品福利尤物youwu| 国产一区二区三区精品久久呦| 男女性午夜福利网站| 国产男人的天堂| 在线观看欧美国产| 伦精品一区二区三区视频| 亚洲中文无码av永久伊人| 亚洲欧美国产高清va在线播放| 日本欧美一二三区色视频| 中文纯内无码H| 国产门事件在线| 直接黄91麻豆网站| 精品一区二区无码av| 直接黄91麻豆网站| 午夜三级在线| 国产成人久久综合一区| 亚洲有无码中文网| 精品国产美女福到在线不卡f| 久久青草免费91观看| 国产一级裸网站| 午夜日b视频| 99这里只有精品免费视频| 国产噜噜在线视频观看| 欧美影院久久| www.av男人.com| 精品国产免费观看一区| 2019年国产精品自拍不卡| 色悠久久久| 69免费在线视频| 国产香蕉97碰碰视频VA碰碰看| 免费一级α片在线观看| 中文字幕日韩久久综合影院| 久久中文字幕不卡一二区| 亚洲综合国产一区二区三区| 国内黄色精品| 成年人国产网站| 国产丝袜一区二区三区视频免下载| 亚洲综合网在线观看| 美女无遮挡免费网站| 国产成人高清亚洲一区久久| 国产欧美精品一区二区| 九色国产在线| 欧美日韩免费| а∨天堂一区中文字幕| 九色在线观看视频| 亚洲一区二区三区在线视频| 福利片91| 国模极品一区二区三区| 国产呦精品一区二区三区下载| 国产欧美一区二区三区视频在线观看| 青青青国产免费线在| 丁香五月婷婷激情基地| 欧美人人干| 五月婷婷导航| 欧美精品亚洲二区| 成人国产精品网站在线看| 日韩毛片免费视频| 成人免费视频一区|