国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于密度聚類的地面發(fā)控解耦模型研究

2021-06-26 03:59冀慧君寧文學張鵬飛
火力與指揮控制 2021年5期
關鍵詞:火箭彈聚類區(qū)間

冀慧君,李 林,劉 佳,寧文學,張鵬飛

(北方自動控制技術研究所,太原 030006)

0 引言

火箭彈武器系統(tǒng)地面發(fā)控系統(tǒng)是完成火箭彈發(fā)射準備、激活、點火的核心系統(tǒng),嚴格地定義了火箭彈發(fā)射的每個步驟和規(guī)定的時間,在進入發(fā)射流程后,發(fā)控系統(tǒng)負責時序的控制,接收來自其他節(jié)點的文件和信息,向顯示終端反饋當前步驟的執(zhí)行結果,并且負責向火箭彈傳輸對時、星歷、飛行控制參數(shù)和慣導參數(shù),是火箭彈武器系統(tǒng)中不可或缺的一環(huán),它與火箭彈發(fā)射前的發(fā)射流程息息相關。

某型火箭彈地面發(fā)射控制軟件中功能劃分不明確,且由于多人經(jīng)手維護,標準不一,對后續(xù)的修改和新人上手開發(fā)很不友好。隨著彈種和功能的不斷增加,在原有軟件上不斷擴充。這樣做便于開發(fā),減少了任務量,但軟件會越來越復雜,各功能模塊在不斷新添功能后職能逐漸變得模糊,而彈種間相互參數(shù)和功能間的共用,使得修改可能會引起連鎖反應,降低了軟件的可靠性,埋下未知的隱患。

基于上述問題,提出一種基于密度的網(wǎng)絡聚類方法來分析發(fā)控軟件功能節(jié)點的相似度,既可以保存所有可能參數(shù)對應的網(wǎng)絡結構信息[1],又可以自動從中抽取所有可能對應的功能模塊。并且在此基礎上提出一種連續(xù)子區(qū)間堆結構,可以從網(wǎng)絡連接密度遍歷序列中抽取所有連續(xù)區(qū)間及其嵌套層次結構。

1 數(shù)據(jù)預處理

將地面發(fā)控軟件的所有功能組合起來看作一個功能網(wǎng)絡,每一個功能看作一個節(jié)點,當某一塊大小固定區(qū)域內,聚集內出現(xiàn)的數(shù)量超過一個閾值后,便可以將這塊區(qū)域看作是一個功能模塊[2]。這些模塊中節(jié)點的密度大小不一,且可能出現(xiàn)多個模塊聚在一起,可以將其看作是大型模塊,也可能出現(xiàn)單獨模塊游離在網(wǎng)絡邊緣,則它是一個功能獨立的小型模塊。網(wǎng)絡中還存在其他類型的節(jié)點,例如中心點和離群點[3],中心點如一個通信模塊中的收發(fā)函數(shù),在復雜網(wǎng)絡中扮演著非常特殊和重要的角色,離群點則與同樣處在網(wǎng)絡的邊緣連接,如實時監(jiān)控發(fā)射按鈕,它可以看作是所連接模塊的噪聲數(shù)據(jù)。

為了通過聚類獲得舊平臺發(fā)射控制軟件中代碼單元的相關性,在進行聚類之前,對舊平臺發(fā)射控制軟件進行處理,從而獲得獨立的代碼單元用以聚類。制定切分規(guī)則,合理切分出的代碼單元是聚類結果可靠的保障。

第1 級切割從文件開始,一個代碼文件中包含的參數(shù)與函數(shù)一般情況下邏輯緊密,參數(shù)在函數(shù)中存在具體實例,函數(shù)與函數(shù)間也有相互調用的可能。

第2 級切割從函數(shù)開始,一個函數(shù)所包含的信息是一個完整的集合,集合中存在的數(shù)據(jù)用以支撐這個函數(shù)的實現(xiàn),數(shù)據(jù)間相互關聯(lián),存在遞進的邏輯關系。因為函數(shù)給出了具體的輸入輸出,自身可看作一個整體,所有對同一文件下函數(shù)的切割不會破壞已存在的邏輯關系。

第3 級切割從輸入輸出開始,函數(shù)的輸出與輸出是對應的,標準情況下是一對一的關系,但函數(shù)輸入輸出存在多對一的對應關系,在函數(shù)中對多個輸入的處理可能存在遞進關系,處理函數(shù)的第2 個輸入需要使用函數(shù)第1 個輸入的處理結果。將這種顯性輸入與隱性輸出看作是一個整體,一個函數(shù)便可被切割成多個更小的代碼單元。

代碼空間三級切割關系圖如圖1 所示,在進行聚類之前,對舊平臺發(fā)射控制軟件進行處理,按切分順序對軟件進行切割,將三級切割后的代碼塊看作最小代碼單元,之后設定打印標識,通過重復的隨機流程操作,生成打印標識序列,作為聚類算法的輸入。

圖1 代碼單元切割順序圖

2 發(fā)射控制軟件功能聚類分析

2.1 基本概念

對于節(jié)點u,節(jié)點u 的ε 鄰居包含所有與u 的結構相似度大于等于ε 的鄰居節(jié)點:

網(wǎng)絡中結構可達和結構連接關系圖如圖2所示。

圖2 結構可達和結構連接關系圖

任意兩個相近節(jié)點之間連接邊的長度與兩者相似度成反比,預設參數(shù)μ=4,ε=0.5,節(jié)點a、h、i、k存在4 個及以上結構相似度大于0.5 的相近節(jié)點,根據(jù)結構相似度定義它們都是核節(jié)點。對于節(jié)點h,h 與i 之間的相似度大于0.5,所有h 與i 之間是結構可達的;同理,i 與k 之間結構可達,根據(jù)結構可達的定義,h 與k 之間是結構可達的。但是在非核節(jié)點上,結構可達的對稱性不再成立,m 與j 是結構連接的。

2.2 提取全局優(yōu)化ε 聚類

定義6(核相似度) 給定節(jié)點u∈V,u 的核相似度[9]為

首先遍歷打印標識序列,遍歷算法設計如圖3所示。

圖3 遍歷算法流程圖

算法輸入為打印標識序列G=

遍歷時默認設置第1 個節(jié)點為核節(jié)點,以其核相似度作為優(yōu)先級插入隊列,最后一個節(jié)點應是核節(jié)點附近的普通節(jié)點,以其可達相似度作為優(yōu)先級插入隊列。所有最后得到的ε 曲線是單調遞增的。假定選擇其中任意排序輸出的相似度值ε1,從最小值ε1和最大值εn分別畫一條連接εi的直線,那么最優(yōu)ε 應該是所有夾角中的最小值。

其中

二叉搜索法遍歷所有ε 的時間復雜度為O(logn),選擇不同的起始節(jié)點可以獲得不同的輸出序列S,為了獲得全局最優(yōu)的ε,可選擇n 個節(jié)點作為起始節(jié)點,出現(xiàn)次數(shù)最多的ε 則選做全局最優(yōu)ε,使用二叉搜索法獲得全局最優(yōu)的時間復雜度為O(nlogn)。

2.3 提取全局優(yōu)化ε 聚類

定義8(連續(xù)ε 區(qū)間) 可達相似度大于等于ε的一個極大連續(xù)位置索引子集稱為連續(xù)ε 區(qū)間。對于連續(xù)區(qū)間,若此刻,與區(qū)間[a,b]中任一位置索引對應的網(wǎng)絡功能節(jié)點同屬一個聚類模塊中。

定義9(子區(qū)間) 若區(qū)間[c,d]是一個連續(xù)區(qū)間[a,b]的子區(qū)間,對任意連續(xù)ε 區(qū)間,存在一個連續(xù)區(qū)間[c,d],其中,。

由于連續(xù)子區(qū)間的特性,使用樹形結構存放連續(xù)子區(qū)間,且子區(qū)間內存在偏序關系,從而使得父節(jié)點必然小于孩子節(jié)點,形成連續(xù)子空間堆。連續(xù)子空間堆的構建過程如圖4 所示。

圖4 層次結構遍歷流程圖

當訪問完全部節(jié)點后,棧中剩余的連續(xù)區(qū)間變作為堆頂?shù)淖庸?jié)點,形成完整的堆結構。通過上述方法,可以簡單地從遍歷序列S 中提取所有可能的ε 聚類對應的嵌套層次樹。

3 發(fā)射控制軟件解耦設計

3.1 聚類結果分析

對得到的子區(qū)間堆進行分析,發(fā)現(xiàn)聚類規(guī)模較大的模塊共有7 個,分別在程序中處理初始化、通信、參數(shù)設置、通信自檢、火箭彈自檢、參數(shù)裝訂和時序控制模塊,其中,跟通信有關的聚類點中又包含4 個小型聚類,分別處理DDS、TCP、Can 和串口通信任務。另外,程序中存在很多的離群點,大部分的任務是監(jiān)控外部環(huán)境的實時變化。軟件功能聚類結構圖如圖5 所示。

圖5 軟件功能聚類結構圖

通過聚類提取到的ε 和包含層次嵌套關系的子區(qū)間堆,按數(shù)據(jù)預處理中的切分順序,逆向將其重新聚合為函數(shù),通過子區(qū)間堆的包含關系將函數(shù)分配到對應模塊的文件當中,并將對應代碼進行優(yōu)化修改。

3.2 模塊動態(tài)加載設計

圖5 中的聚類結果時序控制占比整個軟件的38%,時序控制針對不同的彈種會有不同的操作,如果將不同的彈種制作成不同的鏈接庫文件,在系統(tǒng)啟動時有選擇地加載對應的鏈接庫文件到內存中,相當于運行不同彈種的發(fā)射控制程序,在維護不同彈種的發(fā)射控制軟件時,方便統(tǒng)一軟件版本,可以對具體彈種做特定修改,并且聚類結構中的參數(shù)設置、參數(shù)裝訂、火箭彈自檢和時序控制模塊中不同彈種共用的參數(shù)和數(shù)據(jù)結構可以進一步地解耦。

首先建立內核映像工程,將圖5 中系統(tǒng)初始化、通信、系統(tǒng)自檢和其他中的部分功能抽離出來放在內核映像工程中,和DeltaOS 內核一起打包,可直接在目標板上完成自啟動,裝入內核并運行應用程序。每個對應彈種的可下載模塊包含對應的參數(shù)設置、參數(shù)裝訂、火箭彈自檢和時序控制,看作是用戶程序,不包含DeltaOS 內核。當系統(tǒng)收到彈種信息時,在內核映像中自動切換對應彈種的鏈接庫。某一時刻軟件結構如圖6 所示,當前時刻正在運行彈種n 的地面發(fā)射控制軟件模塊,則程序應只存在與彈種n 相關的內容,其余彈種不應被加載到內存中。

圖6 某一時刻軟件結構圖

為實現(xiàn)模塊動態(tài)加載,利用軟件設計中工廠模式的設計思想,在彈種共用模塊中實現(xiàn)彈種選擇工廠化,根據(jù)當前彈種返回的自檢信息中包含彈種編碼的信息調用對應的彈種模塊,從而去除由人工選擇產生失誤的可能。

模塊動態(tài)加載流程圖如圖7 所示。

圖7 模塊動態(tài)加載流程圖

4 驗證與優(yōu)化

仿真驗證平臺為某型火箭彈火控系統(tǒng)調試平臺,模擬彈工裝為火控系統(tǒng)提供彈上信息反饋,進行隨機流程測試,記錄功能模塊標識。

4.1 參數(shù)的選擇

μ 與ε 以先驗知識的身份作為輸入?yún)?shù),通過算法求得最優(yōu)ε。其中,參數(shù)ε 選擇一個最小的初始閾值,使聚類信息多樣化,而不同的μ 限定了小型功能模塊包含功能節(jié)點的個數(shù),選定10 個不同的μ,以ε=0.75 進行聚類,測試實驗結果的差異性。實驗結果如圖8 所示。

圖8 參數(shù)μ 對全局最優(yōu)ε 的影響

當μ>5 時,全局最優(yōu)ε 的變動開始不平穩(wěn),參數(shù)μ 開始影響算法提取的最優(yōu)ε。為了避免這種情況的發(fā)生,使算法對μ 參數(shù)不敏感,結果趨于穩(wěn)定,應設μ≤5。

4.2 聚類結果驗證

為了驗證依照聚類結果重新設計的發(fā)射控制軟件中功能節(jié)點歸屬是否滿足預期,進行隨機流程測試,記錄功能模塊標識。將最優(yōu)參數(shù)和作為先驗知識,以核心節(jié)點為基準,對功能節(jié)點的歸屬進行評估,判斷其結果是否與預期劃分相同。

評估結果如圖9 所示。

圖9 節(jié)點劃分評估結果圖

符合預期分布的功能節(jié)點有416 個,超出分配核節(jié)點數(shù)范圍的功能節(jié)點共8 個,其中3 個節(jié)點從中心節(jié)點變成了核節(jié)點的附屬節(jié)點,1 個節(jié)點從核節(jié)點的附屬節(jié)點變成中心節(jié)點,3 個節(jié)點從核節(jié)點的附屬節(jié)點變成離群點,1 個節(jié)點的預設核節(jié)點發(fā)生變化。本文結合實驗結果,根據(jù)實際情況對不符合預期的功能節(jié)點進行分析,發(fā)現(xiàn)造成該結果的隨機流程屬于發(fā)射控制程序的應急模式,應急模式中會根據(jù)屏蔽的流程步驟生成對應的應急流程。正常作戰(zhàn)實驗中不排除進行應急發(fā)射流程的可能,但正常流程依舊占多數(shù)。根據(jù)分析,將預設核節(jié)點發(fā)生變動的點進行重新劃分,其余因應急模式發(fā)生變化的功能節(jié)點保持不變。

4.3 聚類指標評估

在此基礎上新增某型火箭彈彈種模塊,運行特定彈種發(fā)射流程,以函數(shù)為打印光標單位,對比重新設計之前某流程相似的火箭彈彈種模塊以相同方式處理得到的結果,對比結果如表1 所示:

表1 新舊平臺功能聚類指標對比圖

功能聚類指標t 由式(7)得出。

其中,n 代表光標類型,s 代表光標總數(shù),在光標總數(shù)s 相同的情況下光標類型n 越少則功能內部聚類程度更高。通過對比可以看出,同一光標類型被復用次數(shù)多于舊平臺,光標總數(shù)也較舊平臺有了減少,改良后的軟件模塊功能聚類更加緊密。

5 結論

本文設計一種基于密度的聚類算法,遍歷切割后的功能節(jié)點光標,通過聚類結果得到的最優(yōu)模塊分配和模塊間的層次嵌套關系,重新劃分地面發(fā)射控制軟件的功能模塊,并重構彈種模塊,去除不同彈種間的相互耦合,解決修改彈種流程會對其他彈種流程造成未知干擾的隱患。通過驗證,確定重新設計的發(fā)射控制程序可以完成舊版發(fā)射控制程序所有功能,且優(yōu)化了軟件結構,不僅提高了功能聚類指標,對后期的維護成本和新增彈種的便利性也有良好的改善。同時,對陸軍火控系統(tǒng)中其他軟件的重新設計和梳理有十分重要的借鑒作用。

猜你喜歡
火箭彈聚類區(qū)間
一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
基于知識圖譜的k-modes文本聚類研究
一種改進K-means聚類的近鄰傳播最大最小距離算法
基于模糊聚類和支持向量回歸的成績預測
V型函數(shù)在閉區(qū)間上的最大值只可能在端點取到
分析師一致預期大幅調高個股
單調區(qū)間能否求“并”
多個單調區(qū)間為何不宜寫成“U”的形式