[发明专利]一种软件控制危险分析方法有效

专利信息
申请号: 201711481426.3 申请日: 2017-12-29
公开(公告)号: CN108228455B 公开(公告)日: 2020-06-23
发明(设计)人: 钟德明;孙睿;丁玉新;王灏 申请(专利权)人: 北京航空航天大学
主分类号: G06F11/36 分类号: G06F11/36;G06F9/448
代理公司: 北京路浩知识产权代理有限公司 11002 代理人: 王莹;李相雨
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 软件 控制 危险 分析 方法
【权利要求书】:

1.一种软件控制危险分析方法,其特征在于,包括:

S1,基于目标有限状态软件系统状态机模型转换而成的C语言程序状态机模型,确定中间变量,生成中间语言状态机模型,其中,所述中间语言状态机模型通过所述中间变量的初始值、转移条件、转移前取值和转移后取值进行表征;

S2,基于所述中间变量的初始值、转移条件、转移前取值和转移后取值,处理所述中间语言状态机模型,获取中间语言状态机转移和所述中间变量的取值集合;

S3,基于所述中间变量的变量类型、所述中间变量的取值集合、所述中间变量的初始值和所述中间语言状态机转移,获取SMV程序状态机模型;

S4,基于所述SMV程序状态机模型,在NuSMV模型检测工具中执行SMV程序状态机模型检测程序,输出对所述目标有限状态软件系统状态机模型的检测结果;

其中,所述S1的步骤进一步包括:

S11,基于语句的语法、语义,分析所述C语言程序状态机模型中的赋值语句、IF-ELSE语句和SWITCH-CASE语句,确定所述中间变量,以及所述中间变量的变量类型、初始值、转移条件、转移前取值和转移后取值;

S12,基于所述中间变量的初始值、转移条件、转移前取值和转移后取值,将所述C语言程序状态机模型的状态机语义转化为所述中间语言状态机模型。

2.根据权利要求1所述的方法,其特征在于,所述S2的步骤进一步包括:

遍历所有所述转移前取值和转移后取值,去除死节点,构造所述中间变量的取值集合;

基于所述转移条件,构造中间语言状态机转移。

3.根据权利要求2所述的方法,其特征在于,所述S3的步骤进一步包括:

S31,基于所述中间变量的变量类型和所述中间变量的取值集合,定义SMV程序状态机模型变量;

S32,基于所述中间变量的初始值,确定所述SMV程序状态机模型变量的初始值,定义SMV程序状态机模型起始条件;

S33,基于所述中间语言状态机转移,定义SMV程序状态机转移;

S34,基于所述SMV程序状态机模型变量、所述SMV程序状态机模型起始条件和所述SMV程序状态机转移,确定所述SMV程序状态机模型。

4.根据权利要求1所述的方法,其特征在于,步骤S11中所述中间变量的初始值的确定步骤进一步包括:

若在所述赋值语句中有对所述中间变量的赋值,则以对所述中间变量的初次赋值作为所述中间变量的初始值;

若在所述赋值语句中没有对所述中间变量的赋值,则取随机值作为所述中间变量的初始值。

5.根据权利要求1-4中任一所述的方法,其特征在于,在所述S1的步骤之前,还包括:

基于对应有限状态软件系统的属性信息,利用Stateflow工具,建立所述目标有限状态软件系统状态机模型。

6.根据权利要求5所述的方法,其特征在于,所述基于对应有限状态软件系统的属性信息,利用Stateflow工具,建立所述目标有限状态软件系统状态机模型的步骤进一步包括:

基于所述有限状态软件系统的所有状态属性,在Stateflow中创建对应状态,并基于系统状态的信息,确定状态标签;

基于所述有限状态软件系统的所有状态之间的迁移属性,在Stateflow中创建迁移,并基于系统的迁移信息,确定迁移标签;

基于所述有限状态软件系统的所有数据与事件属性,在Stateflow中创建数据与事件,并根据系统的数据与事件信息,添加数据与事件。

7.根据权利要求5所述的方法,其特征在于,所述目标有限状态软件系统状态机模型为利用Stateflow绘制的逻辑框图;

相应的,步骤S1中具体利用Simulink工具把所述逻辑框图编译转换成所述C语言程序状态机模型。

8.根据权利要求5所述的方法,其特征在于,所述中间变量的变量类型进一步为整型、枚举型和布尔型中任一。

9.根据权利要求3所述的方法,其特征在于,在所述S1的步骤之前,还包括:

基于对应有限状态软件系统的属性信息,利用Stateflow工具,建立所述目标有限状态软件系统状态机模型;

其中,所述中间变量的变量类型进一步为整型、枚举型和布尔型中任一;

其中,若所述中间变量的变量类型为整型,则步骤S31中所述定义SMV程序状态机模型变量的步骤进一步包括:

根据对应整型变量的整型类型,定义所述SMV程序状态机模型变量的变量类型,并根据所述整型变量的连续取值范围,定义对应SMV程序状态机模型变量的取值集合;

若所述中间变量的变量类型为枚举型或布尔型,则步骤S31中所述定义SMV程序状态机模型变量的步骤进一步包括:

根据对应枚举型或布尔型变量的枚举型或布尔型类型,相应定义所述SMV程序状态机模型变量的变量类型,并根据所述枚举型或布尔型变量的离散取值序列,相应定义对应SMV程序状态机模型变量的取值集合。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711481426.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top