CN111338948B - 形式化验证系统 - Google Patents
形式化验证系统 Download PDFInfo
- Publication number
- CN111338948B CN111338948B CN202010113873.9A CN202010113873A CN111338948B CN 111338948 B CN111338948 B CN 111338948B CN 202010113873 A CN202010113873 A CN 202010113873A CN 111338948 B CN111338948 B CN 111338948B
- Authority
- CN
- China
- Prior art keywords
- model
- seds
- formal
- functional logic
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种形式化验证系统,包括SEDS建模模块,用于依据电子数据表单规范文件建立SEDS模型;模型转换模块用于将SEDS模型转换为适合模型检查的形式化模型;性质规约模块用于对SEDS模型的功能逻辑的性质进行形式化描述;形式化验证模块用于对形式化模型和所描述的功能逻辑性质进行形式化验证,得到验证结果。本发明通过将SEDS模型转换为形式化模型,对SEDS模型的功能逻辑的性质进行形式化描述,对形式化模型和性质描述进行形式化验证,以从数学推理角度对SEDS的功能逻辑实现检查,进而保障软件的正确性和可靠性,同时用户还可以根据验证结果发现功能逻辑中存在的冲突或缺陷,并对SEDS模型中的错误进行修正。
Description
技术领域
本发明主要涉及形式化验证领域,尤其涉及一种形式化验证系统。
背景技术
随着军事战略的不断调整和航天技术的不断进步,SEDS(Space Electronic DataSheet,电子数据表单)成为SOIS(spacecraft onboard interface services,航天器星载接口业务)领域的工作重点。针对目前实现的星载软件快速集成和测试的需求,SEDS可以通过工具自动生成星载软件、测试用例以及相关文档,从而减少了星载软件集成、测试、维护时间,并保证各个研制阶段数据的一致性,并且SEDS一旦形成,其应用通常贯穿于项目开发和运行的各个阶段。因此,SEDS的功能逻辑一致性和完备性显得尤为重要。
目前主要采用的是测试方式来验证SEDS的功能逻辑正确性。然而,测试方式只能以列举方式来测试SEDS的功能逻辑是否正确,并不能涵盖SEDS的所有状态,因此无法保障软件的正确性和可靠性。
发明内容
本发明的目的是针对上述现有技术的不足提出的一种形式化验证系统,该目的是通过以下技术方案实现的。
具体的,本发明提出了一种形式化验证系统,包括:
SEDS建模模块,用于依据电子数据表单规范SEDS Shema文件建立SEDS模型;
模型转换模块,用于将所述SEDS模型转换为适合模型检查的形式化模型;
性质规约模块,用于对所述SEDS模型的功能逻辑的性质进行形式化描述;
形式化验证模块,用于对所述形式化模型和所描述的功能逻辑性质进行形式化验证,得到验证结果。
优选的,如上所述的形式化验证系统,所述SEDS建模模块,具体用于通过Eclipse建模框架读取所述SEDS Shema文件建立SEDS模型。
优选的,如上所述的形式化验证系统,所述模型转换模块,具体用于通过语言解析工具从所述SEDS模型中移除与功能逻辑的性质无关的信息后,再利用转换规则将其转换为形式化模型。
优选的,如上所述的形式化验证系统,所述性质规约模块包括一致性规约单元和完备性规约单元;
所述一致性规约单元,用于利用预设的性质描述语言,对所述SEDS模型的功能逻辑的一致性进行形式化描述;
所述完备性规约单元,用于利用预设的性质描述语言,对所述SEDS模型的功能逻辑的完备性进行形式化描述。
优选的,如上所述的形式化验证验证系统,所述一致性的形式化描述用于检查所述SEDS模型的功能逻辑是否存在矛盾。
优选的,如上所述的形式化验证系统,所述完备性的形式化描述用于检查所述SEDS模型的功能逻辑是否能够完全无遗漏地刻画所要描述的功能。
优选的,如上所述的形式化验证系统,所述形式化验证模块,具体用于将所述形式化模型和所述所描述的功能逻辑性质输入模型检测工具,以使所述模型检测工具对所述形式化模型和所描述的功能逻辑性质进行形式化验证并输出验证结果。
优选的,如上所述的形式化验证系统,所述验证结果包括模型满足性质的结果和模型不满足性质的结果;
当所述验证结果为模型不满足性质时,所述模型检测工具还会输出反例结果,用户可以根据所述反例结果对所述SEDS模型进行修正和改进。
由上述第一方面所描述的形式化验证系统,通过将建立完成的SEDS模型转换为适合模型检查的形式化模型,并对SEDS模型的功能逻辑的性质进行形式化描述,然后对形式化模型和所描述的功能逻辑性质进行形式化验证,以从数学推理角度,精确地对SEDS的功能逻辑实现检查,进而保障软件的正确性和可靠性,同时用户还可以根据验证结果发现功能逻辑中存在的冲突或缺陷,并对SEDS模型中的错误进行修正。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
附图1示出了根据本发明实施例的形式化验证系统结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明采用形式化验证技术来对SEDS的功能逻辑进行精确检查,以保障软件的正确性和可靠性。
基于此,本发明提出了一种针对SEDS功能逻辑检查的形式化验证系统,该形式化验证系统可以运行在电子设备(如PC机)上。
图1为本发明提出的形式化验证系统的结构图,如图1所示,该形式化验证系统包括如下模块:
SEDS建模模块110,用于依据电子数据表单规范SEDS Shema文件建立SEDS模型;
模型转换模块120,用于将所述SEDS模型转换为适合模型检查的形式化模型;
性质规约模块130,用于对所述SEDS模型的功能逻辑的性质进行形式化描述;
形式化验证模块140,用于对所述形式化模型和所描述的功能逻辑性质进行形式化验证,得到验证结果。
本领域技术人员可以理解的是,本发明对模型转换模块120和性质规约模块130的先后执行顺序不进行限定。
在本实施例中,通过将建立完成的SEDS模型转换为适合模型检查的形式化模型,并对SEDS模型的功能逻辑的性质进行形式化描述,然后对形式化模型和所描述的功能逻辑性质进行形式化验证,以从数学推理角度,精确地对SEDS的功能逻辑实现检查,进而保障软件的正确性和可靠性,同时用户还可以根据验证结果发现功能逻辑中存在的冲突或缺陷,并对SEDS模型中的错误进行修正。
在一实施例中,所述SEDS建模模块110,具体用于通过Eclipse建模框架读取所述SEDS Shema文件建立SEDS模型。
其中,Eclipse建模框架(Eclipse Modeling Framework,EMF)属于Eclipse插件工具,所述SEDS模型是以XML形式表示,用来描述系统、设备、软件接口等。SEDS内容分为三部分:接口描述、协议和程序的说明、文档。
在一实施例中,所述模型转换模块120,具体用于通过语言解析工具从所述SEDS模型中移除与功能逻辑的性质无关的信息后,再利用转换规则将其转换为形式化模型。
其中,利用语言解析工具分析所述SEDS模型中的每个类、每个关键对象拥有的行为和属性,对关键信息进行抽取并移除与功能逻辑的性质无关的信息,以保证模型的简洁且不失完整性,最后利用转换规则将其转换为合适的形式化模型。
示例性的,形式化模型可以是有限状态系统、时间自动机等。
在一实施例中,继续参见图1所示,所述性质规约模块130包括一致性规约单元131和完备性规约单元132;所述一致性规约单元131,用于利用预设的性质描述语言,对所述SEDS模型的功能逻辑的一致性进行形式化描述;所述完备性规约单元132,用于利用预设的性质描述语言,对所述SEDS模型的功能逻辑的完备性进行形式化描述。
其中,一致性的形式化描述是用于检查所述SEDS模型的功能逻辑是否存在矛盾。完备性的形式化描述是用于检查所述SEDS模型的功能逻辑是否能够完全无遗漏地刻画所要描述的功能。
示例性的,性质描述语言可以是LTL(Linear Temporal Logic,线性时态逻辑)语言。线性时态逻辑(LTL)现今已被广泛运用于计算机科学领域(CS)。它常作为描述系统行为的性质语言,用在程序验证、程序综合与人工智能(AI)等研究方向。
在一实施例中,所述形式化验证模块140,具体用于将所述形式化模型和所述所描述的功能逻辑性质输入模型检测工具,以使所述模型检测工具对所述形式化模型和所描述的功能逻辑性质进行形式化验证并输出验证结果。
其中,模型检测工具(如PAT工具)通过模型检测算法进行搜索遍历,得出形式化验证结果。所述验证结果包括模型满足性质的结果和模型不满足性质的结果,并且当所述验证结果为模型不满足性质时,所述模型检测工具还会输出反例结果。
需要说明的是,在验证结果为模型不满足性质时,用户可以根据模型检测工具输出的反例结果对所述SEDS模型进行修正和改进,以通过模型求精不断完善具体细节,使模型逐步成熟完善。
也就是说,通过分析反例结果对模型进行修正和改进,然后再执行模型转换模块120、性质规约模块130以及形式化验证模块140,直至输出模型满足性质的结果,即SEDS模型达到理想状态。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个单元或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或模块。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种形式化验证系统,其特征在于,包括:
SEDS建模模块,用于依据电子数据表单规范SEDS Shema文件建立SEDS模型;
模型转换模块,用于将所述SEDS模型转换为适合模型检查的形式化模型;
性质规约模块,用于对所述SEDS模型的功能逻辑的性质进行形式化描述;
形式化验证模块,用于对所述形式化模型和所描述的功能逻辑性质进行形式化验证,得到验证结果;所述形式化验证为正确性验证;
所述性质规约模块包括一致性规约单元和完备性规约单元;
所述一致性规约单元,用于利用预设的性质描述语言,对所述SEDS模型的功能逻辑的一致性进行形式化描述;
所述完备性规约单元,用于利用预设的性质描述语言,对所述SEDS模型的功能逻辑的完备性进行形式化描述。
2.如权利要求1所述的形式化验证系统,其特征在于,所述SEDS建模模块,具体用于通过Eclipse建模框架读取所述SEDS Shema文件建立SEDS模型。
3.如权利要求1所述的形式化验证系统,其特征在于,所述模型转换模块,具体用于通过语言解析工具从所述SEDS模型中移除与功能逻辑的性质无关的信息后,再利用转换规则将其转换为形式化模型。
4.如权利要求1所述的形式化验证系统,其特征在于,所述一致性的形式化描述用于检查所述SEDS模型的功能逻辑是否存在矛盾。
5.如权利要求1所述的形式化验证系统,其特征在于,所述完备性的形式化描述用于检查所述SEDS模型的功能逻辑是否能够完全无遗漏地刻画所要描述的功能。
6.如权利要求1所述的形式化验证系统,其特征在于,所述形式化验证模块,具体用于将所述形式化模型和所述所描述的功能逻辑性质输入模型检测工具,以使所述模型检测工具对所述形式化模型和所描述的功能逻辑性质进行形式化验证并输出验证结果。
7.如权利要求6所述的形式化验证系统,其特征在于,所述验证结果包括模型满足性质的结果和模型不满足性质的结果;
当所述验证结果为模型不满足性质时,所述模型检测工具还会输出反例结果,用户可以根据所述反例结果对所述SEDS模型进行修正和改进。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010113873.9A CN111338948B (zh) | 2020-02-24 | 2020-02-24 | 形式化验证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010113873.9A CN111338948B (zh) | 2020-02-24 | 2020-02-24 | 形式化验证系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338948A CN111338948A (zh) | 2020-06-26 |
CN111338948B true CN111338948B (zh) | 2022-04-05 |
Family
ID=71181747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010113873.9A Active CN111338948B (zh) | 2020-02-24 | 2020-02-24 | 形式化验证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338948B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269737B (zh) * | 2020-10-26 | 2021-11-30 | 清华大学 | 一种应用软件形式化模型验证方法及装置 |
CN115525929A (zh) * | 2022-09-19 | 2022-12-27 | 卡斯柯信号有限公司 | 联锁数据安全性的形式化验证方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504605A (zh) * | 2009-03-06 | 2009-08-12 | 华东师范大学 | 一种基于性质规约模式生成ltl公式的uml模型检测系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943450B1 (en) * | 2013-10-11 | 2015-01-27 | Cadence Design Systems, Inc. | Model based analog block coverage system |
GB201611967D0 (en) * | 2016-07-08 | 2016-08-24 | Cocotec Ltd | An interoperable extensible system for the generation of verified software |
CN106598566A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
CN109558140A (zh) * | 2018-11-27 | 2019-04-02 | 上海航天电子通讯设备研究所 | 一种软件设计与实现的语义一致性验证方法 |
-
2020
- 2020-02-24 CN CN202010113873.9A patent/CN111338948B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504605A (zh) * | 2009-03-06 | 2009-08-12 | 华东师范大学 | 一种基于性质规约模式生成ltl公式的uml模型检测系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111338948A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Automatic generation of acceptance test cases from use case specifications: an nlp-based approach | |
JP2017033562A (ja) | 安全重視ソフトウェア開発のためのモデルベース技術および過程のためのシステムおよび方法 | |
CN104965956B (zh) | 一种基于rucm的需求验证方法 | |
CN111338948B (zh) | 形式化验证系统 | |
CN105975269B (zh) | 一种基于流程模型的需求验证方法 | |
US20160170714A1 (en) | Method and system of software specification modeling | |
US9880863B2 (en) | Methods and systems for increasing processor speed by creating rule engine rules from unstructured text | |
CN114169271A (zh) | 使用静态检查器结果对证伪的功率感知形式属性进行自动调试 | |
Attarzadeh-Niaki et al. | Heterogeneous co-simulation for embedded and cyber-physical systems design | |
CN111427565B (zh) | 形式化验证方法 | |
Brown et al. | Guidance for using formal methods in a certification context | |
US8589734B2 (en) | Verifying correctness of processor transactions | |
US8909579B2 (en) | Identifying invariant candidates based on proofs | |
Svendsen et al. | Formalizing train control language: automating analysis of train stations | |
CN110717305A (zh) | 适用于fpga的验证与确认的方法、系统、设备及介质 | |
Bhatt et al. | Model-based development and the implications to design assurance and certification | |
Lin et al. | A systematic approach for safety evidence collection in the safety-critical domain | |
CN111245676B (zh) | 通信协议可信性验证装置 | |
Botham et al. | PICASSOS–Practical applications of automated formal methods to safety related automotive systems | |
Clarke et al. | Executable protocol specification in ESL | |
CN112559359A (zh) | 一种基于s2ml的安全攸关系统分析与验证方法 | |
Anilkumar et al. | Automation of Translating Unit-Level Verification Scenarios for Test Vector Generation of SoC | |
JP6146224B2 (ja) | 判定方法、判定プログラム、および判定装置 | |
Honda et al. | Range analyzer: An automatic tool for arithmetic overflow detection in model-based development | |
US20240211653A1 (en) | Verification of model-based systems engineering artifacts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |