形式化验证系统的制作方法

文档序号:21264496发布日期:2020-06-26 22:37阅读:284来源:国知局
形式化验证系统的制作方法

本发明主要涉及形式化验证领域,尤其涉及一种形式化验证系统。



背景技术:

随着军事战略的不断调整和航天技术的不断进步,seds(spaceelectronicdatasheet,电子数据表单)成为sois(spacecraftonboardinterfaceservices,航天器星载接口业务)领域的工作重点。针对目前实现的星载软件快速集成和测试的需求,seds可以通过工具自动生成星载软件、测试用例以及相关文档,从而减少了星载软件集成、测试、维护时间,并保证各个研制阶段数据的一致性,并且seds一旦形成,其应用通常贯穿于项目开发和运行的各个阶段。因此,seds的功能逻辑一致性和完备性显得尤为重要。

目前主要采用的是测试方式来验证seds的功能逻辑正确性。然而,测试方式只能以列举方式来测试seds的功能逻辑是否正确,并不能涵盖seds的所有状态,因此无法保障软件的正确性和可靠性。



技术实现要素:

本发明的目的是针对上述现有技术的不足提出的一种形式化验证系统,该目的是通过以下技术方案实现的。

具体的,本发明提出了一种形式化验证系统,包括:

seds建模模块,用于依据电子数据表单规范sedsshema文件建立seds模型;

模型转换模块,用于将所述seds模型转换为适合模型检查的形式化模型;

性质规约模块,用于对所述seds模型的功能逻辑的性质进行形式化描述;

形式化验证模块,用于对所述形式化模型和所描述的功能逻辑性质进行形式化验证,得到验证结果。

优选的,如上所述的形式化验证系统,所述seds建模模块,具体用于通过eclipse建模框架读取所述sedsshema文件建立seds模型。

优选的,如上所述的形式化验证系统,所述模型转换模块,具体用于通过语言解析工具从所述seds模型中移除与功能逻辑的性质无关的信息后,再利用转换规则将其转换为形式化模型。

优选的,如上所述的形式化验证系统,所述性质规约模块包括一致性规约单元和完备性规约单元;

所述一致性规约单元,用于利用预设的性质描述语言,对所述seds模型的功能逻辑的一致性进行形式化描述;

所述完备性规约单元,用于利用预设的性质描述语言,对所述seds模型的功能逻辑的完备性进行形式化描述。

优选的,如上所述的形式化验证验证系统,所述一致性的形式化描述用于检查所述seds模型的功能逻辑是否存在矛盾。

优选的,如上所述的形式化验证系统,所述完备性的形式化描述用于检查所述seds模型的功能逻辑是否能够完全无遗漏地刻画所要描述的功能。

优选的,如上所述的形式化验证系统,所述形式化验证模块,具体用于将所述形式化模型和所述所描述的功能逻辑性质输入模型检测工具,以使所述模型检测工具对所述形式化模型和所描述的功能逻辑性质进行形式化验证并输出验证结果。

优选的,如上所述的形式化验证系统,所述验证结果包括模型满足性质的结果和模型不满足性质的结果;

当所述验证结果为模型不满足性质时,所述模型检测工具还会输出反例结果,用户可以根据所述反例结果对所述seds模型进行修正和改进。

由上述第一方面所描述的形式化验证系统,通过将建立完成的seds模型转换为适合模型检查的形式化模型,并对seds模型的功能逻辑的性质进行形式化描述,然后对形式化模型和所描述的功能逻辑性质进行形式化验证,以从数学推理角度,精确地对seds的功能逻辑实现检查,进而保障软件的正确性和可靠性,同时用户还可以根据验证结果发现功能逻辑中存在的冲突或缺陷,并对seds模型中的错误进行修正。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1示出了根据本发明实施例的形式化验证系统结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明采用形式化验证技术来对seds的功能逻辑进行精确检查,以保障软件的正确性和可靠性。

基于此,本发明提出了一种针对seds功能逻辑检查的形式化验证系统,该形式化验证系统可以运行在电子设备(如pc机)上。

图1为本发明提出的形式化验证系统的结构图,如图1所示,该形式化验证系统包括如下模块:

seds建模模块110,用于依据电子数据表单规范sedsshema文件建立seds模型;

模型转换模块120,用于将所述seds模型转换为适合模型检查的形式化模型;

性质规约模块130,用于对所述seds模型的功能逻辑的性质进行形式化描述;

形式化验证模块140,用于对所述形式化模型和所描述的功能逻辑性质进行形式化验证,得到验证结果。

本领域技术人员可以理解的是,本发明对模型转换模块120和性质规约模块130的先后执行顺序不进行限定。

在本实施例中,通过将建立完成的seds模型转换为适合模型检查的形式化模型,并对seds模型的功能逻辑的性质进行形式化描述,然后对形式化模型和所描述的功能逻辑性质进行形式化验证,以从数学推理角度,精确地对seds的功能逻辑实现检查,进而保障软件的正确性和可靠性,同时用户还可以根据验证结果发现功能逻辑中存在的冲突或缺陷,并对seds模型中的错误进行修正。

在一实施例中,所述seds建模模块110,具体用于通过eclipse建模框架读取所述sedsshema文件建立seds模型。

其中,eclipse建模框架(eclipsemodelingframework,emf)属于eclipse插件工具,所述seds模型是以xml形式表示,用来描述系统、设备、软件接口等。seds内容分为三部分:接口描述、协议和程序的说明、文档。

在一实施例中,所述模型转换模块120,具体用于通过语言解析工具从所述seds模型中移除与功能逻辑的性质无关的信息后,再利用转换规则将其转换为形式化模型。

其中,利用语言解析工具分析所述seds模型中的每个类、每个关键对象拥有的行为和属性,对关键信息进行抽取并移除与功能逻辑的性质无关的信息,以保证模型的简洁且不失完整性,最后利用转换规则将其转换为合适的形式化模型。

示例性的,形式化模型可以是有限状态系统、时间自动机等。

在一实施例中,继续参见图1所示,所述性质规约模块130包括一致性规约单元131和完备性规约单元132;所述一致性规约单元131,用于利用预设的性质描述语言,对所述seds模型的功能逻辑的一致性进行形式化描述;所述完备性规约单元132,用于利用预设的性质描述语言,对所述seds模型的功能逻辑的完备性进行形式化描述。

其中,一致性的形式化描述是用于检查所述seds模型的功能逻辑是否存在矛盾。完备性的形式化描述是用于检查所述seds模型的功能逻辑是否能够完全无遗漏地刻画所要描述的功能。

示例性的,性质描述语言可以是ltl(lineartemporallogic,线性时态逻辑)语言。线性时态逻辑(ltl)现今已被广泛运用于计算机科学领域(cs)。它常作为描述系统行为的性质语言,用在程序验证、程序综合与人工智能(ai)等研究方向。

在一实施例中,所述形式化验证模块140,具体用于将所述形式化模型和所述所描述的功能逻辑性质输入模型检测工具,以使所述模型检测工具对所述形式化模型和所描述的功能逻辑性质进行形式化验证并输出验证结果。

其中,模型检测工具(如pat工具)通过模型检测算法进行搜索遍历,得出形式化验证结果。所述验证结果包括模型满足性质的结果和模型不满足性质的结果,并且当所述验证结果为模型不满足性质时,所述模型检测工具还会输出反例结果。

需要说明的是,在验证结果为模型不满足性质时,用户可以根据模型检测工具输出的反例结果对所述seds模型进行修正和改进,以通过模型求精不断完善具体细节,使模型逐步成熟完善。

也就是说,通过分析反例结果对模型进行修正和改进,然后再执行模型转换模块120、性质规约模块130以及形式化验证模块140,直至输出模型满足性质的结果,即seds模型达到理想状态。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个单元或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或模块。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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