一种基于S2ML的安全攸关系统建模方法

文档序号:26139183发布日期:2021-08-03 14:22阅读:66来源:国知局
一种基于S2ML的安全攸关系统建模方法

本发明涉及计算机软件技术领域,尤其是一种基于s2ml的安全攸关系统建模方法。



背景技术:

安全攸关系统是指一旦系统失效,会导致人员伤亡、设备损坏或者环境污染等重大安全事故或不可挽回的灾难性损失的系统。随着计算机技术的发展,安全攸关系统被广泛应用于航空航天、交通运输等领域。针对安全攸关系统的可信性研究也是信息领域的一个研究热点。

自动机在工程领域具有十分广泛的应用,可用于面向对象软件开发项目,建筑设计,机械制造等工程的建模分析,帮助更好的理解和设计工程或系统。随着自动机技术不断发展,自动机的种类越来越丰富,功能也越来越强大。与此同时,测试一个自动机的正确与否也越来越困难。基于此,安全自动机具有其独特的优势,可作为测试程序的输入直接自动化的进行测试验证。为了统一系统工程中使用的建模语言,对象管理组织omg决定在对uml2.0的子集进行重用和扩展的基础上,提出一种新的系统建模语言——sysml(systemsmodelinglanguage)。sysml为系统的结构模型、行为模型、需求模型和参数模型定义了语义。结构模型强调系统的层次以及对象之间的相互连接关系,包括类和装配。行为模型强调系统中对象的行为,包括它们的活动、交互和状态历史。需求模型强调需求之间的追溯关系以及设计对需求的满足关系。参数模型强调系统或部件的属性之间的约束关系。sysml为模型表示法提供了完整的语义。和uml一样,sysml语言的结构也是基于四层元模型结构:元-元模型、元模型、模型和用户对象。元-元模型层具有最高抽象层次,是定义元模型描述语言的模型,为定义元模型的元素和各种机制提供最基本的概念和机制。元模型是元-元模型的实例,定义模型描述语言的模型。元模型提供了表达系统的各种包、模型元素的定义类型、标记值和约束等。模型是元模型的实例,定义特定领域描述语言的模型。用户对象是模型的实例,任何复杂系统在用户看来都是相互通信的具体对象,目的是实现复杂系统的功能和性能。

在sysml的图形化表示中,sysml定义了9种基本图形来表示模型的各个方面,其中提出的状态机图用以描述系统状态的变化,可以直观描述安全攸关系统的行为。但是,sysml状态机不能满足安全攸关系统需求分析中对于安全性的要求。

综上所述,sysml建模语言所创建的自动机不能提供自动测试系统安全性的功能,sysml状态机由于先天的语义缺陷,在建模安全攸关系统方面存在不足。为此提出一种面向安全攸关系统的状态机建模方法,实现面向安全攸关系统的建模与分析,以满足安全攸关系统对安全性的要求。



技术实现要素:

本发明的目的是针对现有技术的不足而设计的一种基于s2ml的安全攸关系统建模方法,采用安全自动机结合sysml状态机的建模方法,使得sysml语言支持对安全攸关系统的建模与分析,满足安全攸关系统对安全性的高要求,

该方法基于安全自动机理论,遵循sysml建模规范,提供构建状态机模型功能,能够建立面向安全攸关系统的基于布尔逻辑的状态描述与状态迁移模型,自动分析用户构建的安全自动机,输出结构化数据,实现面向安全攸关系统的建模与分析,方法简便,成本低廉且安全可靠,较好的解决了sysml的状态机不支持安全攸关系统的建模与分析问题。

本发明的目的是这样实现的:一种基于s2ml的安全攸关系统建模方法,其特点基于安全自动机与sysml状态机结合的safety_sysml建模语言,使得sysml语言支持对安全攸关系统的建模与分析,具体包括以下步骤:

(一)状态属性配置

根据定义的状态属性按下述步骤在状态属性页面定义安全自动机中的状态:

a1:输入状态名;

a2:输入状态值,该状态值必须为布尔表达式。

(二)迁移属性配置

根据定义的迁移属性按下述步骤在迁移属性页面定义安全自动机中的迁移条件:

b1:输入优先级,越小的数字优先级越高,0表示最高级的优先级;

b2:输入迁移条件,该迁移条件必须为布尔表达式。

(三)生成格式数据文件

按下述步骤自动分析自动机以及生成格式数据文件:

c1,建好安全自动机之后,解析安全自动机的状态和迁移信息生成格式文件;

c2,将格式文件转化成以.cvs或.txt为后缀的数据文件进行安全攸关系统的验证。

所述safety_sysml建模语言为基于安全自动机理论(safetyautomatatheory),遵循系统建模语言sysml的建模规范而设计开发的safety_sysml建模语言,其语法和语义定义如下:

(1)s2ml的语法

元素(elements)

s2ml状态机模型定义为一个11-元组sf=(z,t,e,a,z1,e1,a1,tick,s),

其中:z={z1,…,zn}表示n个状态的非空有限集合;t={t1,…,tm}表示m个迁移的非空有限集合;e={e1,…,ek}表示k个输入信号的非空有限集合;a={a1,…,at}表示t个输出信号的非空有限集合;z1∈z表示初始状态;e1∈e表示激活的输入;a1∈a表示激活的输出;tick表示逻辑时钟,用来同步语言中对instant的抽象建模;s表示激活函数,将t的每个过渡ti与输入变量e上的布尔条件和可选的等待条件相关联(当tick被派发时)。

(2)s2ml语义

执行规则

safety_sysml模型要求模型的执行被视为与其环境同步,在同步计算模式中,主要体现为tick事件被派发,活动状态的所有迁出迁移的触发器都被满足,其系统执行规则如下:

当safety_sysml状态图被触发时,检查系统是否处于活动状态,输入变量是否在当前设置下,tick事件是否触发,如果tick事件不触发,那么迁移不执行。如果tick事件触发,迁移条件不满足则迁移不执行,迁移条件满足迁移执行。

如果safety_sysml模型中只存在一个状态转换,则会触发此转换;如果有多个转换,则会触发具有最高优先级的状态转换。在同步计算模式下,状态的常规转换要在tick的一个事件周期内完成,强迁移、弱迁移和即刻迁移要符合定义的语法。

如果safety_sysml模型中没有可以触发的转换,则safety_sysml模型仍处于当前活动状态。

在同步计算模式下,safety_sysml状态模型在tick被派发时,活动状态的所有迁出迁移的触发器都被满足,都处于可发生状态,但是只有优先级最高且满足卫士条件的迁移才可以发生。

本发明与现有技术相比具有自动分析用户构建的安全自动机,输出结构化数据,使得sysml语言支持对安全攸关系统的建模与分析,为安全攸关系统的验证奠定了基础,大大满足了来源众多且不一致,需求复杂程度高的安全攸关系统,以及安全关键软件发展的需求,保证了安全关键软件的正确性,方法简便,成本低廉且安全可靠,充分利用安全自动机和sysml状态机的优势,较好的解决了sysml的状态机不支持安全攸关系统的建模与分析问题。

附图说明

图1为安全自动机的流程示意图;

图2为安全自动机的java开发文件结构页面;

图3为状态属性页面;

图4为迁移属性页面;

图5为生成的格式文件示意图;

图6为csv或.txt文件的格式示意图。

具体实施方式

以下结合附图和具体实施方式对本发明作进一步的详细说明。

实施例1

参阅附图1,本发明采用安全自动机与sysml状态机结合的safety_sysml建模语言,使得sysml语言支持安全攸关系统,其建模与分析具体包括以下步骤:

步骤s101:根据定义的状态属性在状态属性页面定义安全自动机中的状态;

步骤s102:根据定义的迁移属性在迁移属性页面定义安全自动机中的迁移条件;

步骤s103:自动分析自动机,生成格式数据文件以进行下一步的验证。

其中,步骤s101和步骤s102所创建的安全自动机模型需要符合定义的s2ml的语法和语义,具体实现过程如下:

1)支持对安全自动机的建模和分析

参阅附图2,基于eclipse+maven构建的模块开发项目有如下的文件结构:

1-1:module.xml

最重要的配置文件,其中定义了模块的生命周期,命令(command),工具(tool),菜单(contextmenu),图(diagram),视图(view)等内容。

1-2:command包

包含了开发者自己定义的命令,包括创建元素,生成图等。

1-3:propertypage

建模元素的属性配置页面,主要用于修改元素的属性。

2)定义s2ml的语法和语义如下:

2-1:s2ml的语法

元素(elements)

s2ml状态机模型定义为一个11-元组sf=(z,t,e,a,z1,e1,a1,tick,s),

其中:z={z1,…,zn}表示n个状态的非空有限集合;t={t1,…,tm}表示m个迁移的非空有限集合;e={e1,…,ek}表示k个输入信号的非空有限集合;a={a1,…,at}表示t个输出信号的非空有限集合;z1∈z表示初始状态;e1∈e表示激活的输入;a1∈a表示激活的输出;tick表示逻辑时钟,用来同步语言中对instant的抽象建模;s表示激活函数,将t的每个过渡ti与输入变量e上的布尔条件和可选的等待条件相关联(当tick被派发时)。

2-2:s2ml语义

执行规则

safety_sysml模型要求模型的执行被视为与其环境同步,在同步计算模式中,主要体现为tick事件被派发,活动状态的所有迁出迁移的触发器都被满足,其系统执行规则如下:

当safety_sysml状态图被触发时,检查系统是否处于活动状态,输入变量是否在当前设置下,tick事件是否触发,如果tick事件不触发,那么迁移不执行。如果tick事件触发,迁移条件不满足则迁移不执行,迁移条件满足迁移执行。

如果safety_sysml模型中只存在一个状态转换,则会触发此转换;如果有多个转换,则会触发具有最高优先级的状态转换。在同步计算模式下,状态的常规转换要在tick的一个事件周期内完成,强迁移、弱迁移和即刻迁移要符合定义的语法。

如果safety_sysml模型中没有可以触发的转换,则safety_sysml模型仍处于当前活动状态。

在同步计算模式下,safety_sysml状态模型在tick被派发时,活动状态的所有迁出迁移的触发器都被满足,都处于可发生状态,但是只有优先级最高且满足卫士条件的迁移才可以发生。

3)分别在状态属性配置页面和迁移属性配置页面定义安全自动机的状态属性和迁移属性。

参阅附图3,状态属性页面的配置具体过程如下:

3-1:输入状态名;

3-2:输入状态值,该状态值必须为布尔表达式。

参阅附图4,迁移属性页面的配置具体过程如下:

3-3:输入优先级,越小的数字优先级越高,0表示最高级的优先级;

3-4:输入迁移条件,该迁移条件必须为布尔表达式。

所述步骤s103,自动分析自动机,生成格式数据文件的实现过程如下:

103-1:参阅附图5,建好安全自动机之后,解析安全自动机的状态和迁移信息生成格式文件。

103-2:参阅附图6,将格式文件转化成以.cvs或.txt为后缀的文件格式。

上述实施例采用本发明提供的技术方案使得sysml状态机支持对安全攸关系统的建模与分析,为安全攸关系统的建模和验证奠定了一定的基础。以上只是对本发明作进一步的说明,并非用以限制本专利,凡为本发明等效实施,均应包含于本专利的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1