(海軍工程大學船舶與動力學院 武漢 430033)
艦船動力裝置數字化設計是指在計算機技術、網絡通信技術、并行工程技術、數字仿真技術及虛擬樣機技術等相關支撐技術的支持下,對艦船動力裝置設計全過程進行數字化描述,以建立的動力裝置的數字化模型為基礎,面向艦船動力裝置生命周期進行動力裝置設計的仿真與優化、信息融合與過程的集成管理,最終實現艦船動力裝置設計及開發全過程的數字化[1-2],其關鍵技術主要包括硬件支撐平臺技術、現代設計工具/平臺技術、協同仿真技術、虛擬樣機技術、多學科優化技術、協同設計/應用軟件技術、數字化設計標準及規范技術、支撐平臺技術等內容[3-4].本文以艦船動力裝置數字化設計系統的底層支撐平臺及核心功能模塊,開展艦船動力裝置數字化設計系統支撐環境研究,將為進一步推進艦船動力裝置數字化設計進程,同時也將為艦船動力裝置設計水平的提高提供一定的支撐.
根據支撐環境的功能需求,本文研究設計了如圖1所示的支撐平臺系統層次結構.系統從整體上采用3層結構:數據層、功能層和表示層.其中數據層主要用于動力裝置設計過程中的各種數據,功能層主要實現支撐平臺的各類核心功能,表示層為瀏覽器.另外針對各客戶端所需要的專業性較強且功能復雜的各類應用軟件,可以針對該部門比如設計部門,以設計部門內部的局域網為基礎,開發專門的基于C/S模式的控制管理模塊,以實現對設計部門所需要的各類設計應用軟件的集成、支持和協同.
類是包含了方法、屬性、數據成員的代碼模塊,通過類可以高效的完成特定對象的復雜操作,為了提高代碼的封裝性和處理系統中大量近似的對象[5],根據系統功能模塊的劃分,本文針對支撐平臺的開發設計了如圖2所示的系統類圖.
1)DataAccess類 負責實現業務層的應用程序對數據庫的連接、訪問和斷開等操作,其他實現類通過調用該類中的GetConnection和Runsql方法實現對數據庫的訪問.
2)ProjManager類 負責實現設計項目的創建、編輯、分解和查看等操作.

圖1 支撐環境層次結構

圖2 系統類圖
3)SysManager類 負責實現用戶、角色的創建、編輯、刪除以及權限的分配和管理等操作.
4)DocManager類 負責實現文檔的上傳、下載、查詢以及在線瀏覽等功能.
5)ProdManager類 負責實現動力裝置設備可視化模型及其相關文檔的創建、刪除和查看.
6)FlowManager類 負責方案設計流程的創建、更新、刪除和查看等操作.
由于支撐平臺需要支持數據及文檔管理、工作流程管理、項目管理、可視化配置管理、權限管理等方面的功能,且各個模塊之間關系較為緊密,如權限管理在數據及文檔管理中需要為系統用戶指定相應的對文檔的操作權限,如上傳、下載、修改;工作流程管理中需要為系統用戶指定相應的提交及審批權限等,因此在進行系統開發之前需要綜合考慮各方面的因素,合理設計系統數據庫的結構,主要包括用戶數據、權限數據、項目數據、動力系統設備數據、文檔數據、流程數據等內容.為了說明各個類對數據庫的訪問,下面以Proj-Manager類中getProj方法對數據庫的訪問過程為例,說明通過ADO.NET實現對數據庫的訪問方法.

艦船動力裝置數字化設計系統的數據類型主要有3類:具體的項目數據、過程數據以及元數據.為了實現對這些數據的安全、有序的管理,在數據庫設計的過程中將數據分為2類,一類是以電子倉庫的形式存儲,一類以結構化形式直接存儲在數據庫中.數據及文檔管理主要實現了如下幾個方面的功能:文檔檢入、文檔下載、文檔查詢、站內查詢、修改刪除、瀏覽圈閱及版本管理.
1)關于文檔的狀態變化 由于在設計過程中的文檔處于動態變化狀態,為了防止對文檔的非法訪問或者未經授權的操作,把文檔的狀態分為提交、審核、修改、歸檔四種狀態[6],與之相關的操作包括檢入、審批(通過,不通過)、歸檔等,文檔操作以及狀態變遷如圖3所示.

圖3 文檔狀態變遷
根據文檔的狀態變遷模型,在進行數據庫設計的過程中,需要按照文檔的不同狀態,分別在數據庫中建立文檔的提交、審核、修改、歸檔4種狀態,在數據庫中,通過ListItem控件的Value屬性通過“1”,“2”,“3”,“4”分別代表文檔的4種狀態.
2)文檔版本管理 動力裝置各類數據文檔在設計過程中可能要經過不斷地修改、完善,直到最終定型,各種資料每經過一次修改,就會產生新的版本.為了避免版本混亂,需要對經過修改的文件給出版本的標識信息,用來唯一地標識這個文件地某一版本,這種表示信息就是版本號.本文主要研究通過樹狀編排的方式進行版本編號[7],見圖4.

圖4 文檔的版本結構
3)文檔的檢入 按照文檔的狀態變遷模型和文檔的版本結構,在文檔檢入的過程中,設計人員不僅需要輸入項目名稱、文件的版本號,同時還要選定上傳文檔的類型以及文檔所處的狀態,然后再選擇需要上傳的文檔,將文檔上傳到設定的文檔存儲區,同時在數據庫表中將存儲上傳文檔的版本號以及文檔所處的狀態,以實現文檔的有序管理.
4)關于瀏覽圈閱的考慮 通過文檔查詢功能在完成文檔的檢索后,具有相應權限的用戶能夠對檢索文檔進行詳細信息查詢,同時還能對文檔進行在線瀏覽圈閱和下載,因此需要將一些通用文檔及圖形軟件集成到支撐平臺中,如PDF閱讀器,AUTOCAD,3dxml Player等常用軟件以實現對輕量級文檔的在線瀏覽圈閱.
支撐平臺的產品可視化配置模塊主要考慮將配置求解結果(一般包括設備模型、基本信息和BOM表)通過瀏覽器以可視化的方式顯示給系統用戶,即主要實現動力裝置設備配置結果的描述、配置結果的可視化顯示和在線瀏覽等功能,其中對于配置結果,需要從設備模型及設備模型之間的關系、設備模型信息、配置結果的可視化3個方面進行描述[8-9].
1)關于設備模型及設備模型之間的關系本文所研究的關于建模的部分均在CATIA平臺上進行,CATIA中建模的過程中,是按照產品結構樹的方式組織零部件和裝配件之間的關系,而且CATIA在輸出模型時能夠將產品結構樹附加到模型中一同輸出.因此,在支撐平臺中,可以按照型號、設備、設備零部件的方式模擬CATIA中的產品結構樹,從而形成完整的設備模型本身及設備模型之間的關系結構.
2)設備模型信息 設備模型信息主要包括模型的基本信息(如功能、重量、尺寸等)和模型的物料清單表(bill of material,BOM),具體實現方法為在數據庫中建立產品結構樹的節點與模型、模型信息及相關文檔的關聯表.另外與設備相關的設計文檔如計算書、圖紙文件、表格文件等,也可在數據庫中與設備模型建立關聯指針,以便用戶能夠從配置結果中方便的調用該設備的相關文檔.其中BOM表可由CATIA自動生成,在CATIA中建立設備的模型之后,能夠將模型的BOM表以Excel的方式進行輸出,并在可視化配置模塊中實現對CATIA中輸出的BOM表中信息的讀取.
3)結構配置結果可視化及在線瀏覽 本系統是在CATIA環境下進行動力裝置設備的三維建模,由于需要在瀏覽器環境下進行在線瀏覽,因此需要對模型進行輕量化處理,并利用CATIA的3DXML Player控件,在ASP.NET環境下調用該控件,實現對該控件的集成.
工作流程管理主要包括定義工作流、監控工作流及任務管理.
1)工作流定義 工作流定義是實施工作流管理的起點,在定義好工作流程之后,需要指派每個節點任務的執行者以及完成時限等,然后將根據定義好的任務時限以及審閱人通知設計人員,設計人員完成后將文件提交到下一個任務執行者處,并通知相應的審批人員進行審批,如此直到整個流程完成.
2)工作流程監控 工作流監控模塊一方面可以提醒相關設計人員完成任務,例如,如果一個工作流啟動后,某一任務沒有在規定的時間內完成,則可通過站內短信或E-mail提示相關設計人員.另一方面當設計人員將不同狀態的設計文檔上傳到系統后,需要通過站內短信或者E-mail通知相關工作組人員,從而實現工作流程的變更管理功能.
3)任務管理器 在進行工作流程建模的過程中,動態的向相關設計人員配置了資源和指派了任務,任務執行人員打開任務管理器可以接受任務、下載任務說明書和下載相關的文檔以及完成任務后提交任務.
項目管理是指在一定的約束條件下(時間、成本、資源等),以高效率地完成項目既定的任務為目的,按照項目內在的邏輯規律進行有效的計劃、組織、協調、控制的系統管理活動[10-11].通過項目管理,可為動力裝置設計提供一套計劃、執行和控制管理的手段,主要包括項目基本信息管理、項目計劃建模和分解及項目運行任務管理,見圖5.

圖5 項目管理功能結構
系統權限管理模塊主要實現了如下幾個方面的功能:身份認證、用戶管理、角色管理、職位管理和授權管理.其中身份認證主要對用戶的身份進行驗證,用戶必須通過身份認證才能進入系統;用戶管理主要實現用戶的增加、刪除和修改以及用戶帳號的啟用和停止;角色管理主要包括角色的添加;職位管理主要包括對職位的添加、刪除、修改以及將職位分配給用戶等;授權管理主要對角色或職位授予或取消相應的權限.
1)權限管理模型 基于角色訪問控制(role based access control,RBAC)是當前信息系統資源訪問控制公認的有效方法,其強調用戶的權限不是由用戶名而是由用戶在組織中的角色決定的,通過角色間接的訪問系統資源;在權限管理中,角色作為中間橋梁把用戶和權限聯系起來;用戶和角色,角色和權限之間是多對多的關系[12-13].因此,本文結合RBAC模型,對其權限控制方法進行改進,通過讀取用戶在數據庫中存儲的授權信息,動態生成用戶界面的方法來實現權限管理,管理員可以通過職位授權和角色授權兩種方法對用戶授權.
2)用戶操作權限 在系統中用戶的基本操作有:瀏覽節點、檢入文件、發布文件、刪除文件、下載文件、審批文件、人員管理、管理權限、管理版塊、發布公告等.在針對不同的職位或者角色進行授權的過程中,需要根據系統中不同的模塊進行相應該模塊內相應權限的授予或者取消.
按照本文的方案設計及各個模塊的實現原理,以ASP.NET 2005為開發平臺,編程語言采用C#,以SQL SERVER2005為數據庫平臺,以IIS為Web服務器,開發了艦船動力裝置數字化設計系統支撐平臺(MPPDDSSP).為了驗證所實現的功能,將數據服務器、應用服務器和 Web服務器部署在一臺HP XW8000Workstation上,以8臺HP Dx6100為客戶端,對系統功能進行測試.經測試表明,系統能夠實現數據及文檔管理、工作流程管理、項目管理、可視化配置管理、權限管理、協同工作及系統用戶個人信息管理的功能,同時系統運行穩定、使用便利,能夠滿足艦船動力裝置數字化設計系統支撐環境的需求.
1)針對艦船動力裝置數字化設計系統的需求,分析了MPPDDSSP的功能需求,在此基礎上研究了MPPDDSSP的功能結構.
2)在充分研究PDM/PLM技術發展現狀的基礎上,結合MPPDDSSP的特點,提出采用通用編程語言進行MPPDDSSP的開發,并設計了支撐平臺的層次結構.
3)對MPPDDSSP的系統類設計、數據庫設計及各個功能模塊的實現原理等開發過程中的相關問題進行了深入研究,為MPPDDSSP奠定了技術基礎.
4)開發了MPPDDSSP,該系統具有實現數據及文檔管理、工作流程管理、項目管理、可視化配置管理、權限管理、協同工作及系統用戶個人信息管理的功能,能夠為艦船動力裝置數字化設計系統提供較好的支持,同時也能為艦船數字化設計乃至數字化造船提供一定的參考.
[1]曹玉姣.我國數字化造船發展現狀[J].船舶工程,2008,30(3):6-9.
[2]喬 珊.艦船數字化設計應用研究[J].中國艦船研究,2007,2(4):20-25.
[3]LIU Jinlin,ZENG Fanming,WU Jiaming.Research on digital design of the marine power plant[C]//Wang Jinkuang,Wang Bin.Proceedings of 2010International Conference on Computer Design and Applications.Qinhuangdao:Institute of Electrical and Electronics Engineers,2010:615-618.
[4]劉金林,曾凡明,巫 影,等.艦船動力裝置虛擬設計與仿真系統的研究與開發[J].武漢理工大學學報:交通科技與工程版,2009,33(1):149-152.
[5]張 立.C#2.0寶典[M].北京:電子工業出版社,2007.
[6]彭 華.支持并行產品開發的產品數據管理系統研究與應用[D].武漢:武漢理工大學,2002.
[7]PELTONEN H,PITKABNEN O.Process-based view of product data management[J].Computer in Industry,1996,31:195-203.
[8]CHOI I,BAE S.An architecture for active product configuration management in industrial virtual enterprise[J].The International Journal of Advanced Manufacturing Technology,2001,18(2):133-139.
[9]吳志成,薛善良,高長偉.基于J2EE的船舶傳動裝置結構管理[J].機械與電子,2009(1):50-53.
[10]郭進濤,李俊華,程 嵐.基于工作流的艦船設計流程管理研究[J].中國艦船研究,2007,12(1):42-45.
[11]馬少峰,李 原,張 杰,等.基于 Web服務的航空項目管理與PDM系統集成[J].計算機工程,2008,34(19):35-38.
[12]林尤舜,鐘 聲.基于RBAC的權限管理系統的設計與實現[J].計算機應用,2009(3):59-60.
[13]RAVI S S,EEWARCL J C,HAIL F ,et al.Rolebased access control models[J].IEEE Computer,1996,29(2):38-47.