System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于软件工程,更具体地说,特别涉及基于底层模型语义的验证系统的方法、装置、设备及存储介质。
技术介绍
1、scade同步语言是法国爱斯特尔技术(esterel technologies)有限公司于1995年开发的一种用于工业开发安全关键系统的同步语言。它为开发人员和高可靠性、高安全性系统提供了基于模型的嵌入式开发解决方案,它可以缩短软件开发周期,降低软件开发风险,从而降低开发成本。该公司还开发scade suite用于工业实时嵌入式系统开发。scadesuite的功能比较完善,其中包括:能对scade程序的设计检查、仿真来保证scade程序模型的安全性与可靠性;同时还能分析scad程序的模型覆盖率分析、运行时的时间堆栈;能对scade程序进行建模、建模完成后可生成scade程序代码和对应的c++代码。因此该工具的功能较成熟,但开发使用它需要支付昂贵的费用。自2020年6月开始,ansys公司决定不再给提供免费的license供学术研究。
2、scade同步语言是一种常用的嵌入式系统程序设计语言。scade在航空、航天、交通等安全关键领域的装备研发中同长被用于实现实时嵌入式自动控制系统,这些领域的系统需要具有很高的安全性与可靠性,因此这些系统在投入使用前需要经过严格的形式化验证。目前关于scade同步语言程序的形式化验证的学术研究很少,而且研究成果也不够成熟。随着我国在航天、航空、高铁等领域的快速发展,scade同步语言的使用也越来越广泛。对scade同步语言程序进行模型检测需求越来越大。
3、e
4、元模型是一种在基于模型的软件开发中常用的模型,它是用来描述模型结构的一种模型,元模型定义了模型中各种组件、属性的从属关系与约束,相较于使用自然语言,使用元模型来描述模型结构在标准上更加规范和准确。同时,元模型独立于解析器,为模型的解析提供了更低的耦合度,当需要在模型之间进行数据或信息交换的场合,元模型能够极大的减少设计模型的成本,并且借助emf的其他工具链,可以轻易的将元模型的设计应用到实现上。
技术实现思路
1、为了解决上述技术问题,本专利技术提供了scade模型语义的验证系统的方法、装置、设备及存储介质,可以实现自动化地验证scade模型语义的验证系统的正确性,提高软件产品的可靠性与安全性。
2、本专利技术scade模型语义的验证系统的方法、装置、设备及存储介质的目的与功效,由以下具体技术手段所达成:
3、一种基于底层模型语义的验证系统的方法,包括有以下步骤:
4、s101:基于emf技术,构建scade模型的元模型;
5、s102:按照命名空间分析、类型分析、因果分析、时钟检查、初始化分析的顺序检查scade模型语义;
6、s103:基于语义分析的结果,进而确认scade模型是否满足规范,符合,给出正确的检测结果;不符合,给出相应的报错。
7、在一个优选地实施方式中,在s101中,基于emf技术,构建scade模型的元模型,包括:
8、根据scade模型中关键元素的定义,及其源文件细节,使用emf将scade模型建立为元模型。
9、在一个优选地实施方式中,在s102中,按照命名空间分析、类型分析、因果分析、时钟检查、初始化分析的顺序检查scade模型语义,包括:
10、进行命名空间分析,形成符号表,入栈出栈过程可以发现标识符的使用错误;
11、进行类型分析,对程序进行逐行扫描,检查类型匹配和子类型推导,以及数字字母量的类型推导;
12、进行因果分析,检查f l ow是否存在循环引用,使用循环引用的检测算法;
13、进行时钟检查,以c l ock为类型进行类型匹配和子类型推导;
14、进行初始化分析,检查预定义操作符会导致的de l ay,以及控制块的不同分支对自定义操作符i o的初始化问题。
15、在一个优选地实施方式中,在s103中,基于语义分析的结果,进而确认scade模型是否满足规范;符合,给出正确的检测结果;不符合,给出相应的报错,包括:
16、每种分析按顺序进行,其中之一检查出了错误就会立即停止;
17、每种分析内部,存在多个检查项,这些检查项依次检查或同时进行;
18、也存在一些停止条件,一个检查项出错后会立即停止或另有一些检查出错误后,依然会进行下一个检查项的检查。
19、一种基于底层模型语义的验证系统的装置,包括有模型管理模块(1001)、元模型生产模块(1002)、语义检测模块(1003)与模型验证模块(1004);
20、所述模型管理模块(1001),用于管理输入的scade模型,scade模型输入后,根据上述基于底层模型语义的验证系统的方法,将scade模型进行语义检测;
21、所述元模型生成模块(1002),用于生成scade模型的元模型,按照上述基于底层模型语义的验证系统的方法,根据输入的scade模型生成相应的元模型;
22、所述语义检测模块(1003),按照上述基于底层模型语义的验证系统的方法,检查scade模型语义;
23、所述模型验证模块(1004),按照上述基于底层模型语义的验证系统的方法,给出scade模型的语义检测结果。
24、一种基于底层模型语义的验证系统的设备,包括有处理器(1100)和存储有程序指令的存储器(1101),所述处理器(1100)被配置为在执行所述程序指令时,执行上述的基于底层模型语义的验证系统的方法。
25、一种基于底层模型语义的验证系统的存储介质,其上存储有计算机可读指令,所述计算机可读指令被存储器执行以实现上述的基于底层模型语义的验证系统的方法。
26、现有技术相比,本专利技术具有如下有益效果:
27、1.首先基于emf技术,构建scade模型的元模型,接着按照命名空间分析、类型分析、因果分析、时钟检查、初始化分析的顺序检查scade模型语义,最后于语义分析的结果,进而确认scade模型是否满足规范,如符合,给出正确的检测结果,如不符合,给出相应的报错。该方法填补了目前基于模型的软件开发领域缺乏可用的形式化验证工具的问题,显著提高了软件的可靠性与安全性,降低了软件的测试成本。
28、2.通过按照命名空间分析、类型分析、因果分析、时钟检查和初始化分析的顺序进行检测,覆盖了scade模型的多个方面,这种全面的检测方式能够确保模型在各个层面上都符合规范,从而有效避免潜在的问题,有效降低了本文档来自技高网...
【技术保护点】
1.一种基于底层模型语义的验证系统的方法,其特征在于:包括有以下步骤:
2.根据权利要求1所述的基于底层模型语义的验证系统的方法,其特征在于:在S101中,基于EMF技术,构建SCADE模型的元模型,包括:
3.根据权利要求1所述的基于底层模型语义的验证系统的方法,其特征在于:在S102中,按照命名空间分析、类型分析、因果分析、时钟检查、初始化分析的顺序检查SCADE模型语义,包括:
4.根据权利要求1所述的基于底层模型语义的验证系统的方法,其特征在于:在S103中,基于语义分析的结果,进而确认SCADE模型是否满足规范;符合,给出正确的检测结果;不符合,给出相应的报错,包括:
5.一种基于底层模型语义的验证系统的装置,其特征在于:包括有模型管理模块(1001)、元模型生产模块(1002)、语义检测模块(1003)与模型验证模块(1004);
6.一种基于底层模型语义的验证系统的设备,其特征在于:包括有处理器(1100)和存储有程序指令的存储器(1101),所述处理器(1100)被配置为在执行所述程序指令时,执行权利要求
7.一种基于底层模型语义的验证系统的存储介质,其特征在于:其上存储有计算机可读指令,所述计算机可读指令被存储器执行以实现权利要求1至4任一项所述的基于底层模型语义的验证系统的方法。
...【技术特征摘要】
1.一种基于底层模型语义的验证系统的方法,其特征在于:包括有以下步骤:
2.根据权利要求1所述的基于底层模型语义的验证系统的方法,其特征在于:在s101中,基于emf技术,构建scade模型的元模型,包括:
3.根据权利要求1所述的基于底层模型语义的验证系统的方法,其特征在于:在s102中,按照命名空间分析、类型分析、因果分析、时钟检查、初始化分析的顺序检查scade模型语义,包括:
4.根据权利要求1所述的基于底层模型语义的验证系统的方法,其特征在于:在s103中,基于语义分析的结果,进而确认scade模型是否满足规范;符合,给出正确的检测结果;不符合,给出相应的报错,包括:...
【专利技术属性】
技术研发人员:史建琦,黄滟鸿,林燕秋,
申请(专利权)人:上海丰蕾信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。