0 引言
隨著企業信息化的深入,產品全生命周期管理(Product Lifecycle Management,PLM)系統在企業中已得到廣泛的實施和應用,并且逐步實現了與其他企業信息系統,如計算機輔助設計(Computer Aided Designing,CAD)、計算機輔助工藝設計(Computer Aided Process Planning,CAPP)、企業資源計劃(EntERPrise Resource Planning,ERP)、客戶關系管理(Customer Relationship Management,CRM)等的集成。PLM系統管理的范圍已不限于設計部門和工藝部門,而是涉及到制造、銷售、財務、售后服務等各個部門。PLM已被定位為面向制造企業、以產品相關數據管理為核心、統一組織數據和過程的信息管理平臺。
數據管理和過程管理是目前PLM系統的兩大核心管理功能。從19世紀60年代~70年代的工程數據管理(Engineering Data Management,EDM)系統,到19世紀80年代~90年代的產品數據管理(Product Data Management,PDM)系統,演變至現在的PLM系統,版本控制機制在工程數據管理中一直處于核心地位。在PLM系統中,工程數據也稱為業務對象。如無特別說明,本文均采用術語“業務對象”特指工程數據。版本控制機制從兩方面保證了業務對象版本狀態演繹:一方面,采用版本圖描述了工程數據不同版本以及版本之問的關系;另一方面,制定了版本操作集合和版本操作約束。
近十多年來,工作流管理及相關技術推動了PLM系統過程管理的規范化和自動化。在PLM系統中,工作流管理把產品數據和相關的過程結合起來,保證企業相關人員在正確的時間、以正確的方式得到正確的任務,從而推動與業務對象有關的業務活動有序地進行。理想的情況是,業務過程中涉及的版本操作能夠遵循版本控制機制的約束,推動PLM系統中業務對象的版本狀態正確演繹。
為保證業務過程中的任務具有執行版本操作的權利,工作流采用訪問控制機制為任務分配版本操作。雖然訪問控制機制能夠防止任務執行未經授權的(版本)操作,卻無法保證業務過程中的版本操作序列與版本控制機制中的版本操作序列相一致,也無法保證版本操作的合規性(業務過程中的版本操作應當合乎版本控制機制中的版本操作約束)。具體來說,版本操作的合規性體現在任務級別版本操作合規性(單個任務中分配的多個版本操作應當滿足版本控制機制規定的版本操作序列)和過程級別版本操作合規性(過程中分配的多個版本操作應當滿足版本控制機制規定的版本操作序列)。
通過對具有代表性的PLM系統,如西門子公司的Teamcenter、PTC的winchil1和清軟英泰的TiPLM系統進行調研,發現目前還沒有全面而有效的措施來解決PLM系統中的版本操作合規性問題,權宜之計是在系統實施的調試階段采用仿真模擬的方法診斷版本操作的合規性問題。采用仿真方法存在以下問題:首先,在調試階段采用仿真方法,系統實施需投人大量的人力,浪費大量的時間;其次,仿真方法無法診斷全部可能結果,在調試階段遺漏的問題使得正式投入運行后的系統存在極大的隱患。
針對版本操作合規性問題,本文描述了版本操作合規性原則,提出了可在業務過程建模階段實施的版本操作合規性檢查解決方案,實現了開源的版本操作合規性檢查框架。來自企業調查問卷的反饋信息證明:研究的問題在PLM系統中具有較強的實際意義,所提出的解決方案以及實現的工具在目前的PLM系統部署實施階段具有潛在的實際應用價值。
1 問題的提出
為了形象地闡述版本操作合規性問題,采用TiPLM系統的一個實際案例。TiPLM系統是清華大學清軟英泰公司自主設計開發的商業PLM系統,目前該系統已在中國大陸地區的100多家大中型企業成功地實施。
圖1所示為采用TiPLM系統特定的工作流建模語言描述的工程圖紙設計與審查業務過程模型。該類業務過程將業務對象的設計和業務對象的審核等業務活動有機組合,最終目標是生成一個已定版的可公開發布的工程圖紙業務對象。該過程的關鍵步驟包括設計、校對、審核、多部門會簽、審批和出圖等。工程圖紙設計后,需要相關責任人員和相關責任部門逐步審查。任何一步審查未通過,均將流程回退至設計任務。根據審查意見,設計人員對設計的業務對象進行修改。
圖1 工程圖設計與審查業務過程
TiPLM系統的數據管理部分采用狀態圖描述版本操作(檢入、檢出和定版等),以及版本操作之間的約束。該狀態圖描述了業務對象從創建到刪除的整個版本操作演繹過程,在此稱之為業務對象版本操作生命周期模型。圖2所示為簡化的TiPLM系統的業務對象版本操作生命周期。
圖2 簡化的TiPLM版本操作生命周期
目前,PLM系統中的工作流管理部分相對獨立,其訪問控制技術仍然沿用傳統的工作流訪問控制機制,即在任務級別分配相應的操作。如圖3所示,在訪問控制機制中,版本操作和其他數據操作混合在一起。
圖3 PLM系統中工作流數據操作杈限分配
當前的訪問控制機制無法解決與業務過程中版本操作分配有關的如下問題:
(1)業務過程中哪些任務需要分配版本操作在業務過程中,某些任務的業務目標與業務對象的版本狀態演繹有關,相應地需要對這些任務分配版本操作,如本業務過程的設計任務和出圖任務等;反之,某些任務與業務對象的版本狀態演繹無關,則不必為這些任務分配版本操作,如本業務過程的審核任務和校對任務等。然而,當前的訪問控制機制無法甄別相應的任務。
(2)分配到任務上的版本操作能否被執行,版本操作能否被執行,與業務對象當前的版本狀態有關,如果業務對象當前的版本狀態不是該版本操作在版本生命周期中的前置狀態,則該版本操作無法被執行。當前的訪問控制機制未考慮版本操作的前置狀態約束,因此無法判斷分配到任務上的版本操作能否被執行。
(3)業務過程如何執行分配的版本操作從而保證業務對象版本狀態正確演繹,當前的訪問控制機制未考慮業務過程處理期問的業務對象版本狀態和業務過程處理后期望的業務對象版本狀態,因此無法保證業務對象版本狀態的正確演繹。
鑒于目前PLM系統的工作流訪問控制機制無法保證業務對象版本操作的合規性,本文提出業務對象版本操作合規性檢查方法,旨在診斷業務過程建模階段任務分配的版本操作是否與版本操作生命周期一致,從而診斷并修正版本操作合規性問題。
2 版本操作合規性檢查
版本操作合規性檢查的解決方案所涉及的基本概念的形式化定義參見文獻。解決方案的思路如下:首先定義標注版本操作的業務過程模型,其次提出標注版本操作的業務過程的語法合規性規則和行為合規性規則。
具體來說,語法合規性檢查,就是直接在標注版本操作的業務過程模型上檢查相應的語法合規性規則是否滿足。對于行為合規性檢查,首先將標注版本操作的業務過程模型轉換為工作流網,然后檢查轉換后的工作流網的合理性,最后基于轉換后工作流網的合理性結果,解釋最初標注版本操作的業務過程的行為合規性。標注版本操作的業務過程轉換為工作流網的轉換規則,以及標注版本操作的業務過程模型的行為合規性規則,與轉換后的工作流網的合理性屬性二者之問的等價性證明參見文獻。
2.1 標注版本操作的業務過程模型
由于不同的PLM系統采用不同的工作流建模語言來描述各自的業務過程模型,采用不同的表示形式來描述業務對象版本操作生命周期,這里首先定義通用的標注版本操作的業務過程模型。標注版本操作的業務過程模型包括:采用工作流網WFnet口描述的業務過程模型、采用狀態變遷圖(state transition diagrams)描述的業務對象版本操作生命周期,以及版本標注信息。其中,版本標注信息包括:①任務上分配的版本操作集合;②任務上設置的業務對象版本狀態對集合。在這里,業務過程模型、業務對象版本操作生命周期和任務上分配的版本操作集合可從現有的PLM系統中直接獲取。此外,引入版本狀態對來描述任務執行前期望的業務對象前置版本狀態和任務執行后期望的業務對象后置版本狀態。版本狀態對描述了任務隱含的業務對象版本演變目標,這些知識可通過與業務專家或專業建模人員溝通獲得。
標注版本操作的業務過程的狀態包括業務過程狀態和業務對象狀態兩部分。特別需要指出的是,標注版本操作的業務過程的初始狀態為業務過程的初始狀態和業務對象版本操作生命周期的初始狀態;標注版本操作的業務過程的結束狀態為業務過程的結束狀態和業務對象版本操作生命周期的某個結束狀態。
標注版本操作的業務過程的版本操作合規性要求:單個任務(局部)中的版本操作序列和整個業務過程(全局)中的版本操作序列,必須與業務對象版本操作生命周期中的版本操作序列一致。
本文從語法和行為兩方面定義標注版本操作的業務過程的版本操作合規性所需的規則。
2.2 語法合規性規則
標注版本操作的業務過程的語法合規性包括六項規則:
語法規則1 版本操作標注一致性。如果某個任務被分配了版本操作,則一定要為該任務指定期望的版本狀態對集合。相應地,如果某個任務指定了期望的版本狀態對集合,則必須為該任務分配版本操作。
從業務層面上理解,當某個任務具有版本演變業務目標時,需對該任務指定期望的版本狀態對同時分配相應的版本操作。如果某個任務沒有版本演變目標,則不分配版本操作。該規則避免了給無關的任務分配版本操作。因此,該規則是保證合理標注版本操作的業務過程的一個重要前提條件。
語法規則2 版本操作分配完備性。分配到任務上的版本操作集合與版本操作生命周期中的版本集合相等,即版本操作生命周期中的所有版本操作都分配到業務過程中的任務上。
該規則從靜態語法角度粗略地保證了分配所有可能的版本操作到業務過程中。
語法規則3 局部版本操作路徑存在性。通過執行分配到任務上的版本操作,該任務能夠將業務對象從期望的前置版本狀態轉換到期望的后置版本狀態。
該規則保證了任務層次的操作序列與業務對象版本操作生命周期中的版本操作序列的一致性。
語法規則4 無局部不可執行操作。在指定的版本狀態對約束下,分配到任務上的每個版本操作至少能夠被執行一次。
該規則保證了無多余的版本操作被分配到任務上。所謂多余的版本操作是指根據任務上指定的狀態對約束,分配到任務上的某些無法執行的版本操作。
語法規則5 無不可執行對象狀態變遷。版本操作生命周期中的任一狀態變遷均被分配給業務過程的某個任務。
版本操作生命周期中的同名操作可以采用狀態變遷來區分。例如,同名操作v對應兩個狀態變遷(s1,v,s3)和(s2,v,s3)。該規則要求業務對象版本操作生命周期的所有狀態變遷均被分配到業務過程中的任務上。
語法規則6 全局版本操作路徑存在性。業務過程中標注的所有狀態對,能夠保證業務對象從版本操作生命周期的初始狀態變遷到某個結束狀態。
該規則從靜態角度粗略地保證分配到過程上的所有狀態對能夠滿足過程的業務對象版本演變目標。
語法合規性從局部的任務角度(語法規則1、語法規則3、語法規則4和語法規則5)及全局的業務過程的靜態語法(語法規則2和語法規則6)上考慮版本操作合規性需滿足的條件,行為合規性則從全局業務過程的動態語義方面考慮版本操作合規性需滿足的規則。
2.3 行為合規性規則
標注版本操作的業務過程的行為合規性包括三項規則:
行為規則1 恰當完成。標注版本操作的業務過程實例完成時,業務過程實例到達結束狀態,相應地,業務對象也達到版本操作生命周期的某個結束狀態。
行為規則2 可完成。對標注版本操作的業務過程實例的任意一個狀態,存在對應的可達狀態,在該可達狀態下,業務過程實例處于結束狀態,同時業務對象也處于版本操作生命周期的某個結束狀態。
行為規則3 無死任務。在業務過程運行時,每個任務都可能被執行。
行為規則4 無未使用的版本操作標注。在業務過程運行時,分配到任務上的每個版本操作都可能被執行為。
3 工具實現
不同的PLM系統采用不同的業務過程建模語言建模業務過程,采用不同的形式描述業務對象版本操作約束。例如,winchill和TiPLM采用狀態機描述版本操作約束,Teamcenter采用規則描述版本操作約束。因此,首先定義通用的標注版本操作的過程模型的XML schema,從而使不同的PLM系統中的業務過程模型、版本操作生命周期和任務上的版本操作標注信息均可轉換成統一的可擴展標記語言(eXtensible Markup Languge,XML)格式,同時采用Java語言開發并實現了版本操作合規性檢查。該英文版的實現已經作為插件集成到著名的開源業務過程分析框架ProM 6.0中。該框架的執行程序、源代碼和相關文檔均可從http://prom.win.tue.nl/research/wiki/prom/start下載。
為了進一步提高該工具的可用性和易用性,在英文版基礎上開發了中文版的版本合規性檢查工具,如圖4所示。與英文版工具相比,中文版工具增加了版本標注的過程模型構造組件,該組件提供人機界面,以支持業務專家和建模人員對業務過程中的任務分配版本操作和版本狀態對。
圖4 版本操作合規性檢查插件功能框架圖
3.1 VWF-net XML Schema
如圖5所示,根節點VWF-net表示標注版本操作的工作流網即VWF net。每個VWF-net節點包括唯一的WF-net節點、唯一的objectLifecyc1e節點和任意數量的Versioning Annotation節點。
圖5 VWF net XML schema
其中:WF-net節點描述工作流網形式的業務流程模型,其子節點net包括變遷節點transition、庫所節點place和弧節點arc。WF-net節點及其子節點遵循工作流網標準口。
ObjectLifecyck節點描述業務對象版本操作生命周期模型,包括節點Object和Lifecycle。Object指明操作的對象類型,Lifecycle描述業務對象版本操作生命周期。為了便于后續擴展,也為了更好地兼容廣泛認可的狀態機XMI格式,采用有限狀態機的Java framework標準XML格式(具體信息見http://unimod.sourceforge.net/fsm-framework.htm1)來描述業務對象版本操作生命周期。當前,采用有限狀態機Java framework標準中的State和StateTransition元素描述對象版本操作生命周期。StateTransition元素表示狀態變遷信息,包括屬性event,guard,name,sourceRef和targetRef。這里,屬性name,sourceRef和targetRef足以描述業務對象狀態變遷信息。同時,保留屬性event和guard以便于后續功能擴充,當前設置屬性event的默認值為*,屬性guard的默認值為false。
VersioningAnnotation元素描述任務的對象版本操作信息,包括三個節點:TransitionRef指定分配版本操作信息的任務,StatePairs捕獲任務執行前期望的版本狀態prestate和任務執行后期望的版本狀態poststate,Operations包括任務上分配的版本操作集合。
3.2 體系結構
如圖4所示,版本操作合規性檢查插件包括三個主要功能模塊:標注版本操作的業務過程模型構造模塊、語法合規性檢查模塊和行為合規性檢查模塊。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:PLM系統中業務對象版本操作合規性檢查的自動實現(上)
本文網址:http://www.guhuozai8.cn/html/consultation/10820619951.html