黄凤兰 倪枫 刘姜 张敬鸿 拓开慧
摘要:开放组架构框架(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.
(編辑:石 瑛)