基于DEVS SysML Profile的互操作能力可执行建模方法

2016-12-22 21:33刘一洲禹明刚
软件导刊 2016年11期

刘一洲++禹明刚

摘 要:基于建模语言描述的互操作模型并不具备可执行性,这也是其基于建模语言的一个短板。通过机制拓展了的建模语义,使其与仿真可执行语言相互贯通,完成了从SysML建模到基于SysML建模语言的仿真可执行模型。采用DEVS作为仿真规范,从而拓展SysML,通过SysML轻量级扩展机制Profile定义新的构造型,将元类型进行扩展并增加新的属性来构建DEVS SysML Profile。

关键词关键词:SysML;DEVS;Profile机制;可执行性

DOIDOI:10.11907/rjdk.161504

中图分类号:TP302

文献标识码:A 文章编号文章编号:16727800(2016)011002302

作者简介作者简介:刘一洲(1990-),男,上海人,中国人民解放军理工大学指挥信息系统学院硕士研究生,研究方向为C4ISR系统互操作能力;禹明刚(1987-),男,河南郑州人,中国人民解放军理工大学指挥信息系统学院博士研究生,研究方向为C4ISR系统互操作能力。

1 DEV SysML Profile构建

DEVS与SysML有很多共同之处[1]。例如:DEVS原子和耦合对应于SysML中的Block,接口对应于SysML数据流端口;DEVS的状态参数对应于Block的参数属性,而SysML的Constraints可以描绘各个状态参数如何相互联系从而构成系统状态;DEVS耦合模型结构类似于SysML的内部块图(Internal Block Diagrams,IBDs),而组成耦合模型的每个组件对应于IBD的块部件。表1给出了DEVS形式化描述和SysML图形化实体之间的映射关系。

根据DEVS形式化描述与SysML图形化实体之间的映射关系,如上表,构建DEVS SysML profileDEVS的元素作为SysML的stereotypes被加入到SysML中去。DEVS SysML profile用块定义图(Block Definition Diagrams,BDDs)、内部块图(Internal Block Diagrams, IBDs)、参数图(Parametric Diagram, PD)对系统静态结构建模;DEVS SysML profile用状态机、活动图和时序图对系统的动态行为建模。实体间的关联分为4类[2],如:DEVS State与DEVS Internal Transition间的聚合关系;DEVS Model与DEVS间的组成关系;DEVS Coupled与DEVS间的概括关系;以及用文本标注的一般关联关系。另外,模型还给出了元素间的多属性约束。

2 基于SysMLDEVS的互操作能力静态结构建模

上文介绍了DEVS SysML Profile的具体构成,并且详细展示了DEVS形式化元素与SysML的图元实体的相互映射,结合互操作能力元概念模型与互操作能力建模方法[3],可通过SysML将互操作能力与DEVS形式化相互关联起来,实现互操作能力模型的可执行性。

本文主要以静态视角切入,使用DEVS SysML Profile对互操作能力静态结构进行可执行模型的建立。DEVS SysML Profile中,系统结构由块定义图、内部块图、参数图述组成;互操作能力模型中,描述组织业务与作战节点等概念均属系统结构范畴,故上述方法具备通用性。其中,块图的使用是描述互操作能力静态结构的基本构成,其映射关系如表2所示。

内部块图则侧重于描述各节点或系统组成的内部构成,如作战节点可分为作战单元与作战平台,内部块图也可描述节点或系统组成之间的接口连接关系。

参数图的基本作用是针对系统约束的总和,其与互操作概念中的协作章程有异曲同工之妙,协作章程也贯穿于4层元概念中,并且引导各层展开服务、活动、平台等层次的约束。

3 基于SysMLDEVS的互操作能力动态行为建模

SysML描述系统的动态行为由状态机图、序列图、活动图来完成[4]。因此,基于DEVS SysML profile的互操作能力动态行为建模中:①使用序列图来构建服务交互与服务调用顺序,从而描述服务规则对支援服务的影响;②使用状态机图来描述作战节点因作战活动变化所导致的作战状态变化,从而反映活动规则对作战活动的约束;③使用活动图来描述作战活动开展的顺序与规则对作战活动开展的影响。

基于上述思想,结合DEVS SysML Profile提出作战状态、作战活动、服务与其映射关系,如表3所示。

状态机图中的状态与DEVS的状态一一对应,方便其拓展到作战活动互操作中,需注意的一点是:表3并未明确给出DEVS时间推进函数Ta,因作战活动规则隶属于协作章程,则针对具体属性的约束均在协作章程中体现,又因时间推进函数以<>形式拓展到协作章程参数图中。同时,需要针对每个DEVS构造型增加相关约束,比如:状态机图视为一个作战节点的状态转换;作战节点一次只能进行一次状态转换,限制其出现一步两个状态,从而简化仿真难度。

上述使用DEVS SysML Profile描述互操作概念中的作战状态与作战活动,其方法使用的是状态机和活动图,视状态或活动为DEVS原子模型,从而使用原子内部或外部活动来描述其动态行为,但针对互操作资源服务互操作的描述,实验证明活动图与状态机图往往描述并不清晰。

为了描述作战单元提供的服务如何在服务规则引导下实现有序执行[5],往往采用序列图(Sequence Diagram)进行建模[4],如描述服务资源互操作中描述服务交互、描述服务资源模型中的服务时序等。为此,DEVS SysML profile引入了序列图,将DEVS形式化元素引入序列图,使得基于SysML的互操作服务资源模型得以可执行。利用序列图描述服务规则对服务资源的约束,服务资源互操作模型与DEVS SysML Profile的映射关系如表5所示。

上文简单阐述了基于序列图的服务资源约束,然而序列图元中存在多种逻辑关系,服务在组合与使用时存在“消息”的交互,在互操作及DEVS形式化中简化了SysML序列图消息的多样性,化为消息发送与消息接收,目的也是为了简化仿真。

需要关注的是,时序图通过生命线之间消息的发送和接收描述了作战单元的信息交互或服务的请求与回应。但上述并未给出连接生命线的两种消息所应具备的参数。故通过引入phase和sigma参数对状态及时间加以限制,phase给出了作战单元(DEVS原子模型)当前所处的状态,sigma则定义了交互实体发送或接收消息的时间点(目的是为了描述离散事件中的时刻),若sigma的值为inf则意味着原子模型将一直保持当前状态直到某外部消息的到来。

4 结语

本文从建模技术入手进行研究,通过构建互操作能力概念建模层次结构,明确了从互操作元概念模型到互操作应用模型的建模路线,并结合SysML拓展互操作概念构造子,使SysML具备描述互操作概念的能力。同时,基于DEVS SysML Profile构建互操作能力可执行模型,使基于SysML的互操作概念模型具备可执行性。

参考文献:

[1] 江式伟,吕卫民,冯浩源.基于时间 Petri 网的装备体系可靠性建模与仿真[J].系统工程与电子技术,2013,35(4):895899.

[2] BADOUEL E,BERNARDINELLO L,DARONDEAU P.Petri net synthesis[M].Springer Berlin,2016.

[3] BARYLSKA K,BEST E,EROFEEV E,et al.On binary words being Petri net solvable[J].Algorithms and Theories for the Analysis of Event Data (ATAED 2015),2015:115.

[4] HU J,HUANG L,CAO B,et al.Executable modeling approach to service oriented architecture using soaml in conjunction with extended DEVSML[C].2014 IEEE International Conference on Services Computing(SCC),2014:243250.

[5] NIKOLAIDOU M,KAPOS G D,TSADIMAS A,et al.Simulating SysML models:overview and challenges[C].System of Systems Engineering Conference (SoSE),2015:328333.

(责任编辑:孙 娟)