為了控制艦艇的買(mǎi)辦費(fèi)用,必須提高設(shè)計(jì)質(zhì)量和效率,從而確保在滿(mǎn)足客戶(hù)需求的基礎(chǔ)上降低艦艇的生命周期成本。以美國(guó)海軍為例,為了實(shí)現(xiàn)以上目標(biāo),在其LPD17兩棲船塢運(yùn)輸艦、弗吉尼亞級(jí)潛艇等型號(hào)艦艇的研制過(guò)程中采用了基于集成產(chǎn)品與過(guò)程開(kāi)發(fā)(integrated product andprocess development,IPPD)的并行設(shè)計(jì)方法,有效地實(shí)現(xiàn)了縮短開(kāi)發(fā)周期、降低買(mǎi)辦費(fèi)用、提高客戶(hù)滿(mǎn)意度等目標(biāo)。成功實(shí)施IPPD的關(guān)鍵之一是建立集成產(chǎn)品開(kāi)發(fā)環(huán)境(integrated product de-velopment environment,IPDE),用于多學(xué)科集成產(chǎn)品開(kāi)發(fā)團(tuán)隊(duì)(integrated product team,IPT)開(kāi)展協(xié)同設(shè)計(jì)。作為船舶2大平臺(tái)之一的動(dòng)力系統(tǒng),其設(shè)計(jì)過(guò)程具有多階段、多學(xué)科、多目標(biāo)約束的特點(diǎn),其設(shè)計(jì)質(zhì)量的好壞在很大程度上影響到整船的設(shè)計(jì)質(zhì)量。本文以IPPD的應(yīng)用為目標(biāo),主要研究用于船舶動(dòng)力系統(tǒng)協(xié)同設(shè)計(jì)的產(chǎn)品數(shù)據(jù)管理(product data management,PDM)形式的工作組級(jí)IPDE的實(shí)現(xiàn)。
1 基于PDM形式的船舶動(dòng)力系統(tǒng)協(xié)同設(shè)計(jì)系統(tǒng)原理
目前實(shí)施PDM主要采用購(gòu)買(mǎi)PDM軟件再用二次開(kāi)發(fā)的方式進(jìn)行客戶(hù)化,使之與企業(yè)實(shí)際相適應(yīng)。這些商業(yè)PDM軟件具有運(yùn)行穩(wěn)定,功能強(qiáng)大和與某些特殊的軟件(如CAD軟件)集成較為緊密的特點(diǎn)。但是這些PDM軟件通常也存在采購(gòu)和實(shí)施費(fèi)用高、專(zhuān)業(yè)針對(duì)性不強(qiáng)和功能閑置等問(wèn)題。為了實(shí)現(xiàn)針對(duì)船舶動(dòng)力系統(tǒng)設(shè)計(jì)的PDM技術(shù)并使其具有在較長(zhǎng)時(shí)期內(nèi)進(jìn)一步增強(qiáng)和完善的功能,采用了通用編程語(yǔ)言開(kāi)發(fā)PDM軟件。最終要建立的船舶動(dòng)力系統(tǒng)分布式設(shè)計(jì)系統(tǒng)(marinemachinery system product data management,MMSPDM)的功能原理如圖1所示。該圖表示所有參與設(shè)計(jì)的軟件工具相關(guān)的數(shù)據(jù)均通過(guò)PDM軟件集中管理,或者軟件本身與PDM軟件集成。這些軟件分布在不同的計(jì)算機(jī)上,而PDM軟件的客戶(hù)端程序也同時(shí)安裝到這些計(jì)算機(jī)上。圖中的PDM巳包含了包括服務(wù)器端在內(nèi)的所有功能。
圖1船舶動(dòng)力系統(tǒng)分布式設(shè)計(jì)原理圖
2 相關(guān)的技術(shù)方案
2.1分布式開(kāi)發(fā)環(huán)境的結(jié)構(gòu)
MMSPDM開(kāi)發(fā)目前主要針對(duì)局域網(wǎng)和Windows環(huán)境。對(duì)于局域網(wǎng)而言,通信速度快而且可選擇多種通信方式(協(xié)議),具有良好的性能,適合于更緊密地合作和集成。運(yùn)行在局域網(wǎng)內(nèi)的分布式應(yīng)用程序也主要是Windows應(yīng)用程序,這類(lèi)程序能夠很好地適應(yīng)和利用局域網(wǎng)的性能。其主要架構(gòu)也經(jīng)歷了從傳統(tǒng)的二層邏輯應(yīng)用到三層邏輯(多層)應(yīng)用的轉(zhuǎn)變r(jià)引,從而在物理上也可以實(shí)現(xiàn)多層次地分擔(dān)程序運(yùn)行任務(wù)。MMSPDM基于VS。NET環(huán)境開(kāi)發(fā),結(jié)合以上分析和VS。NET的特點(diǎn),其分布式架構(gòu)的原理如圖2所示。
圖2 MMSPDM開(kāi)發(fā)架構(gòu)
中間層組件主要由。NET中的Remoting技術(shù)實(shí)現(xiàn),并將其駐留在服務(wù)器的Windows服務(wù)環(huán)境內(nèi)。Remoting可以認(rèn)為是DCOM的升級(jí),但具有更強(qiáng)大的功能,如支持通過(guò)值或引用傳遞對(duì)象、回調(diào),以及多種對(duì)象激活和生命周期管理策略等。在這里Remoting組件作為提供給用戶(hù)的遠(yuǎn)程接口,接受和處理用戶(hù)請(qǐng)求,而有關(guān)數(shù)據(jù)庫(kù)操作則采用CoM+服務(wù)和。NET服務(wù)組件完成。COM+服務(wù)中包含了事務(wù)、排隊(duì)組件(QC)、安全、松耦合事件(LCE)、JIT激活和對(duì)象緩沖池等服務(wù)。其中事務(wù)處理能很好地解決多個(gè)數(shù)據(jù)庫(kù)(表)同時(shí)更新的問(wèn)題,在更新過(guò)程中發(fā)生錯(cuò)誤時(shí)能使涉及的數(shù)據(jù)庫(kù)(表)自動(dòng)恢復(fù)到更新前的狀態(tài)。數(shù)據(jù)庫(kù)采用了SQL Server,因?yàn)楹汀ET開(kāi)發(fā)環(huán)境同屬一家,所以在。NET環(huán)境內(nèi)針對(duì)SQL Server內(nèi)置了經(jīng)過(guò)優(yōu)化的專(zhuān)用數(shù)據(jù)庫(kù)組件,使用更簡(jiǎn)單,性能更好。
該架構(gòu)還考慮到了將來(lái)的拓展。如果要將協(xié)同范圍擴(kuò)大到Intranet或Internet,則可以采用Web Service的方式調(diào)用業(yè)務(wù)邏輯,其他Windows應(yīng)用程序或Web應(yīng)用程序可以引用Web Service來(lái)使用業(yè)務(wù)邏輯。同時(shí),因?yàn)閃eb Service是基于XML的,所以為在異構(gòu)平臺(tái)使用MMSPDM提供了可行性。如果同時(shí)使用了其他類(lèi)型的數(shù)據(jù)庫(kù),則因?yàn)椴捎昧薈OM+服務(wù),只需更改相應(yīng)服務(wù)組件,同樣可以實(shí)現(xiàn)事務(wù)處理和其他服務(wù)。
2.2文檔管理功能
文檔管理包括設(shè)計(jì)文檔的出入庫(kù)和版本管理。設(shè)計(jì)文檔以文件的方式存放在服務(wù)器的文件系統(tǒng)內(nèi),而數(shù)據(jù)庫(kù)保存所有設(shè)計(jì)文檔的屬性,如路徑、版本、狀態(tài)、擁有者等等。用戶(hù)要求下載(出庫(kù))某文檔時(shí),如果被程序判斷擁有下載權(quán)限,則檢索數(shù)據(jù)庫(kù)獲得相應(yīng)文檔的路徑,根據(jù)路徑向客戶(hù)機(jī)發(fā)送該文件。上傳(入庫(kù))的過(guò)程類(lèi)似。在本系統(tǒng)內(nèi)對(duì)于文件傳輸采用了Remoting技術(shù),將文件以分塊的方式賦給自定義的數(shù)據(jù)結(jié)構(gòu)(該數(shù)據(jù)結(jié)構(gòu)以單獨(dú)的程序集的方式編譯為dll文件,同時(shí)供Re—moting組件和客戶(hù)端引用)作為Remoting組件輸入輸出參數(shù)。
例如,發(fā)送用數(shù)據(jù)結(jié)構(gòu)可定義如下。
對(duì)該數(shù)據(jù)結(jié)構(gòu)對(duì)象的序列化、發(fā)送、接收和反序列化全部由Remoting組件自動(dòng)完成。接收端經(jīng)過(guò)反序列化得到數(shù)據(jù)結(jié)構(gòu)對(duì)象后,根據(jù)該對(duì)象提供的文件路徑和批次號(hào)將數(shù)據(jù)放入文件的相應(yīng)位置。這種方式能夠?qū)崟r(shí)返回遠(yuǎn)程執(zhí)行的結(jié)果(如文件是否正常寫(xiě)入),所以不需要專(zhuān)門(mén)的等待過(guò)程,而且由于Remoting組件代管了數(shù)據(jù)的發(fā)送接收等細(xì)節(jié)問(wèn)題,可以不考慮數(shù)據(jù)校驗(yàn)。實(shí)踐證明以上方法具有編程簡(jiǎn)單、快速、可靠等優(yōu)點(diǎn),而且容易實(shí)現(xiàn)斷點(diǎn)續(xù)傳、數(shù)據(jù)加密的功能。
文檔以其狀態(tài)和版本進(jìn)行管理。狀態(tài)包括修改狀態(tài)、共享狀態(tài)、提交狀態(tài)、入檔狀態(tài)等。不同的狀態(tài)用戶(hù)具有不同的使用權(quán)限。而版本則是同一狀態(tài)的文件的變化過(guò)程的一個(gè)記錄。通過(guò)記錄文檔的所有版本,并存儲(chǔ)其父舨本的版本號(hào)等信息,可以追蹤設(shè)計(jì)過(guò)程。
2.3權(quán)限管理
對(duì)于PDM系統(tǒng)而言,其權(quán)限管理應(yīng)具有以下特點(diǎn):
(1)由于涉及的管理對(duì)象(如人員、文檔等)很多,針對(duì)不同的管理對(duì)象要有專(zhuān)門(mén)的管理權(quán)限,即只有相應(yīng)權(quán)限的用戶(hù)才能訪(fǎng)問(wèn)特定的對(duì)象;
(2)應(yīng)當(dāng)與設(shè)計(jì)過(guò)程相適應(yīng)。對(duì)同一個(gè)任務(wù)(或者文件),在設(shè)計(jì)的不同階段賦給相關(guān)人員的權(quán)限是動(dòng)態(tài)變化的,比如文件歸檔后就連該文檔的設(shè)計(jì)者都不能再修改;
(3)應(yīng)當(dāng)高效、方便地實(shí)現(xiàn)權(quán)限管理,從而為PDM的實(shí)施奠定良好基礎(chǔ)。
鑒于以上因素,本系統(tǒng)提出了一種RBAC模型和基于操作的授權(quán)模式相結(jié)合的權(quán)限管理模型,具有以下特點(diǎn):
(1)取消了系統(tǒng)管理員。在項(xiàng)目啟動(dòng)的初始狀態(tài),以一個(gè)開(kāi)發(fā)人員初始賬號(hào)和管理人員初始賬號(hào)驅(qū)動(dòng),分別負(fù)責(zé)初始任務(wù)的下達(dá)和設(shè)計(jì)人員賬號(hào)的添加;
(2)采用多極授權(quán)模式。在項(xiàng)目負(fù)責(zé)人向下布置任務(wù)后,該任務(wù)的負(fù)責(zé)人自動(dòng)擁有該任務(wù)的所有權(quán)限,并可根據(jù)需要向其他用戶(hù)授權(quán),避免了權(quán)限的集中管理;
(3)交叉驗(yàn)證。用戶(hù)登錄時(shí),根據(jù)該用戶(hù)的角色設(shè)置菜單等資源。用戶(hù)的操作權(quán)限以數(shù)據(jù)集(DataSet)的方式存儲(chǔ)在內(nèi)存當(dāng)中,使得用戶(hù)瀏覽項(xiàng)目時(shí)進(jìn)一步迅速控制相關(guān)界面元素是否可用。當(dāng)用戶(hù)要執(zhí)行某項(xiàng)操作時(shí),系統(tǒng)將重新檢索權(quán)限管理數(shù)據(jù)庫(kù),再次驗(yàn)證該用戶(hù)是否具有該操作權(quán)限;
(4)授權(quán)過(guò)程記錄。當(dāng)用戶(hù)對(duì)其他用戶(hù)進(jìn)行權(quán)限設(shè)置時(shí),這次設(shè)置過(guò)程的時(shí)間,對(duì)其他用戶(hù)權(quán)限的添加和刪除的項(xiàng)目都由專(zhuān)門(mén)的數(shù)據(jù)表以SQL語(yǔ)言字符串的形式進(jìn)行記錄,以備需要時(shí)調(diào)用。
2.4過(guò)程管理
MMSPDM具備了一定的過(guò)程管理功能。在任務(wù)發(fā)布時(shí),要求輸入任務(wù)的具體內(nèi)容、完成時(shí)間、負(fù)責(zé)人、審批人員等信息。發(fā)布完成后會(huì)自動(dòng)通知負(fù)責(zé)人接受任務(wù)。而當(dāng)任務(wù)產(chǎn)生的文檔加入到項(xiàng)目結(jié)構(gòu)樹(shù)時(shí)會(huì)通知所有用戶(hù)發(fā)生的更改。如果進(jìn)入了提交狀態(tài)則自動(dòng)通知審閱人進(jìn)行審閱并確定是退回還是人檔。任務(wù)狀態(tài)的變化流程如圖3所示。
圖3 任務(wù)狀態(tài)變化流程圖
任務(wù)的狀態(tài)由其在項(xiàng)目結(jié)構(gòu)樹(shù)上的節(jié)點(diǎn)的顏色來(lái)表示。如是否已被接收、正在進(jìn)行、已完成等。
2.5軟件集成
之所以采用自行開(kāi)發(fā)PDM軟件的方式,主要目的之一也是為了實(shí)現(xiàn)更加客戶(hù)化的軟件集成。MMSPDM的使用環(huán)境內(nèi)包含的軟件有CAD軟件、辦公軟件、動(dòng)力系統(tǒng)選型、軸系設(shè)計(jì)和機(jī)艙布置設(shè)計(jì)等相關(guān)軟件,如果將MMSPDM和這些軟件很好地集成則可以實(shí)現(xiàn)MMSPDM更為方便的應(yīng)用。本系統(tǒng)主要采用了接口交換和緊密集成2種集成方式。
像CAD軟件(本系統(tǒng)使用的是CATIA)和Word等辦公軟件一般都以COM服務(wù)器的形式提供接口,其他支持COM接口調(diào)用的編程客戶(hù)可以調(diào)用這些接口,而且這些軟件一般內(nèi)部集成了VBA或VBScript等腳本編輯環(huán)境,也就可以調(diào)用其他軟件的COM接口。這就為這些軟件與MMSPDM在接口層次上的雙向集成打下了基礎(chǔ)。本系統(tǒng)實(shí)現(xiàn)了與這類(lèi)軟件的雙向集成,其原理如圖4所示。圖中MMSPDM軟件可以通過(guò)。NET中的Interop封送處理直接調(diào)用COM接口,而CATIA和Word可以同樣通過(guò)封送處理調(diào)用MMSPDM的面向非托管代碼(已輸出類(lèi)型庫(kù)并注冊(cè))的接口。
圖4 CATIA,Word與MMSPDM的集成原理
目前,對(duì)于軸系中軸段的自動(dòng)生成已經(jīng)運(yùn)用了CATIA的COM自動(dòng)化功能。而word除了提供其文檔所對(duì)應(yīng)的組件對(duì)象模型以外,還提供了其菜單、工具欄等資源的COM接口,用戶(hù)可通過(guò)編程定制Word的外觀(guān)。例如通過(guò)宏代碼可以在Word界面上添加菜單,該宏代碼存放在模板文件中,并在啟動(dòng)Word時(shí)自動(dòng)運(yùn)行。
對(duì)于自行開(kāi)發(fā)的其他軟件如船舶動(dòng)力裝置選型、動(dòng)力裝置性能計(jì)算等則可實(shí)現(xiàn)更高層次的緊密集成,這時(shí)采用的方法是開(kāi)發(fā)時(shí)直接相互引用程序集,組建解決方案。用戶(hù)可以在這些軟件內(nèi)調(diào)用MMSPDM提供的接口訪(fǎng)問(wèn)設(shè)計(jì)數(shù)據(jù)及其他元件數(shù)據(jù)庫(kù),同時(shí)在MMSPDM客戶(hù)端程序內(nèi)可直接查看這些軟件的輸入輸出數(shù)據(jù)或者圖形。但是有一個(gè)問(wèn)題值得考慮,即這些軟件的數(shù)據(jù)的保存形式問(wèn)題,例如軸系校中計(jì)算時(shí)需要格式化的截面參數(shù)。如果單純將數(shù)據(jù)保存在文本文檔(如Word文檔)或者數(shù)據(jù)庫(kù)中,可能影響通用性。本系統(tǒng)將設(shè)計(jì)結(jié)果以XML文檔的形式保存,這樣既能夠?qū)崿F(xiàn)設(shè)計(jì)結(jié)果的結(jié)構(gòu)化保存,同時(shí)又為跨平臺(tái)使用打下了堅(jiān)實(shí)的基礎(chǔ)。
2.6其他問(wèn)題
CAD軟件生成的文檔往往只能在CAD軟件內(nèi)進(jìn)行瀏覽。如果審閱人沒(méi)有或不會(huì)使用CAD軟件,如何審閱CAD文檔就有了問(wèn)題。這個(gè)問(wèn)題的解決方案有:
(1)在CAD軟件內(nèi)部導(dǎo)出零部件的各種視圖,以圖形文件的方式提供給審閱人;
(2)購(gòu)買(mǎi)專(zhuān)門(mén)的只限于瀏覽該類(lèi)型CAD文檔的商業(yè)軟件,這類(lèi)軟件的價(jià)格比CAD軟件要便宜得多;
(3)通過(guò)格式轉(zhuǎn)換將CAD文檔轉(zhuǎn)換成通用格式(如VRML,3DXML等),實(shí)現(xiàn)在通用的瀏覽器內(nèi)瀏覽。
另外,設(shè)計(jì)人員在物理位置上分離較遠(yuǎn)的情況下要實(shí)現(xiàn)實(shí)時(shí)通信時(shí),MMSPDM采用了集成Netmeeting的方法,即把Netmeeting作為一個(gè)組件來(lái)使用。在MMSPDM內(nèi)加入了相應(yīng)的菜單項(xiàng)來(lái)打開(kāi)或調(diào)用相應(yīng)的Netmeeting的視頻電話(huà)、網(wǎng)絡(luò)白板等功能,進(jìn)一步協(xié)助完成協(xié)同設(shè)計(jì)。
3 結(jié)束語(yǔ)
本文以IPPD在船舶動(dòng)力系統(tǒng)設(shè)計(jì)中的應(yīng)用為背景,在充分利用多層架構(gòu)軟件思想的前提下,討論了船舶動(dòng)力系統(tǒng)協(xié)同設(shè)計(jì)支撐軟件MMSPDM的架構(gòu)和相關(guān)技術(shù)實(shí)現(xiàn)內(nèi)容。在某型艦虛擬機(jī)艙的生成過(guò)程中對(duì)本系統(tǒng)進(jìn)行了試用,結(jié)果表明該系統(tǒng)運(yùn)行穩(wěn)定,較好地克服了文檔管理混亂等問(wèn)題。目前軸系設(shè)計(jì)、動(dòng)力系統(tǒng)選型等軟件正在進(jìn)一步完善之中,待開(kāi)發(fā)完成并集成到MMSPDM以后,結(jié)合動(dòng)力系統(tǒng)設(shè)計(jì)相關(guān)的動(dòng)力系統(tǒng)設(shè)備、標(biāo)準(zhǔn)等數(shù)據(jù)庫(kù)的加入,將最終形成一個(gè)較為完整的船舶動(dòng)力系統(tǒng)協(xié)同設(shè)計(jì)系統(tǒng)。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專(zhuān)業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF