黃鳳蘭 倪楓 劉姜 張敬鴻 拓開慧



摘要:開放組架構框架(TOGAF)業務架構作為數據架構、應用架構和技術架構的基準,在企業系統架構設計中占據引導作用。但由于其自身描述形式的局限性,存在無法對系統業務架構框架動態特征進行分析的問題,故提出一種基于ROAD業務架構的著色petri網(CPN)可執行模型生成方法。該方法基于TOGAF業務架構ACF元模型劃分提出的4類模型——規則模型(RM)、組織模型(OM)、活動模型(AM)和數據模型(DM),建立4類模型不同描述形式與CPN建模語言間的對應關系,進而提出以RM,OM,AM和DM為主體的可執行模型五階段建模方法。最后,以幼兒園智能晨檢機器人系統業務架構為例,驗證了所提方法的可行性和有效性。該方法實現了靈活、自動化的CPN可執行模型的生成,打破了業務架構建模語言和CPN建模語言之間的限制。
關鍵詞:系統架構;著色petri網;開放組織架構框架;業務流程;可執行模型
中圖分類號:N 94
文獻標志碼:A
Executable modeling method based on the ROAD-CPN business architecture
HUANG Fenglan,NI Feng,LIU Jiang,ZHANG Jinghong,TUO Kaihui
(Business School,University of Shanghai for Science and Technology,Shanghai 200093,China)
Abstract:The Open Group Architecture Framework(TOGAF)business architecture is abenchmark for data architecture,application architecture and technical architecture,and occupies aguiding role in the design of enterprise system architecture.However,due to the limitation of its description form,the dynamic characteristics of the business architecture cannot be analyzed.A colored petri net(CPN)executable model generation method based on ROAD business architecture was proposed.The method was based on the four types of models proposed by the division of the ACF metamodel of TOGAF business architecture?rule model(RM),organization model(OM),activity model(AM)and data model(DM).The corresponding relations between the different description forms of the four types of models and the CPN modeling language was established.The five-stage modeling method of executable models with RM,OM,AM and DM as the main body was then proposed.Finally,the feasibility of the method was verified by taking the business architecture of the kindergarten intelligent morning inspection robot system as an example.It achieves creation of CPN executable model and breaks the limitations of modeling languages of business architecture and CPN model.
Keywords:system architecture;colored Petri net;the open group architecture framework;business process;executable model
開放組織架構框架(TOGAF)[1]由國際標準權威組織The Open Group制定,是一個體系結構框架。TOGAF能夠為組織設計、評估和構建正確的體系結構,并已成為被廣泛采用的成熟的企業架構框架[2]。它對架構開發過程和架構內容分別給出兩套通用的參考標準[3]:一個可靠的卓有成效的架構開發方法(architecture development method,ADM)[4]和一套元模型架構內容方法(architecture content framework,ACF)[5]。其中,ACF元模型是在TOGAF架構建模過程中起到基石作用并在業務架構與信息系統架構的協同中起到紐帶作用的企業架構模型的關鍵。TOGAF為業務架構階段提供了9個建議步驟和18個備選交付物[1],但是,由于在實際運用中缺少成熟方法、工具和案例的支撐,這些交付物的開發不能充分結合現有成熟的開發模型和方法,難以確保可行性[4]。
為了解決這一問題,文獻[6]通過對TOGAF業務架構ACF元模型的研究,提出了一組基于元模型的描述模型組合劃分的ROAD元架構模型——規則模型(RM)、組織模型(OM)、活動模型(AM)和數據模型(DM),其中,RM用IF-THEN-ELSE和CASE等規則邏輯控制語句來描述;OM用UML協作圖來描述;AM用IDEF0圖來描述;DM用IDEF1x實體關系圖來描述。然而,這并不能達到企業對系統業務架構結構設計的性能進行評估的要求。從本質上講,系統是動態的,組件系統之間的相互作用是根據相應事件發生而觸發,進一步帶動相應系統功能的執行。但以上模型只是對系統動態行為進行靜態描述。
Petri網是由物理學家Petri提出的一種圖形化和數學化建模工具[7-8],它可以對并發、異步、分布式、并行、非正確性和隨機的信息處理系統進行建模[9]。為了進一步提高Petri網的建模效率,高級Petri網模型順勢被提出,包括隨機Petri網(stochastic Petri net,SPN)[10]、時間Petri網(timed Petri net,TPN)[11-12]、模糊Petri網(fuzzy Petri net,FPN)[13]以及著色Petri網(colored Petri net,CPN)[14]等。Petri網可執行模型[15]是對體系結構動態行為驗證和評估的重要手段之一。目前,已經吸引了不少學者對基于petri網的可執行建模方法進行研究,如文獻[16]將IDEF0模型轉換為CPN可執行模型,文獻[17]研究了從IDEF0模型到CPN模型的自動轉換,文獻[18-19]將統一建模語言(unified modeling language,UML)模型轉換為CPN可執行模型,文獻[20]將UML模型轉換為TPN可執行模型,文獻[21]將IDEF1x模型轉換為CPN可執行模型。但是,這些方法僅對單一體系結構建模語言到Petri網建模語言進行映射,缺乏靈活性和擴展性。
基于以上問題,本文對文獻[6]的工作進一步擴展,將以不同建模語言間的語義對應關系為基礎,充分考慮RM,OM,AM和DM描述語言的不同表述特性以及CPN模型的結構和規則描述方式、顏色集定義方式,進而建立ROAD業務架構體系結構的CPN可執行模型,從而打破單一建模語言向Petri網模型轉換的限制,實現ROAD模型的動態仿真和評估。
CPN Tools[22]是一套CPN的編輯、仿真和分析工具,對模型所生成的可達圖[23]和狀態空間報告進行分析,可以檢測可執行模型數據一致性和操作一致性,如檢測模型是否存在死循環、死鎖、狀態空間爆炸等問題[24-26]。故本文將使用CPN Tools進行建模。
1 ROAD-CPN建模方法
ROAD元架構模型包括RM,OM,AM,DM這4個部分,其中:RM使用IF-THEN-ELSE和CASE等規則邏輯控制語句來描述;OM使用UML協作圖來描述;AM使用IDEF0圖來描述;DM使用IDEF1x實體關系圖來描述。CPN模型則包括庫所、變遷、顏色集、弧表達式函數、警衛函數等組成單元。所以,創建從ROAD元架構4類模型到CPN模型的映射關系,便是創建不同建模語義之間的對應關系,如表1所示。
以不同建模語言間的語義對應關系為基礎,充分考慮不同種語言的各自表述特點以及CPN模型的分層結構、規則表述、顏色集定義方式,可以將可執行模型建模過程劃分為5個階段。
第1階段:調研系統需求。
依據ROAD元架構模型中的OM使用UML協作圖表達,其中包括對象、連接、消息元素,首先明確系統設計建模的目的、模型邊界、粒度要求,然后確定模型各個元素的底層關系。
第2階段:確定模型結構。
依據ROAD元架構模型的AM,以活動模型IDEF0圖層次結構作為CPN模型分層結構的依據,構建CPN模型框架,并給出IDEF0模型與CPN模型的定義,再將活動模型IDEF0圖中元素映射到CPN模型,如圖1所示。
定義1 M IDEF0=(In,Out,Con,M,Act,As)
第3階段:定義顏色集。
以DM的IDEF1x實體關系圖的結構定義CPN模型的顏色集Σ。其中,關系圖中的數據屬性映射為簡單顏色集,數據實體映射為復合顏色集。并且為了確保ROAD業務架構模型與CPN模型之間數據的一致性和可追溯性,復合顏色集名稱必須采用DM中的實體名命名,復合顏色集中的各個子顏色集名稱也以DM中歸屬于該實體的各個屬性名命名。
第4階段:建立底層變遷結構。
以ROAD元架構模型的RM中操作活動的規則描述建立CPN模型底層模型的變遷結構。
RM中用IF-THEN結構化語言描述的各條規則對應成每個變遷的模版化結構。這些變遷結構的建立過程應該遵循以下4步:
a.為了便于查詢,使用規則名稱命名變遷名稱。
b.規則條件關鍵字IF之后的數據實體對應具有相應顏色標簽的變遷前集庫所,即輸入端口庫所、變遷輸入弧函數。
c.將IF條件寫入對應變遷的警衛函數中,作為變遷的觸發條件。
d.規則條件關鍵字THEN之后出現的數據實體對應成后集庫所,即輸出端口庫所,規則輸出結果寫成變遷輸出弧函數。
將以上步驟模版化地應用于建立CPN模型中的每個變遷結構。經過以上4個階段,整個CPN建模過程基本完成。
第5階段:驗證模型行為。
根據ROAD元架構模型中包含的AM的流程軌跡,再結合CPN模型執行記錄和仿真報告、圖表,進而核實驗證系統的CPN可執行模型的邏輯行為的正確性。例如,以AM的IDEF0模型中輸入輸出信息來驗證CPN模型運行過程中產生的邏輯行為發生序列OG(occurrence graph)圖,驗證可執行模型的邏輯行為是否與預期的動態行為相符。
綜上所述,由ROAD業務架構模型到CPN可執行模型的建模過程這5個階段如圖2所示。
2幼兒園智能晨檢機器人業務架構建模
自新冠肺炎疫情爆發以來,防疫智能機器人與醫療技術的有效結合在抗議過程中起到了非常重要的作用。針對智慧學校這一需求,再結合疫情防控指導工作,以及AI防疫機器人在疫情期間的突出表現,越來越多的幼兒園選擇具備AI智能的晨檢機器人為幼兒做好防疫晨檢。
2.1幼兒園智能晨檢機器人系統ROAD業務架構建模
幼兒園防疫智能晨檢機器人的功能分解如圖3所示。以“體溫檢測”系統(簡稱TD系統)為例,基于ROAD元架構模型對該系統的業務架構建模為4部分,得到體溫檢測功能的業務組織模型、業務活動模型、業務數據模型、業務規則模型,分別如圖4~6、表2所示。其中,圖6中Number為數值,String為字符串,Datetime為時間,Boolean為布爾值。AM元素說明如表3所示。
2.2幼兒園智能晨檢機器人系統CPN業務架構建模
現以幼兒園防疫智能晨檢機器人的“體溫檢測”功能ROAD模型為例,進一步說明ROAD模型到CPN可執行模型的建模過程。
建模第1階段,調研系統需求。本文限于篇幅,不作詳述。
建模第2階段,確定模型結構。如圖7(a)所示,依據ROAD元架構模型AM的A0層,可設置CPN模型的頂層頁面,以TEMPERATURE_CHECK為變遷。如圖7(b)所示,將A1,A2,A3層映射為CPN模型的子層,其中:活動Identity_verification,Check_temperature,Input_temperature作為變遷;活動節點之間的輸入輸出關系作為弧線;控制要素Face_recognition、輸入信息Basic_information和Temperature、輸出信息display_information和Temperature_report作為庫所。
建模第3階段,以DM的IDEF1x實體關系圖的結構定義CPN模型的顏色集。在DM中列舉了7個實體Face_recognition,Basic_information,Stu-dent_information,Temperature,Student_temperature,Temperature_report,Display_information之間等關系和各自包含的屬性定義。相應地,在CPN模型中嚴格遵照DM中數據結構定義各個顏色集,列舉其中2個實體顏色集定義如表4所示。
建模第4階段,建立底層變遷結構。RM中用IF-THEN結構化語言描述的各條規則來描述TD系統在各種情況下可能觸發的所有行為。列舉其中2條規則,如表5所示,規則RULE_Identity_verification和RULE_Check_temperature,將這些規則分別寫到對應的變遷Identity_verification和Check_temperature上,如圖7(b)所示。
建模第5階段,驗證模型行為。本文關注系統2個層面的一致性場景驗證:a.數據層的一致性驗證,即關注單個學生數據輸入與信息庫數據之間是否一致;b.操作層的一致性驗證,即關注當同時有多個學生進行“體溫檢測”并發使用一份數據時,是否能讀到相匹配的數據。研究方式為進行學生依次檢測和多個學生并行檢測,比較兩種操作返回結果是否一致。
為了驗證該建模方法的可行性,首先描述了對TD系統的ROAD業務架構模型進行可執行CPN建模的詳細過程,實現了ROAD業務架構模型的可執行化。可執行建模結果如圖7所示。然后,將“兩名學生進行入園體溫檢測”的案例數據作為CPN模型的初始數據,使之運行得出對應的結果和狀態空間報告數據。其中,該兩名同學在TD系統中會通過初始信息錄入姓名、編號和體溫,分別為“姓名:Anne;編號:1;體溫:39℃”和“姓名:Jeya;編號:2;體溫:37℃”。預期結果是體溫值大于37℃時會體溫警報,并在電子屏幕上顯示姓名信息,而體溫值小于或等于37℃時將傳輸體溫正常報告。最后,對CPN運行結果和狀態空間報告數據進行分析。該實驗的CPN模型運行結果如圖8所示,結果顯示體溫為39℃的Anne同學觸發了體溫警報和在電子屏幕上顯示姓名信息;Jeya同學則得到體溫正常報告。分析該運行結果可知,此模型運行結果與預期結果數據和行為均一致。該CPN模型導出的狀態空間報告如圖9所示,該報告顯示了模型的家性、活性和公平性。對活性進行分析可以得知,該模型中死標識(Dead Markings)數量為0,即不存在未啟用的綁定元素;死變遷(Dead Transition Instances)數量為0,即存在標識中開始并包含一個變遷實例的發生序列。結合運行結果和狀態空間報告可知,模型中不存在死循環、死鎖及狀態空間爆炸等情況。
遵循以上5階段建模方法,由TD系統的ROAD業務架構模型建立了可執行的CPN模型,并且驗證了模型與預期系統的數據一致性和邏輯行為一致性,說明這套建模方法和步驟是可行的、有效的。
3結 論
在研究TOGAF業務架構模型描述與CPN建模語言兩者之間語義對應關系的基礎上,提出了一種基于ROAD元架構模型的CPN可執行模型生成方法。由于對ROAD元架構4類模型的描述形式不一樣,故實現了多種不同體系結構模型語言到CPN建模語言的轉換,并支持TOGAF業務架構模型的動態行為檢驗和評價。本文未考慮復雜大規模ROAD模型對CPN模型轉換以及可執行建模效果的影響,這將需要進一步研究。此外,跨越多種建模語言體系的語義關系嚴格對應及其完全形式化定義等研究議題仍具有挑戰性,需進一步深入研究。
參考文獻:
[1] ZHANG L J. Big services era: global trends of cloud computing and big data[J]. IEEE Transactions on Services Computing, 2012,5(4): 467–468.
[2] MEI M, ANDRY JF. The alignment of business process in event organizer and enterprise architecture using TOGAF[J]. JUTI:Jurnal Ilmiah Teknologi Informasi, 2019, 17(1): 21–29.
[3] 倪楓. SOA 敏捷架構的 TOGAF 層次化迭代建模 [J].上 海理工大學學報, 2018, 40(4): 364–370.
[4] TAO Z G, LUO Y F, CHEN C X, et al. Enterprise application architecture development based on DoDAF and TOGAF[J]. Enterprise Information Systems, 2017, 11(5): 627–651.
[5] 陳長新, 王明哲, 宋阿妮 . 利用 DoDAF 開發 TOGAF 定 義的企業應用架構設計 [J]. 計算機與數字工程 , 2013, 41(5): 829–834.
[6] 倪楓, 鐘璐, 王波. 基于 ROAD 元架構的企業系統業務架 構建模 [J]. 上海理工大學學報, 2017, 39(3): 262–268.
[7] 喬 嘉 林 , 黃 向 東 , 楊 義 繁 , 等 . 基 于 著 色 Petri 網 的 HDFS 數 據 一 致 性 建 模 與 分 析 [J]. 軟 件 學 報, 2021, 32(10): 2993–3013.
[8] YAN Y Y, CHEN Z Q, LIU Z X. Semi-tensor product approach to controllability and stabilizability of finite automata[J]. Journal of Systems Engineering and Electronics, 2015, 26(1): 134–141.
[9] MURATA T. Petri nets: properties, analysis and applications[J]. Proceedings of the IEEE, 1989, 77(4): 541–580.
[10] TALEB-BERROUANE M, KHAN F, AMYOTTE P. Bayesian Stochastic Petri Nets (BSPN)?a new modelling tool for dynamic safety and reliability analysis[J]. Reliability Engineering & System Safety, 2020, 193: 106587.
[11] SHAILESH T, NAYAK A, PRASAD D. Transformation of sequence diagram to timed Petri net using Atlas Transformation Language metamodel approach[J]. Journal of Software:Evolution and Process, 2022, 34(1): e2412.
[12] YU W Y, JIA M H, FANG X W, et al. Modeling and analysis of medical resource allocation based on Timed Colored Petri net[J]. Future Generation Computer Systems, 2020, 111: 368–374.
[13] LIU H C, YOU J X, LI Z W, et al. Fuzzy Petri nets for knowledge representation and reasoning: a literature review[J]. Engineering Applications of Artificial Intelligence, 2017, 60: 45–56.
[14] DRAKAKI M, TZIONAS P. A colored petri net-based?modeling method for supply chain inventory management[J]. SIMULATION, 2022, 98(3): 257–271.
[15] RIBAS M, FURTADO CG, DE SOUZA JN, et al. A Petri net-based decision-making framework for assessing cloud services adoption: the use of spot instances for cost reduction[J]. Journal of Network and Computer Applications, 2015, 57: 102–118.
[16] 李大喜, 楊建軍, 許勇, 等. 基于 IDEF0 和 UML 的空基反 導 軍 事 概 念 模 型 [J]. 系 統 仿 真 學報 , 2014, 26(5): 969–974.
[17] 周小舟. IDEF0 與 CPN 的自動轉換方法研究 [J].計算機 與數字工程, 2012, 40(4): 42–44,125.
[18] SOARES J A C, LIMA B, FARIA J P. Automatic model transformation from UML sequence diagrams to coloured petri nets[C]//Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development. Funchal, Portugal: SciTePress, 2018: 668–679.
[19] MEZIANI L, BOUABANA-TEBIBEL T, BOUZAR- BENLABIOD L, et al. From Petri Nets to UML: a new approach for model analysis[M]//BOUABANA-TEBIBEL T, BOUZAR-BENLABIOD L, RUBIN S H. Theory and Application of Reuse, Integration, and Data Science. Cham: Springer, 2019: 52–68.
[20] SHAILESH T, NAYAK A, PRASAD D. An UML based performance evaluation of real-time systems using timed petri net[J]. Computers, 2020, 9(4): 94.
[21] 秦江濤. 基于 Petri 網的生產系統建模與分析研究 [J].上 海理工大學學報, 2017, 39(4): 358–367.
[22] DWORZA?SKI L W, LOMAZOVA I A. CPN tools- assisted simulation and verification of nested Petri nets[J]. Automatic Control and Computer Sciences, 2013, 47(7): 393–402.
[23] MA Z Y, TONG Y, LI Z W, et al. Basis marking representation of petri net reachability spaces and its application to the reachability problem[J]. IEEE Transactions on Automatic Control, 2017, 62(3): 1078–1093.
[24] HAN L B, XING K Y, CHEN X, et al. A Petri net-based particle swarm optimization approach for scheduling deadlock-prone flexible manufacturing systems[J]. Journal of Intelligent Manufacturing, 2018, 29(5): 1083–1096.
[25] XIANG D M, LIU G J, YAN C G, et al. Detecting data inconsistency based on the unfolding technique of petri nets[J]. IEEE Transactions on Industrial Informatics, 2017,13(6): 2995–3005.
[26] LIU C, ZENG Q T, DUAN H, et al. Petri net based data- flow error detection and correction strategy for business processes[J]. IEEE Access, 2020, 8: 43265–43276.
(編輯:石 瑛)