一种安全协议建模端与验证端的跨平台方法、计算机及存储介质技术

技术编号:27684634 阅读:10 留言:0更新日期:2021-03-17 03:44
本发明专利技术涉及一种安全协议建模端与验证端的跨平台方法,包括如下步骤:获取建模模型的数据;使用XML文件来描述建模模型的数据;使用抽象语法树作为多平台验证器和/或代码生产器的中间表示;建模模型的数据模型传输至所述抽象语法树,并通过脚本文件建立从模型工具到多平台验证器和/或代码生成器的控制流;该安全协议建模端与验证端的跨平台方法、计算机及介质普适性强,且能够保证模型数据流和对验证器和/或编码器的控制流的有效传递不受影响。

【技术实现步骤摘要】
一种安全协议建模端与验证端的跨平台方法、计算机及存储介质
本专利技术涉及计算机
,特别涉及一种安全协议建模端与验证端的跨平台方法、计算机及存储介质。
技术介绍
针对形式化建模和验证套件研制难度大、建模模型和验证器模型之间集成困难、不同验证器模型之间异构程度大等问题,可以从建模和形式化验证模型中抽象出一套通用的表示方法。从具体实现的角度来看,形式化建模和验证套件需要为用户使用图形建模语言建立的前端模型和后端集成的形式化验证器、代码自动生成器等设计一套关联性强、语义明确、易于转换的导出方案。目前的主流的形式化建模和验证套件虽然能够在自己的建模前端和验证器后端之间较好的做到这一点,但其表示格式往往是一种领域特定语言(DomainSpecificLanguage),一方面需要自己的解析方式,另一方面不具有通用性,当用户需要使用既有的建模端配合其它验证器作为后端时,就需要自己实现两类DSL的端到端翻译器(SourceToSourceTranslator),不仅难以保证两类DSL具备语义包含关系,在实现翻译器上也较为困难。因此产生了对普适的从建模前端到验证器后端的跨平台表示格式的需求,需要能够用统一的方式对验证器后端进行集成,同时保证模型的数据流和对验证器的控制流的有效传递不受影响。
技术实现思路
基于此,有必要提供一种普适的从建模模型到验证器的跨平台的方法。本专利技术提供一种安全协议建模端与验证端的跨平台方法,包括如下步骤:获取建模模型的数据;使用XML文件来描述建模模型的数据;使用抽象语法树作为多平台验证器和/或代码生产器的中间表示;建模模型的数据模型传输至所述抽象语法树,并通过脚本文件建立从模型工具到多平台验证器和/或代码生成器的控制流。优选地,所述使用XML文件来描述建模模型的数据包括:确定基于可扩展标记语言从建模模型向验证器的模型表示范式,使用XML元数据和XML属性来标识模型中的数据类型、进程模板、运行状态、公理、初始知识、信道模板、状态结点和迁移的内容;确定基于可扩展标记语言从建模模型向验证器的模型解析流程,对模型自底向上多次扫描以获取数据类型、进程模板、运行状态、初始知识、信道模板、状态结点和迁移的内容,并保持其间的引用关系。优选地,所述扫描包括第一次扫描,第一次扫描时,获取协议中的数据类型、进行模板、运行状态及状态之间的转移边和连线关系。优选地,所述数据类型包括自定义复合数据类型,所述扫描包括第二次扫描,第二次扫描时,确认协议中的自定义复合数据类型的属性和通信方法,确认协议中进程模板的的属性和通信方法。优选地,对于用户自定义的复合数据类型,还可以在标签元素的内部添加属性标签,同时记录属性的类型、标识符和是否是数组属性;所述标签属性为:<Attributetype=""identifier=""isArray=""/>。优选地,所述扫描包括第三次扫描,第三次扫描时,确定协议中的初始知识、该初始知识引用的进程模板、单知识和公钥私钥对;还确认协议中的功能安全性质和信息安全性质。优选地,所述使用抽象语法树作为多平台验证器和/或代码生产器的中间表示包括:确定基于抽象语法树的迁移条件表达式和赋值表达式的描述方法,提供支持多平台后端验证器和/或代码生产器的通用中间表示;确定对中间表示的递归扫描方法,对语法树采用先根和后根遍历结合的方式,提取出适合于多平台验证器和/或代理生成器的条件表达式和赋值表达式语义信息。优选地,所述建模模型的数据模型传输至所述抽象语法树,并通过脚本文件建立从模型工具到多平台验证器和/或代码生成器的控制流包括:确定适合多操作系统脚本命令的通用调用方法,对建模模型根据不同的操作系统采取统一格式的抽象控制流,通过分离控制脚本与建模模型解耦,完成对多种操作系统的验证器和/或代码生产器的命令控制。本专利技术还提供一种计算机,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。本专利技术还提供一种存储有计算机程序的存储介质,所述计算机程序被一个或者多个处理器执行时,使得一个或多个处理器执行如上述任一项所述方法的步骤。由于本专利技术提供安全协议建模端与验证端的跨平台方法普适性强,且能够保证模型数据流和对验证器和/或编码器的控制流的有效传递不受影响。附图说明通过附图中所示的本专利技术优选实施例更具体说明,本专利技术上述及其它目的、特征和优势将变得更加清晰。在全部附图中相同的附图标记指示相同的部分,且并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本的主旨。图1为本专利技术安全协议建模端与验证端跨平台解决方法的架构图;图2为本专利技术优选实施例的转移动作msga=100的AST示意图;图3为本专利技术优选实施例的CTL公司的AST及其转移的图形化实现示意图;图4为本专利技术优选实施例的多平台命令脚本。具体实施方式下面结合附图和具体实施例对本专利技术技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。请参考图1至图4,一种安全协议建模端与验证端的跨平台方法,包括如下步骤:S1、获取建模模型的数据;S2、使用XML文件来描述建模模型的数据;具体地,这种形式化模型的XML范式包含以下部分:使用<Protocolname=">双标签包含一个完整的协议模型及其名称,同时作为该XML文件的树根,对于不同的协议模型,将被组织到不同的XML文件中。使用<ClsddDiaram>双标签包含所有的类图元素,对本专利技术中的图形化建模前端而言,所有功能建模的元素都被组织在类图中。在类图元素内部,使用<UserTypename=""basic=">双标签表达形式化模型中的一种数据类型,数据类型名称不能重复。标签的basic字段标识了该数据类型是否是一个基本数据类型。对于用户自定义的复合数据类型,还可以在标签元素的内部添加形如<Attributetype=""identifier=""isArray=""/>的属性标签,同时记录属性的类型、标识符和是否是数组属性。属性中的类型是已定义的数据类型中的一种,为了方便,在XML文件中不规定引用的type在引用处以前出现过,因此在解析时需要对其进行两次扫描,第一次扫描出所有定义的数据类型的名称,第二次再对具体的自定义复合数据类型的属性部分进行扫描,获取其所引用的数据类型信息。属性的定义在后续的进程模板中是类似的,不在赘述。对于用户自定义的复合数据类型,还可以在标签元素的内部添加形如<MethodreturnType=""name=""achive="">的方法标签,同时记录方法的返回值类型、名称和实现代码。实现代码部分可以用于本文档来自技高网...

【技术保护点】
1.一种安全协议建模端与验证端的跨平台方法,其特征在于,包括如下步骤:/n获取建模模型的数据;/n使用XML文件来描述建模模型的数据;/n使用抽象语法树作为多平台验证器和/或代码生产器的中间表示;/n建模模型的数据模型传输至所述抽象语法树,并通过脚本文件建立从模型工具到多平台验证器和/或代码生成器的控制流。/n

【技术特征摘要】
1.一种安全协议建模端与验证端的跨平台方法,其特征在于,包括如下步骤:
获取建模模型的数据;
使用XML文件来描述建模模型的数据;
使用抽象语法树作为多平台验证器和/或代码生产器的中间表示;
建模模型的数据模型传输至所述抽象语法树,并通过脚本文件建立从模型工具到多平台验证器和/或代码生成器的控制流。


2.如权利要求1所述的安全协议建模端与验证端的跨平台方法,其特征在于,所述使用XML文件来描述建模模型的数据包括:
确定基于可扩展标记语言从建模模型向验证器的模型表示范式,使用XML元数据和XML属性来标识模型中的数据类型、进程模板、运行状态、公理、初始知识、信道模板、状态结点和迁移的内容;
确定基于可扩展标记语言从建模模型向验证器的模型解析流程,对模型自底向上多次扫描以获取数据类型、进程模板、运行状态、初始知识、信道模板、状态结点和迁移的内容,并保持其间的引用关系。


3.如权利要求2所述的安全协议建模端与验证端的跨平台方法,其特征在于,所述扫描包括第一次扫描,第一次扫描时,获取协议中的数据类型、进行模板、运行状态及状态之间的转移边和连线关系。


4.如权利要求3所述的安全协议建模端与验证端的跨平台方法,其特征在于,所述数据类型包括自定义复合数据类型,所述扫描包括第二次扫描,第二次扫描时,确认协议中的自定义复合数据类型的属性和通信方法,确认协议中进程模板的的属性和通信方法。


5.如权利要求4所述的安全协议建模端与验证端的跨平台方法,其特征在于,对于用户自定义的复合数据类型,还可以在标签元素的内部添加属性标签,同时记录属性的类型、标识符和是否是数组属性;所述标签属性为:<Att...

【专利技术属性】
技术研发人员:何锦龙刘知昊王沁煜李勇坚吴志林
申请(专利权)人:广州市智能软件产业研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1