APP下载

一种基于SysML活动图的风险识别方法

2020-08-21王荣陈刚

数字技术与应用 2020年7期
关键词:有向图风险识别关联度

王荣 陈刚

摘要:当前MBSE的研究热点聚焦于系统工程的技术流程领域,而缺乏将早期设计阶段各类工作与技术管理流程工作相结合的研究。但在整个系统的全生命周期里,将风险识别尽量提前到早期階段,可以增强系统设计的健壮性。针对此问题,本文研究了SysML活动图和有向图形式化定义的相似性,提出了活动图转换为有向图的规则;分析了活动网络中活动间相互耦合,会造成单个活动的时间风险在网络中扩散,针对此定义了活动的关联度和影响度,并提出了最大影响度路径和结合统计分析的分级风险环节识别方法。

关键词:SysML活动图;有向图;关联度;影响度;最大影响度路径;风险识别

中图分类号:N945 文献标识码:A 文章编号:1007-9416(2020)07-0059-05

MBSE方法是系统工程领域的一个重要方向,它通过形式化的建模来支持系统全生命期的系统工程活动,包括系统的需求、设计、分析、验证和确认[1]。当前MBSE的研究热点集中在技术流程流域,专注于系统架构的开发。而当前在系统工程的两个组成部分之一的技术管理流程流域,缺乏相关的MBSE研究。在系统工程领域,SysML是最新且被应用得最多的建模语言,被视为MBSE的三大基石之一。针对系统工程中系统建模的特点和需求,SysML提供了可视化、图形化的技术支持,目前在国外已广泛应用于复杂大系统的早期设计阶段——需求分析、功能分析和架构设计。

王松峰研究了基于Petri网的SysML活动图分析与验证方法,提出了SysML活动图转化为相应Petri网可执行模型的6种转换规则,并用Petri网的分析技术对转化后的模型进行仿真与分析[2]。孙博和胡良文提出了一种验证SysML活动图的框架,该框架根据已构建的模型,将多层次活动图分解转换为Spin的输入模型,并对相关子图进行重组和验证,并进行了实验验证[3]。Jun等探讨了利用UML活动图对软件性能进行建模,然后转换为随机Petri网模型,这样在软件开发前期就可以利用Petri网的理论方法进行软件性能评估,改进软件设计中的性能问题[4]。

活动图不仅适于描述具有并发活动的工作流程,而且还可以定义参与到活动的对象及其角色、状态和属性的变化,因此活动图能很完整的描述系统中涉及的各类活动[5]。本文着重于研究SysML活动图与技术管理流程中的风险识别的关联,并提出了一种从SysML活动图识别系统风险的方法。

1 SysML活动图

1.1 SysML与活动图简介

2004年8月OMG发布了由统一建模语言(Unified Modeling Language,UML)衍生的SysML0.8版本,并将SysML作为系统工程领域的标准建模语言[1]。系统工程师在创建系统模型时,SysML便于工程师将其设计思想可视化和形式化,在系统全生命周期中提高与利益相关者的沟通效率和准确性,同时其形式化固有特性为工程师提供了系统级的仿真和验证方法[6]。

活动图中工作流始于开始节点,结束于终止节点,活动之间的转换用流来连接,对象之间的信息用对象流连接,通过一系列控制动作,描述了系统工作时内部的各类动作。因此深入分析活动图和风险环节识别的联系,可以将风险环节识别提前到早期设计阶段,以增强系统规划的健壮性。

1.2 活动图形式化定义

SysML活动图的元素由节点(Node)和边(Edge)组成,节点包括动作节点(Action Node)、控制节点(Control Node)和对象节点(Object Node)。控制节点包括起始节点(Initial Node)、终止节点(Activity Final Node)、决策节点(Decision Node)、合并节点(Merge Node)、分叉节点(Fork Node)和整合节点(Join Node)。边包括对象流(Object Flow)和控制流(Control Flow)。

定义活动图(Activity Diagram,AD):AD=(N,E,C,FL)[7]。其中:

(1)N={A,O,DN,MN,FN,JN,In,AFn}为非空有限的节点集,A={a1,a2,…,ak}表示有限动作节点集,O={o1,o2,…,oh}表示有限对象节点集,DN={d1,d2,…,ds}表示决策节点集,MN={m1,m2,…,mt}表示合并节点集,FN={f1,f2,…,fn}表示分叉节点集,JN={j1,j2,…,jn}表示汇合节点集,分叉节点和汇合节点总是成对出现,In表示初始节点,AFn表示终止节点。对于单终止节点,直接转换为无出度的顶点;对于多终止节点,先合并为单终止节点,再转换为无出度的顶点。

(2)E={e1,e2,…,ew}表示非空边集。

(3)C={c1,c2,…,cw}表示有限转换条件集,而且每个转换条件对应一条边即ci与ei对应。

(4)FL(N×E×C)(E×C×N)表示活动和转换之间的流关系。

活动图的形式化定义,从逻辑视角给理解活动图提供了方法,为从活动图中抽取节点和边奠定了基础。

2 活动图生成有向图

2.1 有向图概述

1736年,欧拉(Euler)在他的一篇论文中讨论了柯尼斯堡七桥问题,由此诞生了一个全新的研究领域图论,经过200多年的发展图论已经应用于很多领域的研究。如图1所示,图D(Directed Graph)是由非空有限顶点集合V(Vertex)和边集合E(Edge)构成,其中E中元素为不同顶点的有序对,称为弧或有向边(Directed Edge)。在D中,与顶点v相关联的边的总数称为顶点v的度(Degree),其中指向顶点v的有向边总数称为入度,背向顶点v的有向边总数称为出度[8]。

如果有向图D具有如下性质:对于D的每对不同顶点,有序对(u,v)和(v,u)中至多有一个是D的有向边,则称D为定向图。若对于所有D的顶点序列W:u=u0、u1、u2、…、uk=v,满足i(1≤i≤k-1)且ui邻接到ui+1,则称W为D的一条链u-v;若一条链u-v中,u和v重合形成闭合的链,则称此链为圈。若一条链u-v中没有重复出现的顶点,则称该链称为一条路。

2.2 转换规则

由活动图的形式化定义可知,活动图包含起始节点和终止节点;活动图中的边表示分别表示对象流和控制流;在可能的场景集合C中,系统活動均会从起始节点以对象流或控制流的形式在终止节点结束,并且起始节点和终止节点不重合,因此在集合C中的所有可能活动流均不会形成闭合的回路。如图2所示,显示了两种典型的活动图,图2(a)显示了一种带有多终止节点的活动图,图2(b)显示了一种是流并行的活动图。

基于活动图和有向图在形式化定义上的相似性,提出活动图转换为有向图的规则,规则:

(1)起始节点转换为无入度的顶点;

(2)对于单终止节点,直接转换为无出度的顶点;对于多终止节点,先合并为单终止节点,再转换为无出度的顶点;

(3)对象流和控制流均转换为单向有向边;

(4)动作节点转换为普通顶点;

(5)对象节点的类型与在模型层级中某处定义的值类型或者信号的名称匹配,无实际功能映射,因此可以将对象节点简化掉;

(6)决策节点、合并节、点分叉节点和整合节点,均不涉及具体系统动作和对象,且合并节点和整合节点有多个入流和一个出流,决策节点和分叉节点仅一个入流和多个出流,因此为简化生成的有向图并提高算法效率,去掉决策节点、合并节、点分叉节点和整合节点。

在基于SysML的工具中,系统模型可以被导出为XML文件。XML是可扩展标记语言(Extensible Markup Language)的简称,被设计为结构化传输和存储数据的语言。因此可以从XML中解析出活动图的各类节点和边,再依据转换规则,将活动图转换为有向图。如图3所示,按照转换规则将图2(b)转换为对应有向图。

3 风险环节识别

3.1 最大影响度路径

技术管理流程是系统工程两个重要的组成部分之一,在系统的全生命周期内,产品和服务的创建和升级均是通过项目的实施来管理的。技术管理流程包括项目规划、项目评估和控制、决策管理、风险管理、质量管理等[9]。系统工程管理计划(System Engineering Management Plan,SEMP) 是技术管理流程中很重要的一个工具,该工具主要用于识别活动、关键事件、工作包和资源,并由此描述工程任务与进度如何被管理和实现的。现有项目控制技术,主要利用活动网络作为规划和控制中介来实现,有两种方法即CMP确定和设计和PERT概率分析和设计;CMP和PERT的核心相似,都由所需活动的集合来表示,主要的区别在于对每个活动完成时间的预测方式不同;在CMP中,活动的时间是固定值,在PERT中,活动时间是以一定假定概率分布的随机变量[9]。

通过分析活动网络的特点,可知活动网络中的活动通常相互耦合在一起,一个活动开始的前提是其上游相关联活动全部完成。CMP和PERT均通过寻找活动网络的关键路径(Critical Path,CP)来计算最短完成时间,而关键路径算法仅仅考虑了时间,没有关注相互耦合的事件网络中任何一个事件出现时间风险,导致该事件时间增加,便会导致风险在网络中扩散,从而不可估量的增加整体时间成本。

针对SEMP没考虑活动网络的耦合问题,定义以活动网络中节点的出度为单个活动的关联度rd(Relation Degree),以关联度来衡量单个活动能直接影响的活动数量;单个活动实际时间成本与计划时间成本的差值为Δt,定义关联度rd与时间成本的差值Δt的乘积为该活动的影响度ID(Impact Degree);定义最大影响度路径(Max Impact Degree Path,MIDP):一条从开始节点到终止节点的路径,此路径节点集合的影响度总和在所有可能路径中最大。

3.2 识别算法

首先在Enterprise Architecture中建立活动图,再导出为XML文件。对该XML文件进行解析,按照转换规则,生成对应有向图。基于此有向图,遍历开始节点和终止节点间的所有路径,计算所有路径上顶点集的关联度rd,给所有顶点随机赋予时间成本差值Δt,计算所可能路径上的影响度和,选择影响度和最大的路径,该路径序列即为该组随机时间成本差值对应的最大影响度路径。鉴于早期设计阶段很难估算单个活动计划时间和实际时间的差值Δt,因此给每个活动赋予随机时间成本差值Δt,通过大量随机试验,统计每次试验中最大影响度路径对应在图的所有可能路径序列矩阵中的行号出现的频次和频率,再由此进行系统风险分析。实际做风险识别时,会依据综合条件将风险环节进行等级划分,不同等级的风险环节会投入不同量的资源做风险管控。本文取频率和90%、75%和60%分别作为一级风险、二级风险和三级风险的划分点去识别风险环节。具体流程如图4所示。

图5显示了带编号的有向图。表1显示了该图起始顶点间所有可能的路径序列。表2显示了6次随机试验的最大影响度路径频率和≥90%的几条路径的频率分布,每次随机试验重复1000000次,从表的方差可知试验结果收敛于6个只和图结构相关的常数,因此这种算法稳定且收敛。从表2可求得该图对应的一级风险环节:1、2和11代表的活动,无二级风险环节,三级风险环节:5代表的活动。

4 结语

本文从SysML活动图的形式化定义,研究了其与有向图的相似性,从而提出了活动图到有向图的转换规则。由于当前缺少将技术流程领域与管理流程领域相结合的MBSE研究,本文尝试将SysML活动图与系统规划控制过程中的风险识别相结合。提出了一套在系统概念设计阶段可以使用的分级风险环节识别方法。但该方法依赖于对大量的随机试验结果的统计分析,因此应用于大型复杂系统会面临巨大的挑战。

对仅有11个节点的有向图,有39条路径需要搜索;仅简化该图的有向边形成如图6所示的新图后,新图需要搜索的路径共有6条。由此可以初步得出结论:当系统活动越多,且活动间耦合程度越深,需要搜索的路径数量越大。而在实际的大型复杂系统中,系统的活动数量往往以百计数,且相互之间耦合度深,因此实际应用中还得考虑可能会出现的组合爆炸问题及针对组合爆炸问题的优化算法。另外随着单个路径上顶点数量的增加,单次随机试验的重复次数须在数量级上随之增加,否则很难保证试验结果的正确性。

参考文献

[1] 国际系统工程协会.系统工程手册[M].张国新,译.北京:机械工业出版社,2017.

[2] 王松锋,熊选东,付建丹,等.基于Petri网的SysML活动图的分析与验证[J].计算机科学,2012(9):138-142.

[3] 孙博,胡良文,马金晶.基于Spin的SysML活动图验证框架[J].Journal of Frontiers of Computer Science and Technology,2014,8(7):836-847.

[4] Juan Pablo Lpez-Grao,Jose Merseguer,Javier Campos.From UML,Activity Diagrams To Stochastic Petri Nets:Application To Software Performance Engineering.ACM SIGSOFT Software Engineering Notes archive,2004,29(1):236-251.

[5] 蘇翠翠.一种基于UML活动图生成测试用例的方法[D].南京:南京邮电大学,2011.

[6] Pascal Graignica,Thomas Vosgienb,Marija Jankovicb,Jen-nifer Berquetc,Nadège Troussierd. Complex System Simulation:Proposition of a MBSE Framework for Design-Analysis Integration. Procedia Computer Science,2013(16):59-68.

[7] 孟令冲,舒坚,黄勤涛,等.基于SysML活动图的测试序列集约简方法[J].计算机工程与应用,2018,54(13):266-270.

[8] Gray Chartrand,Ping Zhang.图论导引[M].范益政,汪毅,龚世才,朱明,译.北京:人民邮电出版社,2007.

[9] Benjamin S.Blanchard,Wolter J.Fabrycky.系统工程与分析[M].李瑞莹,潘星,康锐,译.北京:国防工业出版社,2013.

猜你喜欢

有向图风险识别关联度
有向图的Roman k-控制
超欧拉和双有向迹的强积有向图
关于超欧拉的幂有向图
基于灰色关联度的水质评价分析
H银行企业信贷项目风险评估分析
户外俱乐部活动的风险因素识别与分析
基于灰关联度的锂电池组SOH评价方法研究
基于灰色关联度的公交线网模糊评价
有向图的同构判定算法:出入度序列法
广义区间灰数关联度模型