本发明专利技术公开一种基于UPPAAL‑SMC对网络物理系统需求做形式化验证方法,包括采用概率性时钟约束规范语言形式表达EAST‑ADL架构模型中网络物理系统CPS的需求模型;将PrCCSL语句输入语法解析器,解析生成抽象语法树AST;遍历抽象语法树AST提取PrCCSL语句中每条关系或表达式语句的关键信息,根据关键信息的内容给每条关系或表达式语句匹配相应模板生成STA模型及其查询语句,生成STAs模型保存为STAs文件,将STAs文件输入整合器,集成网络物理系统的系统行为模型,输出可验证的Net‑STA模型,将可验证的Net‑STA模型调用UPPAAL‑SMC模型的形式化验证引擎Verifyta;Query生成器输出当前查询验证语句至Verifyta,启动Verifyta执行形式化验证。本发明专利技术基于PrCCSL和UPPAAL‑SMC对网络物理系统需求的概率性描述,对需求做形式化验证。
A formal verification method for network physical system requirements based on UPPAAL-SMC
【技术实现步骤摘要】
一种基于UPPAAL-SMC对网络物理系统需求做形式化验证方法
本专利技术涉及数据处理领域,特别涉及一种基于UPPAAL-SMC对网络物理系统需求做形式化验证方法。
技术介绍
功能性及非功能性需求的建模和分析,例如时序约束、能耗约束等,对于网络物理系统(CPS,Cyber-PhsicalSystem)至关重要。EAST-ADL(ElectronicArchitectureandSoftwareTools-ArchitectureDescriptionLanguage,架构描述语言)是一种用于安全性至关重要的网络物理系统设计的领域专用架构语言。概率性时钟约束规范语言(PrCCSL,ProbabilityextensionCCSL)是时钟约束规范语言(CCSL,ClockConstraintSpecificationLanguage)的概率性扩展。EAST-ADL架构模型的时序约束用具有概率性语义的PrCCSL语言去描述,然后PrCCSL语句的语义转换为统计性模型检验工具UPPAAL-SMC的随机性时间自动机(STAs,StochasticTimedAutomata)模型去做模型检查。在EAST-ADL的背景下,很多人研究了EAST-ADL与基于时序约束的形式化验证相整合,然而仅限于系统功能的执行方面而没有考虑如何处理系统的随机性行为。有人用PrCCSL定义了网络物理系统的控制器和环境的执行语义,然后将其语义映射到UPPAAL-SMC模型,用于概率性的模型检查。有人提出使用具有概率逻辑时序的CCSL,通过限制事件发生的可能性的解决方案,实现混合系统(HybridSystem)的随机性分析。目前来说,这些方法缺乏支持工具来实施其形式化验证和模拟的方法。有人提供了一个工具TimePF,用于建模和形式化验证CCSL中时序约束。有人使用TimePF将网络物理系统的时序属性用CCSL描述,并将CCSL语句用具有操作语义的线性时序逻辑(LTL,Lineartemporallogic)解释为用于调度分析的有限状态机。与当前的专利技术相比,这些方法缺乏精确的随机性描述,特别是关于执行期间不同时钟速率的连续动态系统的随机性行为。
技术实现思路
本专利技术的主要目的是提出一种基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,旨在克服以上问题。为实现上述目的,本专利技术提出的一种基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,包括如下步骤:S10在编辑器中使用概率性时钟约束规范语言PrCCSL形式化表示EAST-ADL架构模型中网络物理系统CPS的需求模型,生成PrCCSL语句;S20将PrCCSL语句输入语法解析器,解析生成抽象语法树AST;S30遍历抽象语法树AST提取PrCCSL语句中每条关系或表达式语句的关键信息,根据关键信息的内容给每条关系或表达式语句匹配相应模板生成STA模型及其查询语句,由数个STA模型生成STAs模型,将STAs模型以.xml格式保存为STAs文件,查询语句生成Query生成器;S40将STAs文件输入整合器,集成网络物理系统的系统行为模型,输出可验证的Net-STA模型;S50将可验证的Net-STA模型调用UPPAAL-SMC模型的形式化验证引擎Verifyta;Query生成器输出当前查询验证语句至Verifyta,启动Verifyta执行形式化验证。优选地,所述EAST-ADL架构中CPS网络物理系统模型包括系统架构模型和需求模型,其中系统架构模型中系统行为用功能原型表示,所述S10之前还包括:S01网络物理系统使用EAST-ADL架构模型建模,输出系统架构模型和需求模型,由UPPAAL-SMC模型对系统架构模型的每个功能原型的连续或离散的系统行为进行建模,每个功能原型对应一个时间自动机STA模型,由此网络物理系统的系统行为被表示为Net-STA模型,将其保以.xml格式保存为系统模型文件。优选地,所述S10之后,所述S20之前还包括:S02采用BNF语言描述PrCCSL的语法,调用解析器生成工具ANTLR,构造语法解析器。优选地,所述S20之后,所述S30之前还包括:S03检查抽象语法树AST是否有语法错误,若没有,则进入S30,若有,则返回S10。优选地,转化模式包括PrCCSL模式和PrCCSL+System模式,所述30中将STAs模型以.xml格式保存为STAs文件的步骤包括:S301将STAs模型输入转化器,以获取用户形式化验证需求;S302若获取到用户验证需求,则选择PrCCSL+System模式,将STAs模型输入整合器以集成网络物理系统的系统行为模型,将整合器的输出结果采用.xml格式保存为可验证的STAs文件;若未获取到用户验证需求,则选择PrCCSL模式,将STAs模型以.xml格式保存为STAs文件。优选地,所述根据关键信息的内容给每条关系或表达式语句匹配的相应模板包括关系模板和表达式模板。优选地,所述查询语句包括假设检验、概率估计、仿真、期望值和概率比较五种查询语句,所述Query生成器至少包括以上五种查询语句及其配置参数。优选地,所述网络物理系统CPS的需求模型包括功能需求模型和非功能性需求模型,所述S10的方法具体为:将网络物理系统CPS的功能需求使用PrCCSL语言的互斥、等同和子时钟三种关系或表达式语句表示;将网络物理系统CPS的非功能性需求使用PrCCSL语言的优先和因果两种关系或表达式语句所表示。优选地,还包括S60在Python中调用XMLDOM以解析.xml文件从而生成STA模型,采用Python内置的图形开发界面的库Tkinter为每种PrCCSL语句实现映射模板。本专利技术还公开了一种基于UPPAAL-SMC对网络物理系统需求做形式化验证工具,包括:系统建模模块,用于网络物理系统使用EAST-ADL架构模型建模,输出系统架构模型和需求模型,由UPPAAL-SMC模型对系统架构模型的每个功能原型的连续或离散的系统行为进行建模,每个功能原型对应一个时间自动机STA模型,由此网络物理系统的系统行为被表示为Net-STA模型,将其以.xml格式保存为系统模型文件;表示模块,用于在概率性时钟约束规范语言转化器ProTL的编辑器中使用概率性时钟约束规范语言PrCCSL形式化表示EAST-ADL架构模型中网络物理系统CPS的需求模型,生成PrCCSL语句;构造模块,用于采用BNF语言描述PrCCSL的语法,调用解析器生成工具ANTLR,构造PrCCSL语言的语法解析器;解析模块,用于将PrCCSL语句输入语法解析器,解析生成抽象语法树AST;语法检查模块,用于检查抽象语法树AST是否有语法错误,若没有,则进入生成模块,若有,则返回表示模块;生成模块,用于遍历抽象语法树AST提取PrCCSL语句中每条关系或表达式语句的关键信息,根据关键信息的内容给每条关系或表达式语句匹配相应模板生成STA模型及其查询语句,由数个STA模型生成STAs模型,将STAs模型以.xml格式保存为STAs文件,查询语句生成Query生成器,所述生成模块中包括模式转化子模块,用于将STAs模型输入转化器,以获取用户形式化验证需求,若获取到用户验证需求,则选择PrCCSL+本文档来自技高网...
【技术保护点】
1.基于UPPAAL‑SMC对网络物理系统需求做形式化验证方法,其特征在于,包括如下步骤:S10在编辑器中使用概率性时钟约束规范语言PrCCSL形式化表示网络物理系统CPS的EAST‑ADL的需求模型,生成PrCCSL语句;S20将PrCCSL语句输入语法解析器,解析生成抽象语法树AST;S30遍历抽象语法树AST提取PrCCSL语句中每条关系或表达式语句的关键信息,根据关键信息的内容给每条关系或表达式语句匹配相应模板生成STA模型及其查询语句,由数个STA模型生成STAs模型,将STAs模型以.xml格式保存为STAs文件,查询语句生成Query生成器;S40将STAs文件输入整合器,集成网络物理系统的系统行为模型,输出可验证的Net‑STA模型;S50可验证的Net‑STA模型导入验证器,调用UPPAAL‑SMC模型的形式化验证引擎Verifyta,;Query生成器输出当前查询验证语句至Verifyta,启动Verifyta执行形式化验证。
【技术特征摘要】
1.基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,其特征在于,包括如下步骤:S10在编辑器中使用概率性时钟约束规范语言PrCCSL形式化表示网络物理系统CPS的EAST-ADL的需求模型,生成PrCCSL语句;S20将PrCCSL语句输入语法解析器,解析生成抽象语法树AST;S30遍历抽象语法树AST提取PrCCSL语句中每条关系或表达式语句的关键信息,根据关键信息的内容给每条关系或表达式语句匹配相应模板生成STA模型及其查询语句,由数个STA模型生成STAs模型,将STAs模型以.xml格式保存为STAs文件,查询语句生成Query生成器;S40将STAs文件输入整合器,集成网络物理系统的系统行为模型,输出可验证的Net-STA模型;S50可验证的Net-STA模型导入验证器,调用UPPAAL-SMC模型的形式化验证引擎Verifyta,;Query生成器输出当前查询验证语句至Verifyta,启动Verifyta执行形式化验证。2.如权利要求1所述的基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,其特征在于,所述EAST-ADL架构中CPS网络物理系统模型包括系统架构模型和需求模型,其中系统架构模型中系统行为用功能原型表示,所述S10之前还包括:S01网络物理系统使用EAST-ADL架构模型建模,输出系统架构模型和需求模型,由UPPAAL-SMC模型对系统架构模型的每个功能原型的连续或离散的系统行为进行建模,每个功能原型对应一个时间自动机STA模型,由此网络物理系统的系统行为被表示为Net-STA模型,将其保以.xml格式保存为系统模型文件。3.如权利要求1所述的基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,其特征在于,所述S10之后,所述S20之前还包括:S02采用BNF语言描述PrCCSL的语法,调用解析器生成工具ANTLR,构造语法解析器。4.如权利要求1所述的基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,其特征在于,所述S20之后,所述S30之前还包括:S03检查抽象语法树AST是否有语法错误,若没有,则进入S30,若有,则返回S10。5.如权利要求1所述的基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,其特征在于,转化模式包括PrCCSL模式和PrCCSL+System模式,所述30中将STAs模型以.xml格式保存为STAs文件的步骤包括:S301将STAs模型输入转化器,以获取用户形式化验证需求;S302若获取到用户验证需求,则选择PrCCSL+System模式,将STAs模型输入整合器以集成网络物理系统的系统行为模型,将整合器的输出结果采用.xml格式保存为可验证的STAs文件;若未获取到用户验证需求,则选择PrCCSL模式,将STAs模型以.xml格式保存为STAs文件。6.如权利要求1所述的基于UPPAAL-SMC对网络物理系统需求做形式化验证方法,其特征在于,所述根据关键信息的内容给每条关系或表达式语句匹配的相应模板包括关系模板和表达式模板。7.如权利要求1所述的基于UPPAAL-SMC对网...
【专利技术属性】
技术研发人员:姜恩英,梁天,
申请(专利权)人:中山大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。