李 迪,張 柳,張春華,周 楠
(華南理工大學機械與汽車工程學院,廣東 廣州510640)
當前,制造業(yè)產(chǎn)業(yè)鏈布局全球化、消費者需求多樣化以及產(chǎn)品市場周期不斷縮短的趨勢給制造業(yè)企業(yè)帶來重大挑戰(zhàn)[1]。制造業(yè)企業(yè)需建立能夠適應多品種、變批量生產(chǎn)模式的制造系統(tǒng)[2]從而滿足大規(guī)模個性化定制產(chǎn)品需求。制造系統(tǒng)需要具有一定水平的適應性和魯棒性,以確保同時進行多種產(chǎn)品的混流生產(chǎn)[3]。信息物理系統(tǒng)(Cyber-Physical System,CPS)[4]構建了物理空間與信息空間要素相互映射、適時交互、高效協(xié)同的復雜系統(tǒng),實現(xiàn)系統(tǒng)內(nèi)資源配置和運行的按需響應、快速迭代、動態(tài)優(yōu)化。通過將CPS集成到制造場景中,形成信息物理生產(chǎn)線系統(tǒng),可滿足以上需求,實現(xiàn)智能制造[5]。
信息物理生產(chǎn)線系統(tǒng)的開發(fā)覆蓋了機械、電氣、網(wǎng)絡等多個領域,所涉及的信息是多視角、多層次的,在不同的問題域內(nèi)需使用不同工具從不同角度描述系統(tǒng)以進行協(xié)同開發(fā)?;旌袭悩嫷墓ぞ唛g信息交互為系統(tǒng)開發(fā)與集成帶來重大挑戰(zhàn)。采用模型驅動開發(fā)方法[6],將開發(fā)工具的信息模型化,可以有效地降低系統(tǒng)復雜性,提高開發(fā)效率。AutomationML(AML)由自動化技術的主要供應商和研究機構提出,是一種國際標準(IEC 62714),用于存儲和交換不同工程領域的工程數(shù)據(jù)。目前,在生產(chǎn)線系統(tǒng)級別,國內(nèi)外逐漸集中于圍繞AML相關理念與技術對生產(chǎn)系統(tǒng)的信息模型開發(fā)和集成問題進行相關研究。文獻[7]基于AML,通過關注生產(chǎn)系統(tǒng)的資源、工藝、產(chǎn)品三個角度,對螺絲生產(chǎn)線進行信息建模,并對AML在智能制造的數(shù)據(jù)集成領域的應用前景作了展望。文獻[8]采用AML建立生產(chǎn)系統(tǒng)的設備的數(shù)字孿生模型來保存產(chǎn)品全生命周期數(shù)據(jù),以便于進行異構系統(tǒng)間的數(shù)據(jù)交換。文獻[9]采用AML表示CPS資產(chǎn)的AAS模型信息,并進行制造系統(tǒng)的實際驗證。目前雖然基于AML的相關研究取得了一定的成果,但是大部分僅僅面向單一具體應用場景,其展示的建模方法流程適用性不廣;不同工具之間針對同一對象存在重復建模的問題,復用性不強;信息集成環(huán)節(jié)中自動化程度不高、通用性不強,不能實現(xiàn)面向生產(chǎn)線系統(tǒng)多領域的統(tǒng)一化、自動化開發(fā)。
針對現(xiàn)有不足,提出基于AML的信息物理生產(chǎn)線系統(tǒng)模型驅動開發(fā)方法及其架構,將面向生產(chǎn)線系統(tǒng)不同領域開發(fā)工具的信息模型化;通過模型轉換定義模型映射規(guī)則,實現(xiàn)系統(tǒng)開發(fā)過程信息集成的自動化。
為保證所提模型驅動方法應用于生產(chǎn)線系統(tǒng)開發(fā)過程中的精確性和可信度,遵循模型驅動架構(Model-Driven Architecture,MDA)下模型定義的分層架構,將信息物理生產(chǎn)線系統(tǒng)的信息集成架構分為四層,如圖1所示。
圖1 信息物理生產(chǎn)線系統(tǒng)信息集成架構Fig.1 The Information Integration Architecture of Cyber-Physical Production Line System
在M0層,通過使用M1層中提供的領域模型來描述生產(chǎn)線系統(tǒng)。領域模型應符合在M2層中定義的領域特定建模語言(Domain-specific modeling language,DSML)的語法和語義。在語法及語義定義之前,應進行領域概念分析以確定所要定義的DSML的適用范圍。以AML通用核心概念為指導展開元模型層的構建。所建立的元模型需要遵循在M3層中定義的元元模型。元模型構建采用UML類圖的表達方式,在具體實施過程中采用模型集成計算理論[10]提供的相關領域建模工具鏈[11]。
在具體應用中,M1層的領域模型提供了開發(fā)人員可直接使用的領域特定建模概念對系統(tǒng)進行直接描述,能夠避免需求與實現(xiàn)的不一致性。將基于AML概念定義的領域建模語言應用于生產(chǎn)線系統(tǒng)的規(guī)劃調(diào)度問題的功能與性能驗證的具體實現(xiàn)之中。基于此研究問題,開發(fā)了相應的模型轉換器,將領域模型分別轉換為:語義推理工具下的本體模型以便進行規(guī)劃調(diào)度,以及形式化驗證工具下的形式化模型以進行設計時性能驗證。模型轉換器的實現(xiàn)同樣遵循M2層中的語法定義,以領域模型實例作為輸入,通過建立領域模型與本體模型及形式化模型之間的映射規(guī)則實現(xiàn)模型轉換。
模型構建包括元模型及領域模型的構建,采用AML實現(xiàn)。采用AML建模主要基于以下核心概念:
(1)角色類(Role Class,RC),用于定義面向特定領域語義層;(2)接口類(Interface Class,IC),用于定義模型元素之間的關系及引用存儲在文件之外的信息;(3)系統(tǒng)單元類(System Unit Class,SUC),定義可重用的系統(tǒng)組件模板;(4)實例層次(Instance Hierarchy,IH),使用內(nèi)部元素(Internal Element,IE)創(chuàng)建特定應用下的具體實例。
元模型的構建,即DSML定義,由語法及語義定義組成。在實施過程中,DSML語義通過創(chuàng)建AML角色類庫中的語義層實現(xiàn)[12]。DSML語法定義涵蓋生產(chǎn)線資產(chǎn)分類及描述,分別由產(chǎn)品-工藝-資源(Product-Process-Resource,PPR)和資產(chǎn)管理殼(Asset Administration Shell,AAS)組成。
(1)PPR:PPR是針對生產(chǎn)中規(guī)劃和調(diào)度等主要生產(chǎn)環(huán)節(jié)提出的對生產(chǎn)線資產(chǎn)的分類[13],即“產(chǎn)品”、“工藝”、“資源”,如圖2所示。產(chǎn)品是指在生產(chǎn)過程中被生產(chǎn)的商品,按粒度分為原材料、半成品和成品,由資源處理。工藝是指生產(chǎn)中的特定過程,涉及一個或多個步驟的操作,用于描述所有與機械加工、制造、運輸?shù)确矫嫦嚓P的抽象的工藝及其約束,可以產(chǎn)生產(chǎn)品。工藝按粒度分為動作、操作和特征工藝。例如孔工藝(特征工藝),可由鉆孔工藝或沖孔工藝(操作)實現(xiàn)。其中,鉆孔工藝由移動、旋轉等更小粒度工藝(動作)構成。資源是指在生產(chǎn)過程中提供加工能力并參與實際生產(chǎn)過程的實體,按不同粒度還可以進一步劃分為傳感和執(zhí)行單元、設備、工作站,負責執(zhí)行產(chǎn)品所需的工藝流程。
圖2 元模型PPR部分Fig.2 Part of Metamodel:PPR
使用PPR方式進行生產(chǎn)線資產(chǎn)分類,能夠有效地整合生產(chǎn)線系統(tǒng)開發(fā)過程中不同工程領域和階段的軟硬件資源、產(chǎn)品、工藝和工程數(shù)據(jù),使其能夠被有條理地分析?;赑PR描述生產(chǎn)系統(tǒng)具有通用性,所構建的領域模型復用性高。對于新的應用場景,不需要改變元模型而只需要在領域模型層創(chuàng)建繼承于相應概念的模型實例,而其它工具內(nèi)相對應的概念則由模型轉換工具自動生成,避免重復定義,提高自動化程度,保證建模過程的精確性和可信度。
(2)AAS:用于生產(chǎn)線資產(chǎn)描述,提供資產(chǎn)信息以供外部訪問。通過將生產(chǎn)線資產(chǎn)抽象成AAS,生產(chǎn)線資產(chǎn)可借由AAS進行交互,以實現(xiàn)生產(chǎn)線系統(tǒng)的信息物理融合。
在AAS規(guī)范指導下定義的AAS如圖3所示。AAS由目錄清單(Manifest)和子模型(Submodel)組成。其中,目錄清單是AAS的層次結構索引列表,從功能視角提供資產(chǎn)、AAS及各子模型唯一標識供外部訪問;子模型是資產(chǎn)不同方面特性的聚合表示。結構子模型從結構視角描述資產(chǎn)的組成元素的層次,行為子模型從行為視角描述資產(chǎn)內(nèi)部組成元素之間的依賴關系。
圖3 元模型AAS部分Fig.3 Part of Metamodel:AAS
信息物理生產(chǎn)線系統(tǒng)可視為不同層次及不同類型的組件的組合,其領域模型由組件模型和應用模型兩部分組成。組件模型是系統(tǒng)開發(fā)階段對組件的抽象;應用模型是特定應用場景下的具體實例,通過對組件模型的重用及組合實現(xiàn)。
本節(jié)以華南理工大學生產(chǎn)線原型平臺[14]為例進行領域模型構建。生產(chǎn)線原型平臺以U盤的打標和木雕的加工工藝為加工任務,能夠模擬多種生產(chǎn)系統(tǒng)實際加工任務場景。具體地,該平臺由上盒模塊、上蓋模塊、回收模塊、上料模塊、CNC加工模塊、激光打標模塊、包裝模塊及運輸模塊組成,如圖4所示。
圖4 生產(chǎn)線原型平臺Fig.4 Production Line Prototype Platform
該生產(chǎn)線原型平臺涉及的所有組件如表1所示。
表1 生產(chǎn)線原型平臺組件Tab.1 The Components of Production Line Prototype Platform
領域模型的構建按如下步驟進行:
第一步:在AML的系統(tǒng)單元類庫中建立上述組件的組件模型,具體定義AAS下子模型實例。例如,對于帶夾爪的機械臂組件,在靜態(tài)結構子模型下定義機械臂的靜態(tài)信息,如名稱、類型及內(nèi)部組成等;在動態(tài)結構子模型下定義機械臂的動態(tài)可變信息,如運行狀態(tài)、運行時長、不可用時間等;在行為子模型下定義機械臂的組成部分之間的幾何關系以及機械結構依賴關系,如夾爪需安裝在機械臂的末端。
第二步:在AML的實例層次中將實際場景所涉及的產(chǎn)品組件模型、工藝組件模型及資源組件模型進行重用及組合,為模型的內(nèi)部元素添加具體的屬性集合,完成應用模型的構建。
模型轉換是模型驅動開發(fā)中的關鍵技術,通過定義源模型到目標模型的映射規(guī)則實現(xiàn)。本節(jié)通過定義領域模型到本體模型和形式化模型的映射規(guī)則實現(xiàn)模型轉換,從而將規(guī)劃調(diào)度問題及其驗證過程的信息集成到基于AML的統(tǒng)一模型。
本體模型關注生產(chǎn)線系統(tǒng)中產(chǎn)品組件、工藝組件、資源組件的關聯(lián)關系并形成結構化知識網(wǎng)絡。語義推理工具依據(jù)本體模型進行語義推理,將推理信息提供給規(guī)劃調(diào)度工具,實現(xiàn)將產(chǎn)品所需的加工內(nèi)容合理地分配給設備進行生產(chǎn)。采用OWL語言構建本體模型。本體模型構建基于實體(Object),分為兩個層次:實體的類層次和關系層次。實體關系又稱為屬性(Property),分為對象屬性(Object Property)和數(shù)據(jù)屬性(Data Property),分別定義實體與實體關系及實體與數(shù)據(jù)關系[15]。定義領域模型到本體模型的映射規(guī)則時,領域模型內(nèi)的組件模型部分對應本體模型的類層次;領域模型內(nèi)的應用模型部分對應本體模型的實例,其具體映射規(guī)則如表2所示。
表2 應用模型與本體模型實例映射規(guī)則Tab.2 The Mapping Rules between Application Model and Ontology Model Individuals
本體模型的Object Property和Data Property由應用模型中產(chǎn)品組件、工藝組件、資源組件間的關系定義,如表3所示。
表3 本體模型屬性Tab.3 Ontology Model Properties
基于著色Petri網(wǎng)(Coloured Petri Net,CPN)構建生產(chǎn)線系統(tǒng)的形式化模型。CPN可用于檢驗執(zhí)行規(guī)劃調(diào)度命令的生產(chǎn)線邏輯正確性,驗證其功能是否滿足需求并進行性能分析。采用CPN建模主要基于以下概念[16]:庫所(Place),用于定義生產(chǎn)線系統(tǒng)的狀態(tài);變遷(Transition),用于定義使生產(chǎn)線系統(tǒng)狀態(tài)發(fā)生改變的事件;有向弧(Arc),表示變遷方向;令牌標記(Token),用于表示處于某個Place的對象,Token的顏色代表該對象的屬性值;顏色集(Coloured Set),用于定義屬性值的類型。
進行領域模型到形式化模型的轉換時,主要關注領域模型內(nèi)的應用模型部分中:(1)工作站級別的資源組件模型;(2)特征工藝級別的工藝組件模型及(3)成品級別的產(chǎn)品組件模型。由此定義應用模型到形式化模型的映射規(guī)則,如表4所示。
表4 應用模型到形式化模型的映射規(guī)則Tab.4 The Mapping Rules between Application Model and Formal Model
為實現(xiàn)模型開發(fā)驗證流程一體化,提出集建模工具AML Editor、語義推理工具Apache Jena、規(guī)劃調(diào)度工具、形式化驗證工具CPN Tools、集成開發(fā)平臺GME于一體的工具鏈,支持信息物理生產(chǎn)線系統(tǒng)模型驅動開發(fā)方法的實現(xiàn),其工作流程如圖5所示。應用該工具鏈時,遵循模型構建、規(guī)劃調(diào)度、形式化驗證的基本流程,通過模型轉換實現(xiàn)三個階段的信息交互。
圖5 工具鏈Fig.5 The Toolchain
模型轉換基于通用建模環(huán)境(Generic Modeling Environment,GME)。GME是一個可自定義配置的工具集,擁有模塊化、可拓展的架構,并提供了面向第三方工具集成的擴展接口,用于實現(xiàn)各類模型轉換器從而滿足快速工具集成的需求。通過開發(fā)面向建模工具的模型轉換器,實現(xiàn)GME下領域模型的集成;開發(fā)面向語義推理工具的模型轉換器,可將領域模型轉換為本體模型;開發(fā)面向規(guī)劃調(diào)度工具的模型轉換器,根據(jù)規(guī)劃調(diào)度結果更新GME下領域模型;開發(fā)面向形式化驗證工具的模型轉換器,關聯(lián)CPN模板文件和領域模型,將領域模型中的規(guī)劃調(diào)度信息更新到CPN模板文件并將其導出。模板文件預先定義模型的可視化相關的信息,將未知工藝未知產(chǎn)品的模型仿真驗證問題轉換成一組確定的最小化的加工工藝的仿真問題,固定形式化模型的大致結構,降低生成形式化模型的難度。
本節(jié)以木雕產(chǎn)品的加工包裝為例,應用前文提出的基于AML的信息物理生產(chǎn)線系統(tǒng)模型驅動開發(fā)方法及工具鏈進行實施。
(1)在AML Editor中,基于已定義的角色類庫及系統(tǒng)單元類庫中的組件模型,定義基于木雕產(chǎn)品加工包裝的生產(chǎn)線系統(tǒng)應用模型,如圖6所示。
圖6 基于木雕產(chǎn)品加工包裝的生產(chǎn)線系統(tǒng)應用模型Fig.6 Production Line System Application Model Based on The Processing and Packaging of Woodcarving Products
(2)集成開發(fā)平臺GME界面如圖7所示,紅框區(qū)域為插件區(qū),對應模型轉換器的實現(xiàn)。通過GME中的AML Importer插件實現(xiàn)基于AML定義的模型到GME下模型的轉換。
圖7 GME界面Fig.7 GME Interface
(3)通過AML2OWL插件將GME下領域模型轉換為本體模型,以文本形式提供給Apache Jena進行語義推理。
(4)規(guī)劃調(diào)度工具根據(jù)語義推理信息進行規(guī)劃調(diào)度,將規(guī)劃調(diào)度結果保存在數(shù)據(jù)庫中。
(5)通過GME中的PPS2AML插件讀取數(shù)據(jù)庫中信息,同時更新領域模型。
(6)定義CPN模板文件并通過GME中的CPN Importer插件進行模型轉換,創(chuàng)建CPN模型,并為CPN模型元素和領域模型元素定義映射關系。CPN模板文件與領域模型對應。
(7)通過CPN Exporter插件獲取領域模型中規(guī)劃調(diào)度信息并更新CPN模型。
(8)將更新后的CPN模型導出到原有的CPN文件中,在CPN Tools中進行驗證,如圖8所示。若驗證結果理想,則可依據(jù)規(guī)劃調(diào)度結果安排產(chǎn)品的生產(chǎn);若驗證結果不理想,則證明規(guī)劃調(diào)度結果不合理,需將驗證結果返回給規(guī)劃調(diào)度工具,重新觸發(fā)規(guī)劃調(diào)度過程,即上述的第4步,并執(zhí)行后續(xù)過程,直到驗證結果滿足需求。
可見,將所提出方法及工具鏈應用于生產(chǎn)線系統(tǒng)開發(fā)是可行的,能夠實現(xiàn)由模型構建到規(guī)劃調(diào)度再到形式化驗證的完整流程,提高了系統(tǒng)開發(fā)的自動化程度。
這里介紹了基于AML的信息物理生產(chǎn)線系統(tǒng)模型驅動開發(fā)方法及其架構。該方法基于AML概念構建元模型,進而構建領域模型;基于定義的模型映射規(guī)則實現(xiàn)了領域模型到本體模型及形式化模型的轉換,以便進行生產(chǎn)線系統(tǒng)的規(guī)劃調(diào)度問題的功能與性能驗證。開發(fā)的工具鏈能夠實現(xiàn)生產(chǎn)線開發(fā)流程化、模型集成和模型轉換過程的可視化與自動化?;谏a(chǎn)線原型平臺驗證了該方法的合理性及可行性。未來的工作將更多地集中在已開發(fā)工具的完善以及對模型轉換過程進行正確性驗證。