專利名稱:一種基于汽車電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及汽車電控領(lǐng)域模型技術(shù),尤其是涉及一種基于汽電控領(lǐng)域模型 的自動(dòng)狀態(tài)機(jī)構(gòu)造方法。
技術(shù)背景大多數(shù)情況下嵌入式系統(tǒng)的安全性往往最后才會(huì)被考慮到。開(kāi)發(fā)人員在設(shè) 計(jì)產(chǎn)品時(shí)往往以速度為目標(biāo),而將安全性問(wèn)題留待將來(lái)的版本升級(jí)時(shí)再行解 決。但是在汽車電控領(lǐng)域,項(xiàng)目開(kāi)發(fā)中的系統(tǒng)安全性是超越其他因素的至關(guān)重 要的系統(tǒng)屬性。因此,開(kāi)發(fā)人員不僅要保證系統(tǒng)邏輯正確,還要確保系統(tǒng)能安 全的運(yùn)行。傳統(tǒng)的開(kāi)發(fā)還是大多沿用了先編碼后測(cè)試的開(kāi)發(fā)方法。采用這樣的方法一 則在后期測(cè)試中如果發(fā)現(xiàn)問(wèn)題,對(duì)于系統(tǒng)的修改代價(jià)會(huì)非常大,另一則測(cè)試只 能發(fā)現(xiàn)錯(cuò)誤,而不能確保系統(tǒng)不存在錯(cuò)誤。汽車電控領(lǐng)域開(kāi)發(fā)中,實(shí)時(shí)系統(tǒng)的系統(tǒng)資源比較有限,并發(fā)的任務(wù)對(duì)資源 的競(jìng)爭(zhēng)就更為激烈。如果因?yàn)槿蝿?wù)之間的資源競(jìng)爭(zhēng)引起任務(wù)的死鎖,使得任務(wù) 無(wú)法在時(shí)限內(nèi)完成,造成實(shí)時(shí)系統(tǒng)長(zhǎng)時(shí)間無(wú)法向前推進(jìn)。同時(shí),實(shí)時(shí)系統(tǒng)中由 于任務(wù)之間的并發(fā)執(zhí)行,由于各個(gè)任務(wù)之間的并發(fā)關(guān)系設(shè)計(jì)不當(dāng),同樣也可能 引起死鎖。這樣的問(wèn)題在系統(tǒng)設(shè)計(jì)中很容易出現(xiàn),因此即使是完備的測(cè)試也不 能保證能完全發(fā)現(xiàn)這類問(wèn)題。對(duì)于邏輯關(guān)系比較復(fù)雜的系統(tǒng)設(shè)計(jì),也可能存在某些永遠(yuǎn)也執(zhí)行不到的程 序塊,也就是模塊的可達(dá)性。這可能是設(shè)計(jì)者沒(méi)有考慮到某些因素而引起的, 雖然這樣的程序塊一般情況既不會(huì)影響系統(tǒng)的正確運(yùn)行,也很難在測(cè)試中發(fā) 現(xiàn),但是卻不能保證其在特殊情況下不被執(zhí)行,而造成不可挽回的錯(cuò)誤,因此 良好的汽車電控系統(tǒng)不應(yīng)該包含這樣的冗余模塊。以上這些在傳統(tǒng)的開(kāi)發(fā)過(guò)程中很難完全發(fā)現(xiàn)的問(wèn)題就給需要引入形式化的 驗(yàn)證方式來(lái)確保系統(tǒng)的安全可靠。但是汽車電控領(lǐng)域的模型卻無(wú)法使用通用的 驗(yàn)證工具進(jìn)行驗(yàn)證。 發(fā)明內(nèi)容為了解決上述現(xiàn)有汽車電控領(lǐng)域模型無(wú)法使用通用驗(yàn)證工具驗(yàn)證的問(wèn)題, 本發(fā)明的目的在于提供一種基于汽電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造方法,使其具體實(shí)施方式
實(shí)施例1半導(dǎo)體激光器l選用810nm系列半導(dǎo)體激光器,激光功率0.8W,激光器 電源9和半導(dǎo)體激光器1用高頻同軸電纜相連接,激光器電源9和半導(dǎo)體激 光器1配套,激光器電源9為半導(dǎo)體激光器1提供電源,光纖選用100nm直 徑,準(zhǔn)直器3采用自聚焦透鏡,半導(dǎo)體激光器1通過(guò)光纖2和準(zhǔn)直器3相連 接,半導(dǎo)體激光器1發(fā)射的激光通過(guò)準(zhǔn)直器3后整型,光纖2使半導(dǎo)體激光 器1和準(zhǔn)直器3實(shí)現(xiàn)了光纖耦合,提高了激光的傳輸效率,準(zhǔn)直器3采用自 聚焦透鏡,起偏器4和電光調(diào)制晶體單元5相連接,電光調(diào)制晶體單元5和 檢偏器6相連接,電光調(diào)制晶體單元5采用"組合調(diào)制"方式,電光調(diào)制晶 體單元5的材料選用LiNbO:,,電光調(diào)制晶體單元5由2個(gè)長(zhǎng)方體電光調(diào)制晶 體構(gòu)成,電光調(diào)制晶體長(zhǎng)和高都為10mm,寬20腿,將光軸垂直放置。這樣放 置電光調(diào)制晶體減少了由于自然雙折射引起的相位延遲和溫度引起的漂移。從電光調(diào)制晶體單元5的出射端面滿孔徑出射的光束的光路如圖2所示。 起偏器4和起偏器6的材料為方解石,其在波長(zhǎng)O. 81 u m處的折射率^約1. 65, 起偏器4和起偏器6的等效光程厶為丄,=8/" = 8/1.65 = 4.95(mm) 。 LiNbO:,晶 體在0. 81 U m處的/ 。=2. 186,其等效光程厶為:丄3 =40/" =40/2.186"8.25(附附)。 從自聚焦透鏡的端面到LiNbO:,電光調(diào)制晶體單元5入射面的等效光程Z'為 丄'=^ +丄2 + (30 -8 -2V^) = 26.01(m附)。從準(zhǔn)直器3端面到電光調(diào)制晶體單元出射 面的等效光程丄'+丄2 =26.01 +18.25 = 44.26(mm)。電光調(diào)制晶體單元5的寬帶行波電極設(shè)計(jì)及制作方法,電極的設(shè)計(jì)綜合 考慮調(diào)制電壓和調(diào)制帶寬,并且考慮電極與負(fù)載的阻抗匹配、電極損耗對(duì)帶定時(shí)激活任務(wù),3個(gè)不同優(yōu)先級(jí)任務(wù),l個(gè)數(shù)據(jù)Data。 Alarml和Alarm2的激活 動(dòng)作間隔分別是20毫秒和40毫秒。3個(gè)任務(wù)的優(yōu)先級(jí)順序 Task—3>Task—l>Task—2, Task_l在執(zhí)行中使用了系統(tǒng)資源Data。 取得以上系統(tǒng)信息,如下表l,表2所列表1系統(tǒng)中Alarm信息AlarmlAlarm2PropertyValuePropertyValueName;AlarmlNameAlarm2CycleTime20msCycleTime40ms表2系統(tǒng)中任務(wù)信息Task_lTask—2Task—3PropertyValuePropertyValuePropertyValuePriority2Priority1Priority3然后為每個(gè)Task分別構(gòu)造一個(gè)狀態(tài)機(jī),設(shè)置狀態(tài)機(jī)的優(yōu)先級(jí) Alarm>Task—3>Task—l>Task—2。并根據(jù)系統(tǒng)信息申明自動(dòng)機(jī)中的變量,如下表 3所示表3自動(dòng)機(jī)系統(tǒng)中申明的變量類型變量名取值含義取值含義整數(shù)T20ver0Task—2未結(jié)束1Task_2運(yùn)行結(jié)束整數(shù)T30ver0Task_3未結(jié)束1Task_3運(yùn)行結(jié)束整數(shù)T2Active0Task—2被激活1Task_2未激活整數(shù)T3Active0Task—3被激活1Task—2未激活信號(hào)Active—TasklActive—Taskl發(fā)出信號(hào)Active—Taskl 等待信號(hào)整數(shù)Event0未設(shè)置事件1設(shè)置事件整數(shù)Data0數(shù)據(jù)空閑>0數(shù)據(jù)被使用然后求得系統(tǒng)Alarm的最小循環(huán)周期是40ms,在一個(gè)周期中Alarml產(chǎn)生 激活Task—3的動(dòng)作2次,Alarml產(chǎn)生激活Task—2的動(dòng)作一次,在構(gòu)造的 Alarm自動(dòng)機(jī)中增加3個(gè)狀態(tài)轉(zhuǎn)移,分別表示這3個(gè)激活動(dòng)作,在狀態(tài)轉(zhuǎn)移前 分別判斷變量T30ver和T20ver,確定任務(wù)沒(méi)有在運(yùn)行中,則狀態(tài)可以進(jìn)行轉(zhuǎn)移,轉(zhuǎn)移后設(shè)置表示任務(wù)運(yùn)行的變量T3Active、 T2Active和表示任務(wù)結(jié)束的變 量T30ver、 T20ver。最后生成如圖2所示的系統(tǒng)自動(dòng)機(jī)。 分析系統(tǒng)的執(zhí)行順序如圖3所示是1.20毫秒時(shí)由Alarml產(chǎn)生激活動(dòng)作,Task—3被激活開(kāi)始執(zhí)行,20毫秒后 由Alarai2產(chǎn)生激活動(dòng)作,Tasl^2被激活。2. 但是由于Task—3優(yōu)先級(jí)最高,直到Task—3執(zhí)行至等待事件,Task—2才 得以開(kāi)始執(zhí)行。3. Task_2執(zhí)行至激活任務(wù)時(shí),Task—1被激活,由于Task一l的優(yōu)先級(jí)高于 Task—2,故Task一2被搶占,Task一l開(kāi)始執(zhí)行。4. Task—1直至執(zhí)行到設(shè)置事件,Task—3等待的事件被設(shè)置,可以繼續(xù)執(zhí) 行,由于其優(yōu)先級(jí)最高,于是搶占CPU。5. Task—3執(zhí)行完后,Task—l繼續(xù)執(zhí)行至任務(wù)結(jié)束。6. 最后Task—2執(zhí)行至任務(wù)結(jié)束。二、 構(gòu)造出的自動(dòng)機(jī)與汽車電控模型任務(wù)調(diào)度順序相一致。 根據(jù)步驟一的分析結(jié)果對(duì)于系統(tǒng)中的調(diào)度點(diǎn)進(jìn)行以下處理-1. 對(duì)于Alarml激活Task_3的調(diào)度點(diǎn),在Task—3的自動(dòng)機(jī)中Start狀態(tài)后 插入Wait狀態(tài),并在狀態(tài)轉(zhuǎn)移的判斷條件中加入T3Active是否成立的判斷, 表示Task—3對(duì)于激活動(dòng)作的等待,并在激活后把表示激活的變量T3Active設(shè) 置為未激活。2. 對(duì)于Alarm2激活Task—2的調(diào)度點(diǎn)的處理同上。3. 對(duì)于Task—2執(zhí)行完Com—5后對(duì)Task一l進(jìn)行激活的調(diào)度點(diǎn)的處理,先在 Com—5后的轉(zhuǎn)移中加入表示發(fā)出信號(hào)的Active—Taskl,爾后在Task_l狀態(tài)機(jī)中 增加表示等待的Wait狀態(tài)并在轉(zhuǎn)移條件中增加表示等待信號(hào)的 Active—Taskl ,表示等待Task一2發(fā)出信號(hào)。4. 對(duì)于Task_3等待Task一l執(zhí)行完Com一3后設(shè)置事件的調(diào)度點(diǎn)的處理,先 在Task—1自動(dòng)機(jī)的Com_3狀態(tài)的轉(zhuǎn)移中加入表示設(shè)置事件的變量Event賦 值,然后再Task_3自動(dòng)機(jī)中Com_l和Com—2狀態(tài)之間插入一個(gè)Wait狀態(tài), 并在Wait狀態(tài)轉(zhuǎn)移的條件中增加對(duì)Event事件的設(shè)置判斷,表示等待Task一l的 設(shè)置事件,并在完成狀態(tài)轉(zhuǎn)移后,設(shè)置事件Event變量為未設(shè)置。對(duì)以上調(diào)度點(diǎn)進(jìn)行處理后得到自動(dòng)機(jī)系統(tǒng),如圖4所示。三、 構(gòu)造出的自動(dòng)機(jī)與汽車電控模型資源使用情況相一致。 根據(jù)步驟一的分析結(jié)果對(duì)于系統(tǒng)中的資源使用進(jìn)行以下處理-對(duì)于系統(tǒng)中的Task—l的Con^4使用了系統(tǒng)資源Data的情況,在Task—1自 動(dòng)機(jī)的Com_3和Com—4狀態(tài)之間,插入表示等待的Wait狀態(tài),并在Wait的狀 態(tài)轉(zhuǎn)移中加入對(duì)于Data使用情況的判斷,確認(rèn)Data處在空閑狀態(tài)才進(jìn)行轉(zhuǎn) 移,并在轉(zhuǎn)移后增加Data變量,表示系統(tǒng)中使用Data的任務(wù)增加。并在 Com—4狀態(tài)的轉(zhuǎn)移中對(duì)于Data變量進(jìn)行自減操作,表示該任務(wù)已經(jīng)使用完畢 Data資源,進(jìn)行資源釋放。對(duì)以上資源使用處理后得到自動(dòng)機(jī)系統(tǒng),如圖5所示。如圖7所示,展示了汽車電控模型最終產(chǎn)生的自動(dòng)機(jī)系統(tǒng),其中自動(dòng)機(jī) Task_l, Task_2, Task—3分別對(duì)應(yīng)Task—1, Task—2, Task—3。自動(dòng)機(jī)Alarm對(duì) 應(yīng)系統(tǒng)中的2個(gè)Alarm。自動(dòng)機(jī)狀態(tài)轉(zhuǎn)移到順序如下l.Alarm設(shè)置了表示自動(dòng)機(jī)Task—3激活的數(shù)據(jù),Task—3開(kāi)始轉(zhuǎn)移,Alarm 的下一個(gè)狀態(tài)轉(zhuǎn)移設(shè)置了表示自動(dòng)機(jī)Task—2激活的數(shù)據(jù)。2Task—3轉(zhuǎn)移經(jīng)過(guò)Com—1后再Wait狀態(tài)開(kāi)始等待事件,Task—2開(kāi)始狀態(tài)轉(zhuǎn)移3. Task—2經(jīng)過(guò)狀態(tài)Com—5的轉(zhuǎn)移時(shí)設(shè)置了表示Task_l激活的數(shù)據(jù),Task一l 優(yōu)先級(jí)高于Task—2,于是搶占Task一2開(kāi)始轉(zhuǎn)移4. Task—1執(zhí)行經(jīng)過(guò)Com—3的狀態(tài)轉(zhuǎn)移,設(shè)置了表示設(shè)置事件的變量 Event,高優(yōu)先級(jí)的Task—3又開(kāi)始搶占Task—1繼續(xù)狀態(tài)轉(zhuǎn)移直至轉(zhuǎn)移結(jié)束至初 始狀態(tài)5. 剩余優(yōu)先級(jí)較高的Task一l開(kāi)始狀態(tài)轉(zhuǎn)移至結(jié)束6. 剩余Task一2轉(zhuǎn)移至結(jié)束可以看出構(gòu)造出的自動(dòng)機(jī)系統(tǒng)保留了汽車電控模型的任務(wù)調(diào)度順序和系統(tǒng) 資源使用情況,適合使用自動(dòng)機(jī)工具進(jìn)行系統(tǒng)驗(yàn)證。
權(quán)利要求
1、一種基于汽電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造方法,其特征在于該方法的步驟如下a)提取汽車電控模型的關(guān)鍵信息,并做相應(yīng)的自動(dòng)機(jī)構(gòu)造;b)構(gòu)造出的自動(dòng)機(jī)與汽車電控模型任務(wù)調(diào)度順序相一致;c)構(gòu)造出的自動(dòng)機(jī)與汽車電控模型資源使用情況相一致。
2、 根據(jù)權(quán)利要求1所述的一種基于汽車電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造 方法,其特征在于所述的第a)步操作中,根據(jù)汽車電控領(lǐng)域模型的內(nèi)容,為 模型中的每個(gè)任務(wù)分別構(gòu)造自動(dòng)機(jī),分析汽車電控領(lǐng)域模型的任務(wù)調(diào)度信息和 資源使用情況,并提取包括任務(wù)執(zhí)行優(yōu)先級(jí)和任務(wù)激活間隔時(shí)間在內(nèi)的關(guān)鍵數(shù) 據(jù),計(jì)算系統(tǒng)中Alarm任務(wù)激活時(shí)間的最小公倍數(shù),并為系統(tǒng)中的Alarm構(gòu)造 自動(dòng)機(jī)。
3、 根據(jù)權(quán)利要求1所述的一種基于汽車電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造 方法,其特征在于所述的第b)步操作中,對(duì)于汽車電控模型中包括激活動(dòng) 作,設(shè)置事件和等待事件在內(nèi)的任務(wù)調(diào)度點(diǎn),在自動(dòng)機(jī)中構(gòu)造相應(yīng)的狀態(tài),并 通過(guò)變量控制使得構(gòu)造出的自動(dòng)機(jī)與汽車電控模型的任務(wù)調(diào)度順序相一致。
4、 根據(jù)權(quán)利要求1所述的一種基于汽車電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造 方法,其特征在于所述的第c)步操作中,分析原模型資源模塊的使用情況, 并在自動(dòng)機(jī)中構(gòu)造相應(yīng)的資源獲取狀態(tài),以保證資源在空閑時(shí)才能被相關(guān)任務(wù) 獲取,任務(wù)才能繼續(xù)執(zhí)行,使得構(gòu)造出的自動(dòng)機(jī)與汽車電控模型的資源使用情 況相一致。
全文摘要
本發(fā)明公開(kāi)了一種基于汽車電控領(lǐng)域模型的自動(dòng)狀態(tài)機(jī)構(gòu)造方法。該方法的步驟如下a)提取汽車電控模型的關(guān)鍵信息,并做相應(yīng)的自動(dòng)機(jī)構(gòu)造;b)構(gòu)造出的自動(dòng)機(jī)與汽車電控模型任務(wù)調(diào)度順序相一致;c)構(gòu)造出的自動(dòng)機(jī)與汽車電控模型資源使用情況相一致。本發(fā)明能夠把汽車電控領(lǐng)域模轉(zhuǎn)換為自動(dòng)機(jī),使用能夠使用通用的自動(dòng)機(jī)驗(yàn)證工具來(lái)對(duì)自己的設(shè)計(jì)邏輯進(jìn)行形式化驗(yàn)證;能夠用自動(dòng)機(jī)正確表達(dá)原有汽車電控模型的任務(wù)調(diào)度順序和資源使用情況,幫助開(kāi)發(fā)人員發(fā)現(xiàn)設(shè)計(jì)中的邏輯問(wèn)題和管理系統(tǒng)中的資源模塊;在項(xiàng)目開(kāi)發(fā)的早期設(shè)計(jì)階段驗(yàn)證設(shè)計(jì)邏輯,有效減少了開(kāi)發(fā)后期出現(xiàn)設(shè)計(jì)邏輯錯(cuò)誤的可能,降低項(xiàng)目修改的成本。
文檔編號(hào)G05B17/00GK101226378SQ200810059418
公開(kāi)日2008年7月23日 申請(qǐng)日期2008年1月21日 優(yōu)先權(quán)日2008年1月21日
發(fā)明者攀 呂, 吳朝暉, 周炎淼, 紅 李, 楊國(guó)青, 堅(jiān) 趙 申請(qǐng)人:浙江大學(xué)