殷學梅,周軍華,朱耀琴
(1.南京理工大學 計算機科學與工程學院,南京 210094;2.復雜產品智能制造系統技術國家重點實驗室(北京電子工程總體研究所),北京 100854)(*通信作者電子郵箱15705273163@163.com)
協同設計系統在網絡技術的支持下,使得擁有不同專業知識的空間上分布的設計者能充分利用分布式資源,在同一時間參與到同一個設計任務中,提高產品的設計質量,縮短開發周期,減少不必要的人、物資源浪費[1]。復雜產品協同設計的實質在于:通過交換、共享關于復雜產品設計的信息和知識,提高復雜產品設計過程中決策的正確率,加速決策的過程,提高設計的效率[2]。
經過多年的探索,國內外產生了一些比較著名的協同設計系統。國外著名的項目包括:Stanford大學的Pack系統、PACT(Palo Alto Collaborative Testbed)項目[3]、DICE(DRAPA Initiative in CE)項目之后的Share項目、DARPA資助的Coconut項目、波音公司的Fly Thru項目[4]等。國內在計算機支持的協同設計開發環境方面的研究也早已起步[5-7],如基于工作流管理技術的航天領域復雜產品的協同設計、嵌入式系統軟/硬件協同設計、企業BIM(Building Information Modeling)協同設計云平臺建設等。目前,國內也有不少學者基于Agent展開協同設計研究[8-9],如楊亢亢等[10]對協同設計中的沖突檢測問題進行了研究。但在這些基于工作流管理的協同設計方式中,后繼設計任務必須等先序設計任務完成才可以開始,這在多變的復雜產品協同設計這一業務環境下,尤其在并行工程理念下,大幅降低了產品的設計效率。
協同設計中的數據建模和驅動方面在國內外的研究也有了突破性的進展。有學者根據數據驅動控制的理論提出以數據驅動工作流運行的概念[11-13]。在尋求數據驅動工作流的領域里,比較有影響的是van der Aalst等[14]提出的Case handing思想。目前國內有很多學者對以數據驅動的企業協同創新模式進行了研究[15-17];陳冰[18]提出統一模型驅動下的協同研制已經成為航空產品智能制造技術的未來發展模式,但在產品數據模型建立方面仍有不足。由于復雜產品數據模型必須覆蓋協同設計周期各個階段,傳統的基于元模型建模技術[19]建立的復雜產品數據模型在對產品信息分類以及產品不同設計階段數據類型復雜多變等問題考慮不全,這將不利于不同專業設計人員在協同設計過程中的交互和任務協調。
本文針對復雜產品協同設計過程中不同專業設計人員交流困難、任務協調復雜、產品設計效率低下、傳統元模型建模技術的弊端等問題,提出了復雜產品“一元三層”數據模型和基于數據驅動的復雜產品協同設計技術。對復雜產品協同設計中的數據建模以及驅動方法進行了研究,解決了傳統協同設計過程中人員交流困難、任務協調復雜等問題導致的產品設計效率低下等問題。
在傳統的復雜產品協同設計中,一般采用工作流技術來管理各個主體之間的協同設計,即流程內的控制信息決定了流程的走向,這對于簡單的企業業務調度能發揮較好的作用,但是在多變的復雜產品協同設計這一業務環境下,尤其在并行工程理念下,后繼設計任務的驅動不必等先序任務完成后才開始,一般先序任務產生某些數據后,后繼設計任務就可先行開展,因此傳統的協同設計方式在柔性方面體現出明顯不足。為此本文提出了基于數據驅動的復雜產品協同設計技術,該項技術的總體框架如圖1所示。

圖1 基于數據驅動的復雜產品協同設計框架Fig. 1 Data-driven collaborative design framework for complex products
某項復雜產品設計的具體步驟如下:
步驟一 產品負責人提出產品設計需求,確定自己要設計的復雜產品X,再繪制出復雜產品設計的整體流程圖。
步驟二 產品負責人根據流程圖將復雜產品X的設計切分為多個部件設計,并為每個部件指定部件負責人。同理,部件負責人在接到任務后,根據需要把任務再細分成多個子任務,分配子任務負責人。
步驟三 部件負責人接收到自己的任務后,設計該部件的參數,向數據中心發布數據,表示該項任務啟動。
步驟四 部件負責人設計任務參數時,可以向數據中心訂閱需要參考的數據。輸入訂閱參數相關詞,經語義檢索后返回所有相關的訂閱列表,以供部件負責人訂閱。
步驟五 部件負責人完成自己的部件設計后,提交給產品負責人。
步驟六 產品負責人審核部件負責人提交的任務,審核通過,任務完成,此時任務處于完成狀態;否則,任務將退回給任務負責人并給出反饋意見。
步驟七 所有部件設計完成后,產品負責人進行產品的整體測試與驗證,測試通過,產品設計完成;否則將有問題的部件退回給部件負責人重新設計,直至產品的完成。
根據基于數據驅動的協同設計技術總框架,首先需要對復雜產品建立數據模型,然后實現基于語義檢索的協同設計任務數據訂閱技術以及基于數據訂閱/發布的復雜產品任務協同技術,最后實現基于數據驅動的復雜產品協同設計系統。
復雜產品的協同設計過程分為多個不同的設計階段,每個設計階段具有數據類型復雜、不同專業設計人員協同設計等特點。為此本文提出了由任務數據描述層、語義訂閱層和數據驅動層組成的復雜產品“一元三層”(A Meta-model with Three Levels, AMTL)數據模型技術。
AMTL模型的特點是以任務數據描述層為基礎,集模型語義訂閱層和數據驅動層于統一模型中,用于對產品設計所需要的各階段的數據信息,以及這些數據信息之間的相互關系進行建模,為開發基于數據驅動的復雜產品協同設計系統提供基礎。
1)任務數據描述層(task data describe level),是AMTL模型的數據建模層,位于最底層。基于多維多粒度數據建模及本體的任務數據描述,它是AMTL模型的數據源,決定了AMTL模型數據集成的基本粒度,保證了模型的多維多粒度性。
2)語義訂閱層(semantic subscription level),是AMTL模型的中間連接層,主要包括數據推薦訂閱和語義檢索訂閱兩種數據訂閱方式。在任務數據描述層的基礎上,采用基于本體的語義檢索技術實現數據推薦訂閱和數據語義檢索訂閱的兩種數據訂閱方式。
3)數據驅動層(data driver level),是AMTL模型的數據訂閱/發布層,也是AMTL模型的核心層。在任務數據描述層和語義訂閱層的基礎上,實現基于數據訂閱/發布的復雜產品任務協同技術,從而實現數據驅動下螺旋式上升的協同設計。
2.1.1 復雜產品設計任務的多維多粒度的數據建模
復雜產品設計的過程分為多個設計階段,由于每個設計階段數據需求的差異性,數據具有類型復雜及動態多變的特點,然而不同設計階段產品數據需要保持一致性,因此復雜產品的設計信息需要采用多維數據模型。同時,復雜產品的數據空間又可分為多個層次,可見復雜產品的設計信息也是一個多操作粒度數據模型。故本文采取多維多粒度的數據描述方法來定義復雜產品設計任務之間的交互。如圖2所示。

圖2 復雜產品的多維多粒度數據建模Fig. 2 Multi-dimensional and multi-granular data modeling for complex products
1)設計階段。
從設計階段上看,復雜產品全生命周期分為需求分析、概念設計、詳細設計、工藝設計、檢驗檢測幾個階段。不同設計階段數據需求的差異性導致數據類型復雜及數據動態多變,并要保證每個設計階段產品數據一致性。
2)產品粒度。
從產品粒度上看,產品數據空間可分為產品、部件、子部件等多層。如圖2所示,在復雜產品的不同設計階段需要不同產品粒度上的數據支持。例如,在需求分析設計階段,僅需要產品層次上的數據,而在詳細設計階段,則需要產品、部件等兩個層次以上的數據。
3)信息分類。
正確合理的信息分類是建立復雜產品數據模型的關鍵。因此在對復雜產品設計任務進行數據建模之前,需要對產品的信息進行合理的分類。按產品制造流程可以劃分為如下8種:功能信息、性能信息、結構信息、成本信息、分析信息、制造信息、裝配信息、保障信息。
4)數學表示。
根據以上對復雜產品設計任務的多維多粒度的數據描述,定義復雜產品設計任務數據模型的數學表示形式為:
PIM(PG,DP,IC)
其中:PIM表示復雜產品設計任務數據模型;PG表示產品粒度;DP表示設計階段;IC表示信息分類。
產品粒度PG的數學表示形式為:
PG(P,C,Sub_C)
其中:P表示產品級;C表示部件級;Sub_C表示子部件級。
設計階段DP的數學表示形式為:
DP(DA,CD,DD,TD,TT)
其中:DA表示需求分析階段;CA表示概念設計階段;DD表示詳細設計階段;TD表示工藝設計階段、TT表示檢驗檢測階段。
信息分類IC的數學表示形式為:
IC(FI,PI,SI,CI,AI,MI,ASI,GI)
其中:FI表示功能信息;PI表示性能信息;SI表示結構信息;CI表示成本信息;AI表示分析信息;MI表示制造信息;ASI表示裝配信息;GI表示保障信息。
復雜產品的每個產品級、部件級乃至原子部件的設計都包含8種信息分類。每個信息由具體的數據組成,本模型中共有4種數據類型,包括數值、文件、結構型數據、文件。
2.1.2 復雜產品設計任務數據的本體描述
在基于數據訂閱/發布的復雜產品任務協同技術中。為了實現數據訂閱過程中的語義檢索功能,需要對該領域的復雜產品建立本體。因為本體不僅可以作為概念建模的工具,還能實現知識共享,是實現復雜產品任務協同設計過程中基于語義檢索訂閱技術的基礎。因此,本文需要對某一領域的復雜產品建立本體。
根據《航天科學技術敘詞表》中術語的編制規則,尋找敘詞表中術語之間的語義關系,從而確定敘詞表到本體轉換的映射規則。通過這種映射規則編寫算法實現敘詞表向本體的轉換。以復雜產品航天科學領域為例,根據《航天科學技術敘詞表》建立關于航天科學領域的本體庫。最終構建的復雜產品航天領域的“推進部分”設計本體包括2 730個類、1 800個屬性、345個實例。如圖3為“渦輪噴氣發動機”構建的本體示例圖。

圖3 “渦輪噴氣發動機”本體構建圖Fig. 3 Ontology construction diagram for “turbojet engines”
傳統的數據訂閱方式有兩個特性:一是訂閱數據必須是已經存在的;二是對數據的訂閱方式是精確匹配的。然而在實際應用中任務設計人員訂閱的數據可以是數據中心還沒有上傳的數據。另外任務設計人員對數據的訂閱往往是模糊的,需要訂閱的是某一概念的相關數據。任務設計人員只需輸入訂閱數據的參數相關詞,就可以檢索出所有與之相關的數據以供訂閱。因此本文提出了基于語義檢索的協同設計任務數據訂閱技術,該方法能夠克服傳統數據訂閱的缺點。
復雜產品協同設計任務數據訂閱時,本文提出的基于本體的語義檢索技術,能夠準確地捕捉到任務設計人員所輸入語句后面的真正意圖,并以此來進行檢索,從而更準確地向任務設計人員返回最符合其需求的搜索結果。最終實現了數據訂閱過程的語義化訂閱,有助于任務設計人員快速且準確地訂閱到所需的數據。
2.2.1 基于本體的語義檢索算法
基于本體的語義檢索算法的核心是計算本體概念之間的相似度[20-23]。在對本體概念相似度計算的算法進行了比較之后。本文采用了蔚醒醒[24]提出的算法,主要考慮了語義距離、語義重合度、屬性重合度等因素。該算法能夠很好地計算出航天科學領域本體概念之間的語義相似度。
由于復雜產品建立的本體規模大,導致時間復雜度高、檢索速度慢。為提高檢索速度、降低時間復雜度,本文引入了領域本體的剪枝算法,目前很多學者對本體剪枝算法提出了研究[25-26],本文采用了文獻[27]中提出的剪枝算法。經實際驗證該算法能夠提高語義檢索的速度。
本文以2.1.2節建立的復雜產品航天科學領域的“推進技術”部分的本體O,語義檢索“渦輪噴氣發動機” 為例,詳細說明本體之間概念相似度計算過程。
步驟一 對本體樹O采用剪枝算法:從領域本體中概念節點相對抽象的部分開始進行剪枝,舍棄掉完全不可能的分支,最后在可能的分支上使用多層次子本體的映射算法進行映射,從而降低了映射的本體規模,剪枝后形成新的本體O1。
步驟二 遍歷本體樹O1,獲得第一個概念C1,計算概念“渦輪噴氣發動機”與概念C1的語義相似度,包括語義距離、語義重合度和屬性重合度,最后計算其綜合加權語義相似度。其計算方法如下:
a)計算C與C1的語義距離。
語義距離指本體層次結構中連通C和C1的最短距離,記為Dist(C,C1)。計算方法如式(1)所示:
(1)
其中:Maxlen表示本體層次結構的最大深度;Dist(C,C1)表示概念C到概念C1的最短路徑上的所有有向邊的語義距離之和。
b)計算C與C1的語義重合度。
語義重合度是指C和C1擁有的相同上層概念的個數,計算方法如式(2)所示:


(2)
其中:Deep(NC(C,C1))表示概念C和C1的最近公共祖先節點的深度;r和ε為參數,實驗中分別取0.5和0.4。
c)計算C與C1的屬性重合度。
每個本體概念擁有很多的數據屬性和對象屬性,兩個概念在屬性上的重合度反映出兩概念之間的相似性,因此屬性重合度用C和C1擁有的相同屬性的個數來描述,計算方法如式(3)所示:
Sim(Pro)=Max(ProDi(C,C1),ProIndi(C,C1))
(3)
其中:ProDi(C,C1)表示概念C和C1的直接屬性重合度;ProIndi(C,C1)是概念C與C1間接的屬性重合度,取兩者中較大的作為兩概念的最終屬性相似度。
d)計算C與C1的綜合加權語義相似度。
為了從多個方面衡量概念的相似度,本文對這三種相似度進行加權得到綜合的相似度Sim(C,C1):
Sim(C,C1)=λ1·Sim(Dist)+λ2·Sim(Con)+
λ3·Sim(Pro)
(4)
其中:λ1、λ2、λ3權重調節因子,且λ1+λ2+λ3=1。本文λ1、λ2、λ3分別取0.3、0.4、0.3。
步驟三 遍歷本體樹O1的下一個節點C2,計算“渦輪噴氣發動機”與C2的語義相似度,重復步驟二,直至計算出“渦輪噴氣發動機”與本體樹O1所有節點的語義相似度。
步驟四 將概念“渦輪噴氣發動機”與本體樹O1所有節點的綜合加權語義相似度按降序排列,獲得相似概念集。
本文選取相似度值前18個概念為例,如表1所示。

表1 與“渦輪噴氣發動機”相似概念列表Tab. 1 List of similar concepts with “turbojet engines”
從表1可知:“渦輪噴氣發動機”與自身的概念相似度為1;除此以外,其概念與“低噪聲噴氣發動機”“升力發動機”“升力巡航噴射發動機”等都有著極高的相似度。
上述算法和自然語言處理領域的Word2Vec算法都能解決協同設計數據訂閱過程中的語義檢索功能問題。本文算法是基于本體概念的,通過計算本體概念間的相似度實現語義檢索,可用于協同設計中基于任務數據關鍵詞描述和基于文檔名的數據訂閱;Word2Vec是基于語料庫的,通過將語料庫中的所有詞向量化來度量詞與詞間的關系[28],可用于協同設計中基于文本文檔的數據訂閱。然而協同設計過程中涉及的是大量設計圖紙類文檔,文本類文檔較少,故本文暫時只考慮基于本體相似度的數據訂閱技術。
2.2.2 基于語義檢索的數據訂閱流程
根據2.1節集于多維多粒度數據建模及本體的任務數據描述,結合協同設計任務數據訂閱的實際情況,本文設計了任務數據在數據庫中的存儲結構,即TaskData(數據id、數據名稱、數據類型、所屬任務名稱、信息分類、設計階段、產品粒度、……、版本號)。在協同設計數據訂閱過程的實際應用中,任務設計人員可以根據系統推薦訂閱數據或者自己語義檢索需要訂閱的數據,因此本文給出語義檢索訂閱和推薦訂閱兩種數據訂閱方式。
方法一:推薦訂閱,根據任務名稱及任務信息描述,系統根據語義檢索算法給出推薦訂閱列表,任務設計人員通過推薦列表訂閱數據。
方法二:語義檢索訂閱。步驟如下:
步驟一 任務設計人員可先選定信息分類、產品設計階段以及數據版本,其中數據版本分所有版和最新版,再輸入要檢索的內容。如選定“成本信息”“概念設計”階段和最新版,輸入要語義檢索的內容為“渦輪噴氣發動機”。
步驟二 在數據庫中查詢出信息分類為“成本信息”、設計階段為“概念設計”且數據版本為最新版的所有數據,形成初始數據集。
步驟三 對輸入的內容“渦輪噴氣發動機”通過2.2.1節的本體的語義檢索算法進行語義擴展,如表1所示,本文選取與“渦輪噴氣發動機”概念相似度大于0.5以上的概念形成擴展集。
步驟四 在初始數據集中模糊查詢出所有任務名稱包含擴展集的所有數據,并按相似度大小排序。
步驟五 根據數據的相似度,任務設計人員選擇需要訂閱的數據。
基于工作流技術的傳統復雜產品協同設計中有很多缺點,比如不同專業設計人員在協同設計過程中的交流困難和協調復雜等問題,這些問題容易導致產品設計效率低下以及產品質量得不到保證。為了克服傳統協同設計中的弊端,本文提出了基于數據訂閱/發布的復雜產品任務協同技術。
2.3.1 數據訂閱/發布機制概念
數據訂閱/發布機制是不同設計人員之間互換信息的一種通信機制,根據2.1節本文將復雜產品信息共分為8種信息類型,4種數據形式。該機制分為數據的發布者(Data Publisher)和數據的訂閱者(Data Subscriber)。數據的發布者將要發布的數據分為不同的信息類別及數據形式,然后選擇需要發布的數據到數據中心而無需知道訂閱者的任何信息。而數據的訂閱者可以從數據中心訂閱一種或多種類型的數據,而不需要知道發布者信息。數據訂閱/發布機制的信息交換模式是一種靈活有效的信息交換方式,將其應用于協同設計,可將大規模的協同設計應用中的各個設計人員聯系起來,能以松耦合的方式進行聯系,從而提高了設計效率。
2.3.2 基于數據訂閱/發布的復雜產品任務協同設計過程
1)基于數據訂閱/發布的任務協同設計過程。
本文選取2個專業設計人員,來描述他們基于語義檢索的數據訂閱/發布驅動復雜產品的協同設計過程。如圖4所示:其中,專業設計人員A與專業設計人員B工作步驟相似,以專業設計人員A為例說明其數據訂閱/發布的流程。

圖4 基于數據訂閱/發布的任務協同設計過程Fig. 4 Collaborative design process based on data subscription/publishing
步驟一 專業設計人員A接到設計任務后,初步設計所需的所有任務參數數據,即任務版本1;
步驟二 專業設計人員A將自己的任務數據選擇發布到數據中心,發布到數據中心的數據可以供其他任務設計人員訂閱;
步驟三 專業設計人員A同時向數據中心通過語義檢索訂閱數據,如檢索“功能信息”,然后系統會把所有與“功能信息”相關的數據從數據庫中檢索出來再返回給用戶訂閱列表,此時專業設計人員A從可供訂閱列表中選擇所要訂閱的數據;
步驟四 專業設計人員A根據訂閱的數據重新設計自己的任務參數,形成新的任務版本2;
步驟五 重復操作步驟二~四,直至所設計的參數越來越逼近目標參數。
2)數據驅動下螺旋式上升的協同設計。
在復雜產品協同設計過程中,專業設計人員在數據訂閱/發布的過程中,可能會產生某個任務的多個版本的設計數據,而這些版本的任務數據可能被其他專業設計人員訂閱,因此存在不同版本的任務數據的保存、融和、刪除等操作。復雜產品任務設計在多個版本的迭代后最終實現數據驅動下的螺旋式上升。
以復雜產品參數設計為例,在經歷數據的多次發布/訂閱后形成新的數據版本,其參數設計也在版本迭代過程中得到不斷的優化,最終實現參數協同設計過程的螺旋式上升。如圖5所示。

圖5 協同設計的螺旋式上升圖Fig. 5 Spiral rise of collaborative design
本文在前端基于JQuery、Bootstrap3、Layui技術,后臺基于Spring、SpringMVC、Mybatis框架技術,數據庫基于Oracle平臺下,實現了基于數據驅動的復雜產品協同設計系統。
本文選取復雜產品航天科學領域的“噴氣發動機設計”為例,詳細介紹了其基于數據驅動的協同設計過程。
復雜產品設計任務采用了多維多粒度的數據描述方式,如圖6所示,復雜產品“噴氣發動機設計”可分為很多不同部件的設計,如“超音速沖壓噴氣發動機設計”“渦輪風扇發動機設計”“亞音速沖壓噴氣發動機設計”等;同時,每項任務都有不同的優先級及任務狀態等信息。而圖7中有產品設計階段和信息分類等信息,這體現了復雜產品信息模型的多維多粒度性。復雜產品采用多維多粒度的數據建模方式可以很好地定義復雜產品設計任務之間的交互。
本文選取復雜產品“噴氣發動機設計”的某一任務“固體火箭發動機設計”為例,來說明其基于語義檢索的訂閱/發布數據過程。
1)發布數據。
任務設計人員在完成自己的任務參數設計后,可以選擇向數據中心發布數據,發布后的數據可以供其他任務設計人員參考訂閱。
2)基于語義檢索的數據訂閱。
如圖7(a)是第一種數據訂閱方式,即根據任務名稱及任務信息描述,系統根據語義檢索算法給出推薦訂閱列表,任務設計人員通過推薦列表訂閱選擇需要訂閱的數據。
如圖7(b)是第二種數據訂閱方式,即任務設計人員通過語義檢索法選擇訂閱的數據。如任務設計人員先選定信息類型為“性能信息”,設計階段為“概念設計”,檢索輸入“渦輪噴氣”,就能語義檢索出所有與“渦輪噴氣”相關的數據,結果按相似度大小排序,供任務設計人員選擇需要訂閱的數據。

圖6 “噴氣發動機設計”多維多粒度的數據描述Fig. 6 Multidimensional and multi-granular data description for “turbojet engines design”

圖7 數據的兩種訂閱方式Fig. 7 Two ways for data-subscription
針對傳統的基于工作流的協同設計模式效率低下且設計人員之間難以協調問題,本文提出了復雜產品“一元三層”數據模型和基于數據驅動的復雜產品協同設計技術,首先對復雜產品以多維多粒度的方式進行數據建模,接著研究了基于語義檢索的協同設計任務數據訂閱技術以及基于數據訂閱/發布的復雜產品任務協同技術。從而有效解決了協同設計中不同任務設計人員之間的交互困難以及任務之間難以協調等問題,實現了產品協同設計過程的螺旋式上升。
數據驅動模式下的協同設計已經成為復雜產品智能制造技術的一項關鍵技術。建立復雜產品統一的數據模型是產品協同設計的前提,本文對復雜產品的多維多粒度的數據建模方式還存在一些不足,比如在產品粒度以及產品信息分類問題上還有待完善。此外,本文的數據類型共有四種:數值、模型、文件、結構型數據。在訂閱文件類型的數據時,如何實現基于文檔內容檢索技術,這樣任務設計人員可以基于文檔內容訂閱所需的數據,這也是今后需要改進的地方。