本發(fā)明涉及計(jì)算機(jī)軟件架構(gòu)領(lǐng)域設(shè)計(jì)技術(shù),特別涉及一種軟件架構(gòu)技術(shù)中使用的座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)。
背景技術(shù):
座艙顯示控制系統(tǒng)是一個(gè)由多個(gè)系統(tǒng)、多種環(huán)境、多項(xiàng)任務(wù)、多種資源構(gòu)成的相互關(guān)聯(lián)、相互支持、相互集成和相互制約的復(fù)雜系統(tǒng),具有多目標(biāo)、多信息、多專業(yè)、多任務(wù)、多功能、多資源和多過(guò)程組成的復(fù)雜系統(tǒng)構(gòu)成與管理特征。
隨著座艙顯示控制系統(tǒng)軟件產(chǎn)品推出時(shí)間的越來(lái)越短,軟件復(fù)雜度越來(lái)越大,且現(xiàn)在座艙顯示控制系統(tǒng)軟件開發(fā)往往要求能夠?qū)崟r(shí)動(dòng)態(tài)地修改變動(dòng)需求,安全性要求也越來(lái)越高。傳統(tǒng)的座艙顯示控制系統(tǒng)軟件開發(fā)過(guò)程的最大特征是以源程序?yàn)殚_發(fā)中心,這種開發(fā)方式成本高、效率低、開發(fā)周期長(zhǎng)、可靠性低,已經(jīng)不能滿足研發(fā)的要求。模型驅(qū)動(dòng)架構(gòu)提供了應(yīng)對(duì)業(yè)務(wù)和技術(shù)不斷變化的開發(fā)的解決方案。模型驅(qū)動(dòng)架構(gòu)將業(yè)務(wù)和應(yīng)用邏輯與底層平臺(tái)相關(guān)技術(shù)分離開來(lái)。
為了在基于模型驅(qū)動(dòng)的座艙顯示系統(tǒng)應(yīng)用軟件開發(fā)過(guò)程中更有效地應(yīng)用和管理軟件框架,需要開發(fā)實(shí)現(xiàn)一個(gè)可有效支持應(yīng)用軟件開發(fā)的軟件框架管理環(huán)境。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的發(fā)明目的在于提供一種座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái),為現(xiàn)代大中型民用飛機(jī)座艙顯示系統(tǒng)軟件架構(gòu)的開發(fā)提供一個(gè)人機(jī)接口友好、可以方便的進(jìn)行軟件框架的建立和維護(hù)的軟件架構(gòu)管理平臺(tái)。
本發(fā)明的發(fā)明目的通過(guò)以下技術(shù)方案實(shí)現(xiàn):
一種座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái),包含建模工具集,所述建模工具集包含應(yīng)用實(shí)例架構(gòu)定義工具、AADL/MARTE/SYSML模型轉(zhuǎn)換工具、非功能性需求分析工具、顯控設(shè)計(jì)模式定制工具、代碼集成工具;
在軟件需求階段:
所述應(yīng)用實(shí)例架構(gòu)定義工具用于從架構(gòu)模板庫(kù)和領(lǐng)域?qū)嶓w庫(kù)中提取有關(guān)數(shù)據(jù)產(chǎn)生圖形化界面,供用戶設(shè)計(jì)系統(tǒng)外部交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖,并將系統(tǒng)外部交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖作為第一AADL模型文檔進(jìn)行導(dǎo)出;
所述AADL/MARTE/SYSMAL模型轉(zhuǎn)換工具用于將第一AADL模型文檔轉(zhuǎn)換為第一SysML模型,并將第一SysML模型到入到Rhapsody工具中,由Rhapsody工具建立系統(tǒng)關(guān)鍵用例模型,明確系統(tǒng)關(guān)鍵用例;
在軟件設(shè)計(jì)階段;
所述AADL/MARTE/SYSMAL模型轉(zhuǎn)換工具用于將Rhapsody工具導(dǎo)出的第二SysML模型轉(zhuǎn)換為座艙顯示系統(tǒng)軟件框架初始運(yùn)行時(shí)框架的模型;其中,所述第二SysML模型由Rhapsody工具建立,Rhapsody工具根據(jù)各個(gè)系統(tǒng)關(guān)鍵建立黑盒系統(tǒng)功能模型、白盒系統(tǒng)功能模型和主控子系統(tǒng)功能模型,并導(dǎo)出第二SysML模型
顯控設(shè)計(jì)模型定制工具用于以座艙顯示系統(tǒng)軟件框架初始運(yùn)行時(shí)框架為基礎(chǔ),通過(guò)提供用戶界面使用戶對(duì)每一個(gè)顯控設(shè)計(jì)模式代理進(jìn)行詳細(xì)定制;
所述應(yīng)用實(shí)例架構(gòu)定義工具用于在系統(tǒng)邏輯結(jié)構(gòu)視圖基礎(chǔ)上創(chuàng)建多個(gè)執(zhí)行線程,并將顯控設(shè)計(jì)模式代理綁定到執(zhí)行線程上,建立系統(tǒng)進(jìn)程視圖;
所述AADL/MARTE/SYSMAL模型轉(zhuǎn)換工具還用于將Rhapsody工具導(dǎo)出的第三SysML模型文檔轉(zhuǎn)換為第二AADL模型文檔并導(dǎo)出;所述第三SysML模型反映了對(duì)系統(tǒng)的時(shí)間屬性的標(biāo)注;
所述非功能性需求分析工具用于在系統(tǒng)進(jìn)程視圖和第二AADL模型文檔的基礎(chǔ)上,對(duì)各執(zhí)行線程進(jìn)行延時(shí)分析,完成系統(tǒng)非關(guān)鍵用例的驗(yàn)證分析;再由Rhapsody工具根據(jù)對(duì)系統(tǒng)非關(guān)鍵用例的驗(yàn)證分析在第二SysML模型的基礎(chǔ)上建立系統(tǒng)功能模型,生成座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架;
軟件編碼階段:
所述代碼生成工具用于對(duì)座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架生成目標(biāo)代碼。
依據(jù)上述特征,所述應(yīng)用實(shí)例架構(gòu)定義工具包含用戶接口模塊、AADL組件庫(kù)模塊和AADL文檔生成模塊;
所述用戶接口模塊用于向用戶提供圖形化界面,使用戶通過(guò)對(duì)圖形化界面的操作實(shí)現(xiàn)檢索架構(gòu)模板庫(kù)是否有可以復(fù)用的架構(gòu)模板,以及檢索領(lǐng)域?qū)嶓w庫(kù)中的領(lǐng)域?qū)嶓w,還支持用戶訪問(wèn)AADL組件庫(kù)模塊以實(shí)現(xiàn)通過(guò)拖拽、連線AADL組件的方式建立新的系統(tǒng)交聯(lián)關(guān)系視圖、系統(tǒng)邏輯結(jié)構(gòu)視圖或系統(tǒng)進(jìn)程視圖,并將新的系統(tǒng)交聯(lián)關(guān)系視圖、系統(tǒng)邏輯結(jié)構(gòu)視圖或系統(tǒng)進(jìn)程視圖存入架構(gòu)模板庫(kù)或領(lǐng)域?qū)嶓w庫(kù);
所述AADL文檔生成模塊用于解析用戶定義的系統(tǒng)交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖,并將系統(tǒng)交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖轉(zhuǎn)換為第一AADL模型文檔;AADL文檔生成模塊還用于解析系統(tǒng)進(jìn)程視圖,并將系統(tǒng)進(jìn)程視圖轉(zhuǎn)換為第二AADL模型文檔;
所述AADL組件庫(kù)包括AADL標(biāo)準(zhǔn)組件以及用戶開發(fā)擴(kuò)展的組件,通過(guò)用戶接口模塊實(shí)現(xiàn)對(duì)AADL組件庫(kù)的檢索和使用。
依據(jù)上述特征,所述AADL/MARTE/SYSML模型轉(zhuǎn)換工具包含模型轉(zhuǎn)換接口模塊、模型轉(zhuǎn)換執(zhí)行引擎模塊、模型導(dǎo)入模塊、元模型庫(kù)模塊、模型映射規(guī)則庫(kù)模塊;
所述模型轉(zhuǎn)換接口模塊用于提供一個(gè)統(tǒng)一的模型轉(zhuǎn)換服務(wù)接口,接收需要進(jìn)行轉(zhuǎn)換的源模型文件,并通知模型轉(zhuǎn)換執(zhí)行引擎模塊需要執(zhí)行哪種源模型文件與目標(biāo)模型文件的轉(zhuǎn)換;
所述模型轉(zhuǎn)換執(zhí)行引擎模塊首先檢查當(dāng)前的源模型文件及目標(biāo)模型文件的轉(zhuǎn)換是否支持,若支持則1)通過(guò)模型導(dǎo)入模塊模型將源模型文件拷貝到執(zhí)行引擎本地路徑,2)從元模型庫(kù)模塊中收集源模型及目標(biāo)模型的元模型信息,3)從模型映射規(guī)則庫(kù)中獲取模型轉(zhuǎn)換映射規(guī)則文件,并復(fù)制一份在執(zhí)行引擎本地路徑;接著將源模型文件、源模型及目標(biāo)模型的元模型信息及模型轉(zhuǎn)換映射規(guī)則文件適配后進(jìn)行模型轉(zhuǎn)換,并執(zhí)行獲得目標(biāo)模型;在模型轉(zhuǎn)換完成后,刪除本地的副本文件。
依據(jù)上述特征,所述顯控設(shè)計(jì)模式定制工具包括第二用戶接口模塊、顯控設(shè)計(jì)模式定制模塊、顯控設(shè)計(jì)模式解析模塊和顯控設(shè)計(jì)模式模板庫(kù)。
所述第二用戶接口模塊用于向用戶提供用戶界面,供用戶選擇顯控設(shè)計(jì)模式,并將用戶選擇的顯控設(shè)計(jì)模式傳送給顯控設(shè)計(jì)模式定制模塊。
顯控設(shè)計(jì)模式定制模塊用于根據(jù)用戶選擇的顯控設(shè)計(jì)模式進(jìn)行定制,定義顯控設(shè)計(jì)模式組件的名稱、描述信息和類別,并對(duì)選擇的顯控設(shè)計(jì)模式的屬性進(jìn)行配置,顯控設(shè)計(jì)模式定制模塊將定制好的顯控設(shè)計(jì)模式組件傳送給顯控設(shè)計(jì)模式解析模塊。
顯控設(shè)計(jì)模式解析模塊:從顯控設(shè)計(jì)模式模版庫(kù)中獲取顯控設(shè)計(jì)模式的元模型,以及從復(fù)用組件庫(kù)中選擇合適的數(shù)據(jù)處理功能函數(shù)組件對(duì)顯控設(shè)計(jì)模式組件進(jìn)行解析和編碼,并將編碼后的模型文件存入顯控設(shè)計(jì)模式模板庫(kù);
顯控設(shè)計(jì)模式模版庫(kù):存儲(chǔ)顯控設(shè)計(jì)模式的元模型定義。
依據(jù)上述特征,所述代碼生成工具包含代碼生成服務(wù)接口模塊、代碼生成器模塊、模型導(dǎo)入模塊、模型解析模塊、代碼模板庫(kù)模塊和打包器模塊;
所述代碼生成服務(wù)接口模塊用于設(shè)定項(xiàng)目的統(tǒng)一標(biāo)識(shí),設(shè)定需要生成的項(xiàng)目,設(shè)定目標(biāo)代碼生成并打包后需要放置的文件夾路徑,并給代碼生成器模塊發(fā)送代碼生成調(diào)用命令。
所述代碼生成器模塊在接收到代碼生成服務(wù)調(diào)用命令后,通過(guò)模型導(dǎo)入模塊獲取該項(xiàng)目的顯控設(shè)計(jì)模式定制內(nèi)容。
模型解析模塊解析導(dǎo)入的顯控設(shè)計(jì)模式定制內(nèi)容,抽取其中領(lǐng)域?qū)嶓w及復(fù)用組件的信息,根據(jù)定制的平臺(tái)相關(guān)信息,從代碼模板庫(kù)模塊獲取相應(yīng)的代碼模板,根據(jù)解析結(jié)果生成代碼;
所述打包器模塊用于合并生成的代碼、領(lǐng)域?qū)嶓w及復(fù)用組件的代碼,以項(xiàng)目統(tǒng)一資源標(biāo)識(shí)符加時(shí)間戳的方式命名,將代碼包保存在預(yù)設(shè)的文件夾下。
依據(jù)上述特征,所述一種座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)還包含管理環(huán)境工具集,所述管理環(huán)境工具集包含架構(gòu)模板管理工具、顯示設(shè)計(jì)模式管理工具、復(fù)用組件管理工具、領(lǐng)域?qū)嶓w管理工具
所述架構(gòu)模板管理工具用于對(duì)架構(gòu)模板庫(kù)的架構(gòu)模板進(jìn)行管理;
所述顯示設(shè)計(jì)模式管理工具用于對(duì)顯示設(shè)計(jì)模式庫(kù)中的顯示設(shè)計(jì)模式進(jìn)行管理;
所述復(fù)用組件管理工具用于對(duì)復(fù)用組件庫(kù)中的復(fù)用組件進(jìn)行管理;
所述領(lǐng)域?qū)嶓w管理工具用于對(duì)領(lǐng)域?qū)嶓w庫(kù)中的領(lǐng)域?qū)嶓w進(jìn)行管理。
本發(fā)明為座艙顯示控制系統(tǒng)軟件架構(gòu)的開發(fā)、管理、維護(hù)提供了一系列的工具集,支持從任務(wù)合成、信息融合和結(jié)構(gòu)化綜合三個(gè)目標(biāo)層次的座艙顯示系統(tǒng)應(yīng)用軟件的敏捷開發(fā)。該平臺(tái)的使用提高了軟件開發(fā)效率以及代碼復(fù)用性,減少了開發(fā)人員成本,提高了軟件開發(fā)聯(lián)調(diào)的效率,節(jié)省了設(shè)備成本。
附圖說(shuō)明
圖1為本發(fā)明一種座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明一種座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)的流程示意圖;
圖3為本發(fā)明中應(yīng)用實(shí)例架構(gòu)定義工具的結(jié)構(gòu)示意圖;
圖4為本發(fā)明中AADL/MARTE/SYSML模型轉(zhuǎn)換工具的結(jié)構(gòu)示意圖;
圖5為本發(fā)明中顯控設(shè)計(jì)模式定制工具的結(jié)構(gòu)示意圖;
圖6為本發(fā)明中代碼生成工具的結(jié)構(gòu)示意圖;
具體實(shí)施方式
為了更好地理解本發(fā)明,下面通過(guò)附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
座艙顯示控制系統(tǒng)軟件的開發(fā)使用IBM公司的商用建模軟件Rhapsody及開源的建模軟件OSATE分別對(duì)系統(tǒng)功能模型及非功能模型進(jìn)行設(shè)計(jì)時(shí)的驗(yàn)證。
●Rhapsody可以執(zhí)行順序圖及狀態(tài)機(jī)圖,使用事件生成器創(chuàng)建用戶事件,并查看模型的狀態(tài)的變化以及模型間通信的情況是否與系統(tǒng)功能設(shè)計(jì)相吻合。
●OSATE是開源的AADL建模及分析軟件,可以對(duì)AADL中非功能屬性進(jìn)行分析,包括時(shí)間延時(shí)分析、可調(diào)度分析以及安全性分析等。座艙顯示控制系統(tǒng)軟件的開發(fā)使用OSATE對(duì)系統(tǒng)非功能需求進(jìn)行驗(yàn)證。
座艙顯示控制系統(tǒng)軟件的開發(fā)除了使用商用建模軟件Rhapsody之外,還使用座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái),如圖1所示,座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)包含兩組工具集,分別是建模工具集和管理環(huán)境工具集,建模工具集是面向顯控應(yīng)用開發(fā)的,包括應(yīng)用實(shí)例架構(gòu)定義工具、AADL/MARTE/SYSML模型轉(zhuǎn)換工具、非功能性需求分析工具、顯控設(shè)計(jì)模式定制工具以及代碼生成工具等,支持從任務(wù)合成、信息融合和結(jié)構(gòu)化綜合3個(gè)目標(biāo)層次的座艙顯示控制系統(tǒng)軟件的敏捷開發(fā);管理環(huán)境工具集是面向座艙顯示控制系統(tǒng)軟件框架建立及維護(hù)的,包括架構(gòu)模板管理工具、設(shè)計(jì)模式管理工具、復(fù)用組件管理工具及領(lǐng)域?qū)嶓w管理工具。通過(guò)這二組工具集生成座艙顯示控制系統(tǒng)軟件框架運(yùn)行時(shí)框架。
座艙顯示控制系統(tǒng)軟件框架運(yùn)行時(shí)框架是一套可編譯并在目標(biāo)機(jī)上可運(yùn)行的代碼框架,分為座艙顯示控制系統(tǒng)軟件框架初始運(yùn)行時(shí)框架和座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架。
●座艙顯示控制系統(tǒng)軟件框架初始運(yùn)行時(shí)框架
座艙顯示控制系統(tǒng)軟件框架初始運(yùn)行時(shí)框架是不包括顯控業(yè)務(wù)功能,提供應(yīng)用初始化、顯控設(shè)計(jì)模式組件容器、時(shí)鐘機(jī)制實(shí)現(xiàn)、依賴注入機(jī)制實(shí)現(xiàn)、面向?qū)ο髾C(jī)制實(shí)現(xiàn)等功能的可編譯可運(yùn)行代碼框架。
●座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架
座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架是在座艙顯示控制系統(tǒng)軟件框架初始運(yùn)行時(shí)框架基礎(chǔ)上,通過(guò)對(duì)架構(gòu)模版、設(shè)計(jì)模式、復(fù)用組件的定制,增加了顯控業(yè)務(wù)功能的可編譯可運(yùn)行代碼框架。
座艙顯示控制軟件開發(fā)分為軟件需求階段、軟件設(shè)計(jì)階段以及軟件編碼階段。座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)在顯示控制軟件開發(fā)的各個(gè)階段對(duì)工具的使用流程如圖2所示。
1.1軟件需求階段
(1)使用Rhapsody工具通過(guò)Gateway將操作手冊(cè)、接口規(guī)范文檔、系統(tǒng)規(guī)格說(shuō)明書三個(gè)頂層需求文檔導(dǎo)入到Rhapsody工具中,建立系統(tǒng)需求模型,包含建立與頂層需求文檔對(duì)應(yīng)的低層需求,以及建立頂層需求與低層需求之間的追溯關(guān)系。
(2)根據(jù)需求模型,使用應(yīng)用實(shí)例架構(gòu)定義工具,通過(guò)應(yīng)用實(shí)例架構(gòu)定義工具從架構(gòu)模板庫(kù)和領(lǐng)域?qū)嶓w庫(kù)中提取有關(guān)數(shù)據(jù)產(chǎn)生圖形化界面,供用戶設(shè)計(jì)系統(tǒng)外部交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖,并將系統(tǒng)外部交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖作為第一AADL模型文檔進(jìn)行導(dǎo)出。
(3)使用AADL/MARTE/SYSMAL模型轉(zhuǎn)換工具,將第一AADL模型文檔轉(zhuǎn)換為第一SysML模型,第一SysML模型中包含系統(tǒng)參與者及系統(tǒng)子系統(tǒng)。再由Rhapsody工具根據(jù)第一SysML模型建立系統(tǒng)用例模型,明確系統(tǒng)關(guān)鍵用例
1.2軟件設(shè)計(jì)階段(針對(duì)關(guān)鍵用例架構(gòu)設(shè)計(jì)及驗(yàn)證子階段)
(1)使用Rhapsody工具,針對(duì)各個(gè)系統(tǒng)關(guān)鍵用例建立并驗(yàn)證黑盒系統(tǒng)功能模型;建立并驗(yàn)證白盒系統(tǒng)功能模型;建立主控子系統(tǒng)功能模型,產(chǎn)生第二SysML模型并導(dǎo)出。
建立并驗(yàn)證黑盒系統(tǒng)功能模型包含建立黑盒系統(tǒng)活動(dòng)圖,建立黑盒系統(tǒng)塊中的操作及屬性,細(xì)化黑盒順序圖,建立黑盒內(nèi)部塊圖,并定義狀態(tài)機(jī)圖,最終通過(guò)順序圖及狀態(tài)機(jī)圖的模型執(zhí)行驗(yàn)證系統(tǒng)功能模型。最終將各個(gè)系統(tǒng)關(guān)鍵用例的建模合并。
建立并驗(yàn)證白盒系統(tǒng)功能模型包含針對(duì)已經(jīng)合并了各個(gè)系統(tǒng)關(guān)鍵用例的系統(tǒng)白盒模型,建立塊定義圖(內(nèi)部組成),在原有黑盒系統(tǒng)活動(dòng)圖基礎(chǔ)上建立帶泳道的白盒活動(dòng)圖以及白盒順序圖,定義白盒內(nèi)部塊圖(內(nèi)部子系統(tǒng)交互),并對(duì)各個(gè)子系統(tǒng)建立狀態(tài)機(jī)圖,最終通過(guò)模型執(zhí)行對(duì)白盒系統(tǒng)功能模型進(jìn)行驗(yàn)證。
建立主控子系統(tǒng)功能模型包含將主控子系統(tǒng)劃分為總線通信、IO通信、信息顯示及控制響應(yīng)四種分析類,并將其包含的操作及屬性根據(jù)不同的功能劃分到相應(yīng)的分析類中,并對(duì)它們進(jìn)行CDS框架構(gòu)造型標(biāo)注,最終將第二SysML模型導(dǎo)出。
(2)使用AADL/MARTE/SYSMAL模型轉(zhuǎn)換工具,將第二SysML模型轉(zhuǎn)換為座艙顯示系統(tǒng)軟件框架初始運(yùn)行時(shí)框架的模型。
(3)使用顯控設(shè)計(jì)模型定制工具,以座艙顯示系統(tǒng)軟件框架初始運(yùn)行時(shí)框架為基礎(chǔ),通過(guò)提供用戶界面使用戶對(duì)每一個(gè)顯控設(shè)計(jì)模式代理進(jìn)行詳細(xì)定制;
(4)使用應(yīng)用實(shí)例架構(gòu)定義工具,在系統(tǒng)邏輯結(jié)構(gòu)視圖基礎(chǔ)上創(chuàng)建多個(gè)執(zhí)行線程,并將顯控設(shè)計(jì)模式代理綁定到執(zhí)行線程上,建立系統(tǒng)進(jìn)程視圖。
(5)在Rhapsody工具上使用MARTE的構(gòu)造型對(duì)系統(tǒng)的時(shí)間屬性進(jìn)行標(biāo)注,導(dǎo)出第三SysML模型文檔;
(6)使用AADL/MARTE/SYSMAL模型轉(zhuǎn)換工具將第三SysML模型文檔轉(zhuǎn)換為第二AADL模型文檔(.aaxl)并導(dǎo)出。并將第二AADL模型文檔導(dǎo)入到非功能性需求分析工具中,非功能性需求分析工具根據(jù)系統(tǒng)進(jìn)程視圖和第二AADL模型文檔為各執(zhí)行線程進(jìn)行延時(shí)分析,完成系統(tǒng)非功能需求驗(yàn)證分析。
1.3軟件設(shè)計(jì)階段(針對(duì)非關(guān)鍵用例架構(gòu)設(shè)計(jì)及驗(yàn)證子階段)
由Rhapsody工具根據(jù)對(duì)系統(tǒng)非關(guān)鍵用例的驗(yàn)證分析在第二SysML模型的基礎(chǔ)上建立系統(tǒng)功能模型,生成座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架
1.4軟件編碼階段
代碼生成工具用于根據(jù)座艙顯示控制系統(tǒng)軟件框架已定制運(yùn)行時(shí)框架生成目標(biāo)代碼。
下面對(duì)座艙顯示控制系統(tǒng)軟件架構(gòu)管理平臺(tái)中的各個(gè)工具做詳細(xì)說(shuō)明。
(一)應(yīng)用實(shí)例架構(gòu)定義工具
應(yīng)用實(shí)例架構(gòu)定義工具是一種支持AADL的可視化架構(gòu)定義工具,如圖3所示,由用戶接口模塊、AADL組件庫(kù)模塊和AADL文檔生成模塊組成。
a)用戶接口模塊:基于開源框架JointJS,用戶接口模塊通過(guò)向用戶提供圖形化界面,使用戶可以通過(guò)對(duì)圖形化界面的操作實(shí)現(xiàn)檢索架構(gòu)模板庫(kù)是否有可以復(fù)用的架構(gòu)模板,以及檢索領(lǐng)域?qū)嶓w庫(kù)中的領(lǐng)域?qū)嶓w實(shí)現(xiàn)建模功能。用戶接口模塊支持用戶訪問(wèn)AADL組件庫(kù)模塊以實(shí)現(xiàn)通過(guò)拖拽、連線AADL組件的方式建立新的系統(tǒng)交聯(lián)關(guān)系視圖、系統(tǒng)邏輯結(jié)構(gòu)視圖和系統(tǒng)進(jìn)程視圖,并將新的系統(tǒng)交聯(lián)關(guān)系視圖、系統(tǒng)邏輯結(jié)構(gòu)視圖和系統(tǒng)進(jìn)程視圖存入架構(gòu)模板庫(kù)或領(lǐng)域?qū)嶓w庫(kù)。
b)AADL文檔生成模塊:實(shí)現(xiàn)了解析用戶定義的系統(tǒng)交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖,并將系統(tǒng)交聯(lián)關(guān)系視圖和系統(tǒng)邏輯結(jié)構(gòu)視圖轉(zhuǎn)換為第一AADL模型文檔;AADL文檔生成模塊還實(shí)現(xiàn)了解析系統(tǒng)進(jìn)程視圖,并將系統(tǒng)進(jìn)程視圖轉(zhuǎn)換為第二AADL模型文檔。
c)AADL組件庫(kù):包括AADL標(biāo)準(zhǔn)組件以及用戶開發(fā)擴(kuò)展的組件,通過(guò)用戶接口模塊實(shí)現(xiàn)對(duì)AADL組件庫(kù)的檢索和使用。
AADL標(biāo)準(zhǔn)組件可分為硬件組件(設(shè)備、內(nèi)存、總線等)、軟件組件(系統(tǒng)、進(jìn)程、線程、子程序等)。
用戶開發(fā)擴(kuò)展的組件與管理環(huán)境維護(hù)的領(lǐng)域?qū)嶓w相關(guān)聯(lián),可以在頁(yè)面中對(duì)航電設(shè)備等內(nèi)容進(jìn)行檢索,并填充與座艙顯示系統(tǒng)軟件框架相關(guān)的AADL組件
應(yīng)用實(shí)例架構(gòu)定義工具分別在座艙顯示控制軟件開發(fā)的軟件需求階段和軟件設(shè)計(jì)階段使用。
在軟件需求階段:用戶接口模塊根據(jù)需求模型,檢索架構(gòu)模板庫(kù),如果有可復(fù)用的架構(gòu)模板,則復(fù)用該架構(gòu)模板作為新項(xiàng)目的系統(tǒng)交聯(lián)關(guān)系視圖及系統(tǒng)邏輯結(jié)構(gòu)視圖,如果沒(méi)有可復(fù)用的架構(gòu)模板,則先根據(jù)系統(tǒng)規(guī)格說(shuō)明中的描述,用戶通過(guò)用戶接口模塊拖拽、鏈接AADL組件庫(kù)中的AADL組件,包括AADL組件的類型、名稱、端口等屬性信息,再檢索領(lǐng)域?qū)嶓w庫(kù)中相應(yīng)領(lǐng)域?qū)嶓w,建立AADL組件與領(lǐng)域?qū)嶓w的依賴關(guān)系,建立系統(tǒng)交聯(lián)關(guān)系視圖與系統(tǒng)邏輯結(jié)構(gòu)視圖。AADL文檔生成模塊根據(jù)用戶選擇的AADL組件讀取AADL組件庫(kù)中已選擇的相應(yīng)的AADL組件的屬性信息和用戶接口模塊提供的各個(gè)AADL組件的鏈接信息,接著解析這些屬性信息和鏈接信息并轉(zhuǎn)換成第一AADL模型文檔,然后把轉(zhuǎn)換完的第一AADL模型文檔上報(bào)給用戶接口模塊。
在軟件設(shè)計(jì)階段,用戶可在系統(tǒng)邏輯結(jié)構(gòu)視圖基礎(chǔ)上,通過(guò)用戶接口模塊拖拽、鏈接AADL組件庫(kù)中的AADL組件,其中包括AADL組件的類型、名稱、端口等屬性信息創(chuàng)建系統(tǒng)部署視圖,在系統(tǒng)部署視圖的基礎(chǔ)上建立系統(tǒng)進(jìn)程視圖。AADL文檔生成模塊根據(jù)用戶在建立系統(tǒng)進(jìn)程視圖時(shí)選擇的AADL組件讀取AADL組件庫(kù)中已選擇的相應(yīng)的AADL組件的屬性信息和用戶接口模塊提供的各個(gè)AADL組件的鏈接信息,接著解析這些屬性信息和鏈接信息并轉(zhuǎn)換成第二AADL模型文檔,然后把轉(zhuǎn)換完的第二AADL模型文檔上報(bào)給用戶接口模塊。
其中:系統(tǒng)交聯(lián)關(guān)系視圖:描述系統(tǒng)與所有外部系統(tǒng)之間的交聯(lián)關(guān)系。
系統(tǒng)邏輯結(jié)構(gòu)視圖:描述系統(tǒng)由哪些子系統(tǒng)(例如MCM、IOP等〉組成以及它們之間的邏輯關(guān)系。
系統(tǒng)部署視圖:在系統(tǒng)邏輯結(jié)構(gòu)視圖的基礎(chǔ)上定義系統(tǒng)架構(gòu)中外部系統(tǒng)、外部總線、子系統(tǒng)及內(nèi)部總線的平臺(tái)相關(guān)屬性,所述平臺(tái)相關(guān)屬性包括操作系統(tǒng)、總線型號(hào)、協(xié)議等。
系統(tǒng)進(jìn)程視圖:在系統(tǒng)部署視圖的基礎(chǔ)上創(chuàng)建子系統(tǒng)的各個(gè)執(zhí)行線程,并將顯控設(shè)計(jì)模式代理綁定到執(zhí)行線程上。
(二)AADL/MARTE/SYSML模型轉(zhuǎn)換工具
AADL/MARTE/SYSML模型轉(zhuǎn)換工具的結(jié)構(gòu)圖如圖4所示,由模型轉(zhuǎn)換接口模塊、模型轉(zhuǎn)換執(zhí)行引擎模塊、模型導(dǎo)入模塊、元模型庫(kù)模塊、模型映射規(guī)則庫(kù)模塊組成。
所述模型轉(zhuǎn)換接口模塊用于提供一個(gè)統(tǒng)一的模型轉(zhuǎn)換服務(wù)接口,接收需要進(jìn)行轉(zhuǎn)換的源模型文件,并通知模型轉(zhuǎn)換執(zhí)行引擎模塊需要執(zhí)行哪種源模型文件與目標(biāo)模型文件的轉(zhuǎn)換;
所述模型轉(zhuǎn)換執(zhí)行引擎模塊首先檢查當(dāng)前的源模型文件及目標(biāo)模型文件的轉(zhuǎn)換是否支持,若支持則1)通過(guò)模型導(dǎo)入模塊模型將源模型文件拷貝到執(zhí)行引擎本地路徑,2)從元模型庫(kù)模塊中收集源模型及目標(biāo)模型的元模型信息,3)從模型映射規(guī)則庫(kù)中獲取模型轉(zhuǎn)換映射規(guī)則文件,并同樣復(fù)制一份在執(zhí)行引擎本地路徑;接著將源模型文件、源模型及目標(biāo)模型的元模型信息及模型轉(zhuǎn)換映射規(guī)則文件適配后進(jìn)行模型轉(zhuǎn)換,并執(zhí)行獲得目標(biāo)模型;在模型轉(zhuǎn)換完成后,刪除本地的副本文件。
其中,元模型庫(kù)模塊從復(fù)用組件庫(kù)及架構(gòu)模版庫(kù)中獲取源模型及目標(biāo)模型的元模型信息。
AADL/MARTE/SYSML模型轉(zhuǎn)換工具應(yīng)用于座艙顯示控制軟件開發(fā)的不同階段。
a)在軟件需求階段建立完系統(tǒng)交聯(lián)關(guān)系視圖及系統(tǒng)邏輯結(jié)構(gòu)視圖后,使用AADL/MARTE/SYSML模型轉(zhuǎn)換工具完成從第一AADL模型文檔(系統(tǒng)交聯(lián)關(guān)系視圖及系統(tǒng)邏輯結(jié)構(gòu)視圖)到第一SysML模型文檔(系統(tǒng)參與者及系統(tǒng)子系統(tǒng))的模型轉(zhuǎn)換功能。模型轉(zhuǎn)換接口模塊提供一個(gè)統(tǒng)一的模型轉(zhuǎn)換服務(wù)接口,接收需要進(jìn)行轉(zhuǎn)換的第一AADL模型文檔。模型轉(zhuǎn)換執(zhí)行引擎模塊首先檢查當(dāng)前第一AADL模型文檔到第一SysML模型文檔轉(zhuǎn)換是否支持;接著使用模型導(dǎo)入模塊將第一AADL模型文檔拷貝到執(zhí)行引擎本地路徑,并從元模型庫(kù)模塊收集第一AADL模型文檔到第一SysML模型文檔的元模型文件;然后從模型映射規(guī)則庫(kù)中獲取模型轉(zhuǎn)換映射規(guī)則文件(從第一AADL模型文檔到第二SysML模型文檔轉(zhuǎn)換映射規(guī)則),并同樣復(fù)制一份在執(zhí)行引擎本地路徑;接著運(yùn)行模型執(zhí)行腳本,將第一AADL模型文檔、第一AADL模型文檔到第一SysML模型文檔的元模型文件、第一AADL模型文檔到第二SysML模型文檔轉(zhuǎn)換映射規(guī)則適配后進(jìn)行模型轉(zhuǎn)換,并執(zhí)行獲得第二SysML模型文檔;在模型轉(zhuǎn)換完成后,刪除本地的副本文件。
b)在軟件設(shè)計(jì)階段在建立并驗(yàn)證完黑盒系統(tǒng)功能模型、白盒系統(tǒng)功能模型和主控子系統(tǒng)模型后使用AADL/MARTE/SYSML模型轉(zhuǎn)換工具完成從第二SysML模型文檔(標(biāo)注了座艙顯示系統(tǒng)軟件框架擴(kuò)展構(gòu)造型的系統(tǒng)功能模型)到座艙顯示系統(tǒng)軟件框架運(yùn)行時(shí)框架的模型轉(zhuǎn)換功能。由模型轉(zhuǎn)換接口模塊接收需要進(jìn)行轉(zhuǎn)換的第二SysML模型文檔。模型轉(zhuǎn)換執(zhí)行引擎模塊首先檢查當(dāng)前的從第二SysML模型文檔到座艙顯示系統(tǒng)軟件框架運(yùn)行時(shí)框架的模型轉(zhuǎn)換是否支持;接著使用模型導(dǎo)入模塊將第二SysML模型文檔拷貝到執(zhí)行引擎本地路徑,并從元模型庫(kù)模塊收集第二SysML模型文檔與座艙顯示系統(tǒng)軟件框架運(yùn)行時(shí)框架的元模型信息;然后從模型映射規(guī)則庫(kù)中獲取模型轉(zhuǎn)換映射規(guī)則文件(從第二SysML模型到座艙顯示系統(tǒng)軟件框架運(yùn)行時(shí)框架轉(zhuǎn)換映射規(guī)則),并同樣復(fù)制一份在執(zhí)行引擎本地路徑;接著運(yùn)行模型執(zhí)行腳本,將第二SysML模型文件、第二SysML模型文檔與座艙顯示系統(tǒng)軟件框架運(yùn)行時(shí)框架的元模型信息、第二SysML模型到座艙顯示系統(tǒng)軟件框架運(yùn)行時(shí)框架轉(zhuǎn)換映射規(guī)則適配后進(jìn)行模型轉(zhuǎn)換,并執(zhí)行獲得目標(biāo)模型;在模型轉(zhuǎn)換完成后,刪除本地的副本文件。
c)在軟件設(shè)計(jì)階段建立完進(jìn)程視圖后使用AADL/MARTE/SYSML模型轉(zhuǎn)換工具實(shí)現(xiàn)從第三SysML模型文檔(標(biāo)注了MARTE非功能屬性的系統(tǒng)功能模型)到第二AADL模型文檔的模型轉(zhuǎn)換。由模型轉(zhuǎn)換接口模塊接收需要進(jìn)行轉(zhuǎn)換的第三SysML模型文檔。模型轉(zhuǎn)換執(zhí)行引擎模塊首先檢查當(dāng)前從第三SysML模型文檔(標(biāo)注了MARTE非功能屬性的系統(tǒng)功能模型)到第二AADL模型文檔的模型轉(zhuǎn)換是否支持;接著使用模型導(dǎo)入模塊將第三SysML模型文檔拷貝到執(zhí)行引擎本地路徑,并從元模型庫(kù)模塊收集第三SysML模型文檔與第二AADL模型文檔的元模型信息;然后從模型映射規(guī)則庫(kù)中獲取模型轉(zhuǎn)換映射規(guī)則文件(從第三SysML模型文檔到第二AADL模型文檔轉(zhuǎn)換映射規(guī)則),并同樣復(fù)制一份在執(zhí)行引擎本地路徑;接著運(yùn)行模型執(zhí)行腳本,將第三SysML模型文檔、第三SysML模型文檔與第二AADL模型文檔的元模型信息、第三SysML模型文檔到第二AADL模型文檔轉(zhuǎn)換映射規(guī)則適配后進(jìn)行模型轉(zhuǎn)換,并執(zhí)行獲得目標(biāo)模型;在模型轉(zhuǎn)換完成后,刪除本地的副本文件。
(三)非功能性需求分析工具
非功能性需求分析工具,通過(guò)集成建模軟件Osate實(shí)現(xiàn)非功能性需求分析。它可針對(duì)AADL模型進(jìn)行可調(diào)度性分析、時(shí)間延時(shí)分析等。
參考圖1,該非功能性需求分析工具在軟件設(shè)計(jì)階段使用,在使用該非功能性需求分析工具之前先在Rhapsody工具上使用MARTE的構(gòu)造型對(duì)系統(tǒng)的時(shí)間屬性進(jìn)行標(biāo)注,產(chǎn)生第三SysML模型文檔,再通過(guò)AADL/MARTE/SYSML模型轉(zhuǎn)換工具將第三SysML模型文檔轉(zhuǎn)換為同樣標(biāo)記了時(shí)間屬性的AADL模型。然后將AADL模型導(dǎo)入非功能性需求工具并進(jìn)行可調(diào)度性及時(shí)間延時(shí)分析。
(四)顯控設(shè)計(jì)模式定制工具
顯控設(shè)計(jì)模式定制工具的架構(gòu)圖如圖5所示,包括第二用戶接口模塊、顯控設(shè)計(jì)模式定制模塊、顯控設(shè)計(jì)模式解析模塊和顯控設(shè)計(jì)模式模板庫(kù)組成。顯控設(shè)計(jì)模型定制工具提供用戶界面對(duì)座艙顯示系統(tǒng)軟件框架中的顯控設(shè)計(jì)模式代理進(jìn)行定制,包括總線通信設(shè)計(jì)模式、控制響應(yīng)設(shè)計(jì)模式、信息顯示設(shè)計(jì)模式及輸入輸出設(shè)計(jì)模式四種。用戶可以在軟件設(shè)計(jì)階段使用該工具對(duì)這四種顯控設(shè)計(jì)模式進(jìn)行定制。
所述第二用戶接口模塊用于向用戶提供用戶界面,供用戶選擇顯控設(shè)計(jì)模式,并將用戶選擇的顯控設(shè)計(jì)模式傳送給顯控設(shè)計(jì)模式定制模塊。
顯控設(shè)計(jì)模式定制模塊用于根據(jù)用戶選擇的顯控設(shè)計(jì)模式進(jìn)行定制,可以定義顯控設(shè)計(jì)模式組件的名稱、描述信息和類別,并可以對(duì)選擇的顯控設(shè)計(jì)模式的屬性進(jìn)行配置。顯控設(shè)計(jì)模式定制模塊將定制好的顯控設(shè)計(jì)模式組件傳送給顯控設(shè)計(jì)模式解析模塊。
顯控設(shè)計(jì)模式解析模塊:從顯控設(shè)計(jì)模式模版庫(kù)中獲取顯控設(shè)計(jì)模式的元模型,以及從復(fù)用組件庫(kù)中選擇合適的數(shù)據(jù)處理功能函數(shù)組件對(duì)顯控設(shè)計(jì)模式組件進(jìn)行解析和編碼,并將編碼后的模型文件存入顯控設(shè)計(jì)模式模板庫(kù)。
顯控設(shè)計(jì)模式模版庫(kù):存儲(chǔ)顯控設(shè)計(jì)模式的元模型定義。可根據(jù)需求對(duì)顯控設(shè)計(jì)模式進(jìn)行追加定義,從而提供可擴(kuò)展性。
a)總線通信設(shè)計(jì)模式是對(duì)應(yīng)顯控應(yīng)用軟件開發(fā)的數(shù)據(jù)總線交互功能。用戶通過(guò)第二用戶接口模塊選擇定制總線通信設(shè)計(jì)模式,用戶接口模塊會(huì)把用戶選擇的顯控設(shè)計(jì)模式傳送給顯控設(shè)計(jì)模式定制模塊。顯控設(shè)計(jì)模式定制模塊對(duì)總線通信設(shè)計(jì)模式進(jìn)行定制,可以定義設(shè)計(jì)模式組件的名稱、描述信息和類別,并可以對(duì)總線通信設(shè)計(jì)模式的屬性進(jìn)行配置??偩€通信設(shè)計(jì)模式可以配置的屬性包括:外部設(shè)備(設(shè)備類型,總線類型);總線數(shù)據(jù)區(qū)(總線數(shù)據(jù)區(qū)名稱,映射實(shí)體數(shù)據(jù)區(qū));共享內(nèi)存區(qū)(外部設(shè)備號(hào));讀寫代理(總線讀數(shù)據(jù)處理函數(shù)及頻率,總線寫數(shù)據(jù)處理函數(shù)及頻率)。顯控設(shè)計(jì)模式定制模塊將定制好的顯控設(shè)計(jì)模式組件傳送給顯控設(shè)計(jì)模式解析模塊。顯控設(shè)計(jì)模式解析模塊對(duì)定制好的顯控設(shè)計(jì)模式組件進(jìn)行解析和編碼工作,并將編碼后的模型文件存入顯控設(shè)計(jì)模式模板庫(kù)。
b)控制響應(yīng)設(shè)計(jì)模式對(duì)應(yīng)顯控應(yīng)用軟件開發(fā)的控制響應(yīng)功能。用戶通過(guò)用戶接口模塊選擇定制控制響應(yīng)設(shè)計(jì)模式,用戶接口模塊會(huì)把用戶選擇的顯控設(shè)計(jì)模式傳送給顯控設(shè)計(jì)模式定制模塊。顯控設(shè)計(jì)模式定制模塊對(duì)控制響應(yīng)設(shè)計(jì)模式進(jìn)行定制,該模塊可以定義顯控設(shè)計(jì)模式組件的名稱、描述信息和類別,并可以對(duì)控制響應(yīng)設(shè)計(jì)模式的屬性進(jìn)行配置。控制響應(yīng)設(shè)計(jì)模式可以配置的屬性包括:控制響應(yīng)表(頁(yè)面,按鍵,控制響應(yīng)函數(shù));頁(yè)面跳轉(zhuǎn)(起始頁(yè)面,按鍵,跳轉(zhuǎn)頁(yè)面)。顯控設(shè)計(jì)模式定制模塊將定制好的顯控設(shè)計(jì)模式組件傳送給顯控設(shè)計(jì)模式解析模塊。顯控設(shè)計(jì)模式解析模塊對(duì)定制好的顯控設(shè)計(jì)模式組件進(jìn)行解析和編碼工作,并將編碼后的模型文件存入顯控設(shè)計(jì)模式模板庫(kù)。
c)信息顯示設(shè)計(jì)模式對(duì)應(yīng)顯控應(yīng)用開發(fā)中頁(yè)面數(shù)據(jù)顯示功能。用戶通過(guò)用戶接口模塊選擇定制信息顯示設(shè)計(jì)模式,用戶接口模塊會(huì)把用戶選擇的顯控設(shè)計(jì)模式傳送給顯控設(shè)計(jì)模式定制模塊。顯控設(shè)計(jì)模式定制模塊對(duì)信息顯示設(shè)計(jì)模式進(jìn)行定制,該模塊可以定義顯控設(shè)計(jì)模式組件的名稱、描述信息和類別,并可以對(duì)信息顯示設(shè)計(jì)模式的屬性進(jìn)行配置。可以配置的屬性包括:是否ARINC 661顯示、是否自定義DF顯示、是否頁(yè)面數(shù)據(jù)顯示,頁(yè)面名稱,是否為主頁(yè)面,顯示頻率。顯控設(shè)計(jì)模式定制模塊將定制好的顯控設(shè)計(jì)模式組件傳送給顯控設(shè)計(jì)模式解析模塊。顯控設(shè)計(jì)模式解析模塊對(duì)顯控設(shè)計(jì)模式組件內(nèi)容進(jìn)行解析和編碼工作,并將編碼后的模型文件存入顯控設(shè)計(jì)模式模板庫(kù)。
d)輸入輸出設(shè)計(jì)模式是對(duì)應(yīng)顯控應(yīng)用開發(fā)中數(shù)據(jù)輸入輸出功能。用戶通過(guò)用戶接口模塊選擇定制輸入輸出設(shè)計(jì)模式,用戶接口模塊會(huì)把用戶選擇的顯控設(shè)計(jì)模式傳送給顯控設(shè)計(jì)模式定制模塊。顯控設(shè)計(jì)模式定制模塊對(duì)輸入輸出設(shè)計(jì)模式進(jìn)行定制,該模塊可以定義顯控設(shè)計(jì)模式組件的名稱、描述信息和類別,并可以對(duì)輸入輸出設(shè)計(jì)模式的屬性進(jìn)行配置??梢耘渲玫膶傩园ǎ狠斎胼敵鲈O(shè)備名稱,輸入輸出設(shè)備號(hào),內(nèi)部總線類型。顯控設(shè)計(jì)模式定制模塊將定制好的顯控設(shè)計(jì)模式組件傳送給顯控設(shè)計(jì)模式解析模塊。顯控設(shè)計(jì)模式解析模塊對(duì)顯控設(shè)計(jì)模式組件內(nèi)容進(jìn)行解析和編碼工作,并將編碼后的模型文件存入顯控設(shè)計(jì)模式模板庫(kù)。
(五)代碼生成工具
代碼生成工具的架構(gòu)圖如圖5所示,由代碼生成服務(wù)接口模塊、代碼生成器模塊、模型導(dǎo)入模塊、模型解析模塊、代碼模板庫(kù)模塊和打包器模塊組成。
代碼生成服務(wù)接口模塊,設(shè)定項(xiàng)目的統(tǒng)一標(biāo)識(shí),設(shè)定需要生成的項(xiàng)目,設(shè)定目標(biāo)代碼生成并打包后需要放置的文件夾路徑。代碼生成服務(wù)接口模塊給代碼生成器模塊發(fā)送代碼生成調(diào)用命令。
代碼生成器模塊在接收到代碼生成服務(wù)調(diào)用后,首先通過(guò)模型導(dǎo)入模塊獲取該項(xiàng)目的顯控設(shè)計(jì)模式定制內(nèi)容。
模型解析模塊解析顯控設(shè)計(jì)模式定制內(nèi)容,抽取其中領(lǐng)域?qū)嶓w及復(fù)用組件的信息。根據(jù)定制的平臺(tái)相關(guān)信息,從代碼模板庫(kù)模塊獲取相應(yīng)的代碼模板,根據(jù)解析結(jié)果生成代碼。
打包器模塊用于合并生成的代碼、領(lǐng)域?qū)嶓w及復(fù)用組件的代碼,以項(xiàng)目統(tǒng)一資源標(biāo)識(shí)符加時(shí)間戳的方式命名,將代碼包保存的預(yù)設(shè)的文件夾下。
(六)架構(gòu)模板管理工具。
該工具管理架構(gòu)模板庫(kù),架構(gòu)模板從任務(wù)(Mission)合成,信息融合和結(jié)構(gòu)化綜合三個(gè)目標(biāo)層次提供可復(fù)用架構(gòu)方案。任務(wù)合成目標(biāo)的架構(gòu)模板從系統(tǒng)功能任務(wù)(例如態(tài)勢(shì))的角度描述與總線設(shè)計(jì)模式及復(fù)用組件的樹狀邏輯關(guān)系;信息融合目標(biāo)的架構(gòu)模板從領(lǐng)域?qū)嶓w的角度描述與總線設(shè)計(jì)模式及復(fù)用組件的樹狀邏輯關(guān)系;結(jié)構(gòu)化綜合目標(biāo)的架構(gòu)模板從系統(tǒng)(例如EFIS、直升機(jī)、教練機(jī)等型號(hào)顯控系統(tǒng))的外部交聯(lián)關(guān)系、內(nèi)部邏輯結(jié)構(gòu)等角度描述與總線設(shè)計(jì)模式及復(fù)用組件的樹狀邏輯關(guān)系;
(七)顯控設(shè)計(jì)模式管理工具。
該工具管理顯控設(shè)計(jì)模式庫(kù),顯控設(shè)計(jì)模式是對(duì)座艙顯示系統(tǒng)應(yīng)用軟件的基本要素和機(jī)制的抽象及定義,分為總線通信、IO通信、信息顯示、控制響應(yīng)及數(shù)據(jù)處理五大類。
(八)復(fù)用組件管理工具。
復(fù)用組件是對(duì)軟件不同粒度的劃分,是可復(fù)用的代碼單元(例如.h和.c文件),分為子系統(tǒng)組件、功能任務(wù)(Mission)組件、顯控設(shè)計(jì)模式組件、數(shù)據(jù)實(shí)體組件及功能函數(shù)組件。
(九)領(lǐng)域?qū)嶓w管理工具。
該工具管理領(lǐng)域?qū)嶓w,領(lǐng)域?qū)嶓w包括顯控系統(tǒng)中通用概念、通用數(shù)據(jù)以及應(yīng)用設(shè)備信息,由領(lǐng)域?qū)<医⒉⒕S護(hù)。該工具支持根據(jù)領(lǐng)域?qū)嶓w中的通用數(shù)據(jù)模型生成對(duì)應(yīng)的數(shù)據(jù)實(shí)體組件。