首页 / 专利库 / 专利权 / 形式要求 / 基于模块建模与模型检测一体化系统检测装置

基于模建模与模型检测一体化系统检测装置

阅读:614发布:2021-07-04

专利汇可以提供基于模建模与模型检测一体化系统检测装置专利检索,专利查询,专利分析的服务。并且本 发明 提出一种基于模 块 建模与模型检测一体化系统检测装置,包括: 软件 模块,用于通过 原子 模块库和组件模块库对待检测软件建立模型;环境模块,用于通过原子模块库和组件模块库对待检测软件所处的环境建立环境模型;属性模块,用于根据待检测软件所需满足的要求生成属性;检查模块,用于对软件模型、环境模型和属性的有效性进行检查;整合优化模块,用于对软件模型和环境模型的检测代码进行整合和优化,以生成整个系统的模型检测代码;检测模块,用于通过模型检测工具对系统模型是否满足属性进行模型检测,以获得待检测软件的检测结果。本发明的装置可以提高软件测试的效率,节省人 力 和时间,同时降低形式化建模的难度和错误率。,下面是基于模建模与模型检测一体化系统检测装置专利的具体信息内容。

1.一种基于模建模与模型检测一体化系统检测装置,其特征在于,包括:
软件模块,用于通过原子模块库和组件模块库对待检测软件建立模型;
环境模块,用于通过所述原子模块库和组件模块库对所述待检测软件所处的环境建立环境模型;
属性模块,用于根据所述待检测软件所需满足的要求生成属性;
检查模块,用于对所述软件模型、所述环境模型和属性的有效性进行检查;
整合优化模块,用于对所述软件模型和所述环境模型的检测代码进行整合和优化,以生成整个系统的模型检测代码;以及
检测模块,用于通过模型检测工具对所述系统模型是否满足属性进行模型检测,以获得所述待检测软件的检测结果。
2.如权利要求1所述的基于模块建模与模型检测一体化系统检测装置,其特征在于,还包括:
分析模块,用于当所述待检测软件有错误时,根据检测结果分析出错误发生的位置和相关结果报告。
3.如权利要求1所述的基于模块建模与模型检测一体化系统检测装置,其特征在于,还包括:
修改模块,用于根据所述错误发生的位置和相关结果报告对所述待检测软件进行修改。
4.如权利要求1所述的基于模块建模与模型检测一体化系统检测装置,其特征在于,还包括:
界面交互模块,用于显示用户的操作和检测结果。
5.如权利要求4所述的基于模块建模与模型检测一体化系统检测装置,其特征在于,所述界面交互模块具体包括:
建模图形展示子模块,用于将所述软件模型和所述环境模型进行图形化的显示;
功能子模块,用于显示所述装置的状态和用户对所述装置中工具栏的操作;
建模窗口展示子模块,用于显示所述系统属性、模块的参数、语法错误和检测结果。
6.如权利要求5所述的基于模块建模与模型检测一体化系统检测装置,其特征在于,所述建模图形展示子模块具体包括:
模块图形,用于表示原子模块、组件块和对应连线的图形;
建模面板,用于将所述原子模块、组件块和对应连线连接,并依附在面板上;
模块图形分布,用于提供包括布线操作、模块变化的模块图形的辅助信息。
7.如权利要求5所述的基于模块建模与模型检测一体化系统检测装置,其特征在于,所述建模窗口展示子模块具体包括:
错误显示窗口,用于显示所述软件模型和环境模型的语法错误窗口的信息,其中,所述错误窗口的信息包括错误的类型和位置信息;
参数设置窗口,用于设置所述原子模块、组件块和连线参数的窗口;
属性建模窗口,用于对属性模块建立窗口;
检测结果窗口,用于显示检测结果的窗口,并图形化的方式显示。

说明书全文

基于模建模与模型检测一体化系统检测装置

技术领域

[0001] 本发明涉及软件测试领域,特别涉及一种基于模块建模与模型检测一体化系统检测装置。

背景技术

[0002] 随着计算机技术的快速发展,软件的需求和增长越来越显著。软件的广泛应用及软件的复杂构造形成了近年来软件开发的两大特点,由此软件设计过程中的错误难以避
免。软件的测试是检测软件正确性的一种常用方法。然而,软件测试很难完全找出软件的
错误。模型检测理论是上世纪80年代提出的。该方法是基于形式化方法,通过遍历系统的
状态空间来发现软件系统中所有的缺陷,从而保证系统的安全性、稳定性和可靠性。模型检测方法的虽然可以实现系统验证的自动化,以及发现问题后还可以提供反例及其路径,帮
助用户对反例进行分析,找出并解决系统中存在的问题,然而该模型检测方法尚处在发展
阶段,并且该方法过于专业化普通用户无法使用,只有具备专业知识的人员才能够使用,因此无法普及。另外,状态爆炸等问题也使得模型检测技术难于应用在软件检测。

发明内容

[0003] 本发明的目的旨在至少解决上述的技术缺陷之一。
[0004] 为此,本发明的目的在于提出一种基于模块建模与模型检测一体化系统检测装置。
[0005] 为达到上述目的,本发明提出了一种基于模块建模与模型检测一体化系统检测装置,包括:软件模块,用于通过原子模块库和组件模块库对待检测软件建立模型;环境模块,用于通过所述原子模块库和组件模块库对所述待检测软件所处的环境建立环境模型;
属性模块,用于根据所述待检测软件所需满足的要求生成属性;检查模块,用于对所述软件模型、所述环境模型和属性的有效性进行检查;整合优化模块,用于对所述软件模型和所述环境模型的检测代码进行整合和优化,以生成整个系统的模型检测代码;以及检测模块,用于通过模型检测工具对所述系统模型是否满足属性进行模型检测,以获得所述待检测软件
的检测结果。
[0006] 本发明的装置可以提高软件测试的效率,节省人和时间,同时降低形式化建模的难度和建模错误率。
[0007] 本发明的设计中,还包括:分析模块,用于当所述待检测软件有错误时,根据检测结果分析出错误发生的位置和相关结果报告。
[0008] 本发明的设计中,还包括:修改模块,用于根据所述错误发生的位置和相关结果报告对所述待检测软件进行修改。
[0009] 本发明的设计中,所述装置还包括:界面交互模块,用于显示用户的操作和检测结果。
[0010] 本发明的设计中,所述界面交互模块具体包括:建模图形展示子模块,用于将所述软件模型和所述环境模型进行图形化的显示;功能子模块,用于显示所述装置的状态和用户对所述装置中工具栏的操作;建模窗口展示子模块,用于显示所述系统属性、模块的参
数、语法错误和检测结果。
[0011] 本发明的设计中,所述建模图形展示子模块具体包括:模块图形,用于表示原子模块、组件块和对应连线的图形;建模面板,用于将所述原子模块、组件块和对应连线连接,并依附在面板上;模块图形分布,用于提供包括布线操作、模块变化的模块图形的辅助信息。
[0012] 本发明的设计中,所述建模窗口展示子模块具体包括:错误显示窗口,用于显示所述软件模型和环境模型的语法错误窗口的信息,其中,所述错误窗口的信息包括错误的类型和位置信息;参数设置窗口,用于设置所述原子模块、组件块和连线参数的窗口;属性建模窗口,用于对属性模块建立窗口;检测结果窗口,用于显示检测结果的窗口,并图形化的方式显示。
[0013] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0014] 本发明上述的和/或附加的方面和优点从下面结合附图对装置架构的描述中将变得明显和容易理解,其中:
[0015] 图1为根据本发明设计的基于模块建模与模型检测一体化系统检测装置的一个结构框图
[0016] 图2为根据本发明另一设计的基于模块建模与模型检测一体化系统检测装置的另一个结构框图;
[0017] 图3为根据本发明设计的基于模块建模与模型检测一体化系统检测装置的再一个结构框图;以及
[0018] 图4为根据本发明实施的基于模块建模与模型检测一体化系统检测装置的类继承结构图。

具体实施方式

[0019] 下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0020] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发
明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0021] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0022] 以下结合附图详细描述本发明装置的具体实施方法。
[0023] 图1为根据本发明设计的基于模块建模与模型检测一体化系统检测装置的结构框图。如图1所示,根据本发明设计的基于模块建模与模型检测一体化系统检测装置,包括软件模块200、环境模块201、属性模块202、检查模块203、整合优化模块204和检测模块
205。
[0024] 具体地,软件模块200用于通过原子模块库和组件模块库对待检测软件建立模型。
[0025] 环境模块201用于通过原子模块库和组件模块库对待检测软件所处的环境建立环境模型。其中,该环境是指与待检测软件交互的环境实体。
[0026] 在本发明的实施过程中,原子模块库和组件模块库构成模块库。原子模块是基本功能模块,包含所需的一些基本参数,其功能是不可再分解的。原子模块是本发明中最基本也是最重要的部分,它将建模与检测已融入一体,由此可显示建模与检测一体化。原子模块在建模平台中可以被自由拖拽并修改其一些可变参数。原子模块库包括:位逻辑、比较、计数器、数学运算、赋值、数据块、定时器、流程控制和自动机等原子模块组,每个原子模块组包括若干相关的原子模块,例如,数学运算模块组包括加、减、乘、除等原子模块等。组件块库是由预定义系统组件和用户组件组成。每个组件都是由若干原子模块组合连接而成,能
够实现更加复杂的功能。预定义系统组件是系统内部已有的组件,用户组件则是用户根据
需要自定义的组件,不属于系统内部,可以从外部读取。
[0027] 属性模块202用于根据待检测软件所需满足的要求生成属性。通过时序逻辑描述属性,如LTL和CTL等。
[0028] 检查模块203用于对软件模型、环境模型和属性的有效性进行检查。
[0029] 整合优化模块204用于对软件模型和环境模型的检测代码进行整合和优化,以生成整个系统的模型检测代码。
[0030] 检测模块205用于通过模型检测工具对系统模型是否满足属性进行模型检测,以获得待检测软件的检测结果。
[0031] 本发明的装置可以提高软件测试的效率,节省人力和时间,同时降低形式化建模的难度和出错率。
[0032] 图2为根据本发明设计的基于模块建模与模型检测一体化系统检测装置的另一个结构框图。如图2所示,根据本发明设计的基于模块建模与模型检测一体化系统检测装
置,还包括分析模块207和修改模块208。
[0033] 其中,分析模块207用于当待检测软件有错误时,根据检测结果分析出错误发生的位置和相关结果报告。
[0034] 修改模块208用于根据错误发生的位置和相关结果报告对待检测软件进行修改。
[0035] 根据本发明设计的装置,通过分析出待检测软件的出错位置和相关结果报告,并根据该出错位置和相关结果报告对该待检测软件进行修改,从而方便了用户使用,提高了
系统的鲁棒性。
[0036] 图3是本发明设计中基于模块建模与模型检测一体化系统检测装置的结构示意图。如图3所示,根据本发明设计的基于模块建模与模型检测一体化系统检测装置,还包括界面交互模块用于显示用户的操作和检测结果。
[0037] 在本发明的设计中,界面交互模块即界面包括建模图形展示子模块、功能子模块和建模窗口展示子模块。
[0038] 具体地,建模图形展示子模块,即建模图形展示用于将软件模型和环境模型进行图形化的显示。
[0039] 在本发明的设计中,建模图形展示子模块包括:模块图形、建模面板和模块图形分布。
[0040] 模块图形用于表示原子模块、组件块和对应连线的图形。
[0041] 建模面板用于将原子模块、组件块和对应连线连接,并依附在面板上。用户可以在面板上生成、移动和缩放各种模块及对应模块的连线,由此可以搭建出整个不同的模型。布线操作过程中只采用一种连线。确定各个子模块之间的数据协议,并将数据协议置于子模块的输入、输出端点处。利用鼠标给出模块之间的连线,自动成为模块间的数据传输通道,利用端点的数据协议,该连线可以传递不同类型的数据。
[0042] 模块图形分布用于提供模块图形的辅助信息。即提供模块图形的辅助功能,包括:选中面板上的模块,改变模块的大小、位置等。图形辅助功能由专的服务类进行处理,需要对模块的元件和关联的选择操作分别进行处理,模块元件/关联之外的普通图形元素并
不能被选择。因此只捕捉来自特定类型元素的事件,并判断来源类型并做相应处理。画板
中的所有设计元素均不需要考虑与选择功能相关的实现,便于以后的扩展。另一方面,任何普通的界面元素,只要继承了模块的元件或模块的关联基类,即能够被选中。需要执行移动操作的元素一定已经被选中,并操作被选中的元素集合。记录鼠标拖动的距离,将所有被选中的元素移动同样的距离。需要进行边界检查,防止将元件移动到左侧或上方边界之外,而当元件移出右侧或下方边界时,相应地扩展画板尺寸使其包含元件。模块元件的缩放:需要执行缩放操作的元素一定已经被选中,并操作被选中的元素集合。分别记录缩放操作之前
和之后所选元素的外接矩形,将所有选中的元素依照两个矩形的比例进行缩放。需要进行
边界检查,防止元件放大后超出左侧或上方边界之外,而当元件超出右侧或下方边界时,扩展画板尺寸使其包含元件。还要注意不应使元素缩小得过小(元素尺寸过小将很难再被选
中),当有元素处于最小尺寸时阻止继续缩小。服务类统一管理所有对象的服务请求,并提供相应的服务。减少了系统平台的操作开支,并提高了稳定型和可扩展性。
[0043] 功能子模块,即功能区用于显示装置的状态和用户对装置中工具栏的操作。功能区包括工具栏和状态栏。工具栏包含了模块的图标,用户从工具栏将模块的图标拖拽到建
模面板上,装置就会生成并显示出该相应的模块。状态栏用于显示检测平台当前的状态。
[0044] 建模窗口展示子模块,即建模窗口展示用于显示系统属性、模块的参数、语法错误和检测结果。
[0045] 在本发明的设计中,建模窗口展示子模块包括错误显示窗口、参数设置窗口、属性建模窗口和检测结果窗口。
[0046] 错误显示窗口用于显示软件模型和环境模型的语法错误窗口的信息,其中,错误窗口的信息包括错误的类型和位置信息。
[0047] 参数设置窗口用于设置原子模块、组件块和连线参数的窗口。其中,可对该参数进行修改,并对该参数进行一些限制和检查,以免用户误操作带来的错误。
[0048] 属性建模窗口用于对属性模块建立窗口。可以定义原子命题和属性的时序逻辑表达式。
[0049] 检测结果窗口用于显示检测结果的窗口,并图形化的方式显示。
[0050] 在本发明的设计中,各种模型的建立包括参数设置、地址映射、模型有效性检查、实例化、属性建模和模型操作。具体说明如下:
[0051] 参数设置是设置模块和连线的参数,如模块的输入变量的名称和数据类型。
[0052] 地址映射是编辑和保存系统所使用的端口、变量和常量及其映射关系。一些变量可能会有别名,要同时保持原始变量和别名之间的一致性。地址映射机制统一管理所有的
变量、常量和端口,既方便用户使用,也能避免一些用户因误操作产生的变量声明或使用上的问题。
[0053] 模型有效性检查是对建好的模型进行一些基本的语法错误的检查(如:对数据类型、连接方式、模块使用方式等的检查),若发现错误会提示用户错误的类型和错误的位置,方便用户改正。
[0054] 实例化是根据模块的模板实例化生成模块的实例,模板是在模块库中定义的。
[0055] 属性建模是通过分析需求得到系统需要满足的属性,将各个属性建模成时序逻辑表达式,属性表达了待测系统必须满足的要求或其他约束条件。
[0056] 模型操作是模型的相关操作。
[0057] 在本发明的设计中,输入输出包括序列化和文件操作,同时负责与模型文件交互。
[0058] 具体地,序列化是指将模型保存成文件和从文件中生成取模型。将模型序列化为XML格式保存,需要提取模型的必要信息(如模块和连接关系的信息),并将这些信息组织成分层的格式(符合XML标准),再将其保存到文件中。同样,可以反向操作,从文件中读取并解析XML,根据所得到的必要信息能生成同样的模型。
[0059] 文件操作是指用于与模型文件交互,包括读取、格式验证、保存的功能。
[0060] 模型文件是指将模型保存成XML格式的模型文件,可以随时打开模型文件并自动生成原始模型。
[0061] 检测业务包括检测代码和检测控制。
[0062] 具体地,检测代码:根据在界面上构建好的模型生成检测代码由检测部分进行检测,包括:代码生成、拓扑分析和整合优化。所有原子模块及系统相关功能代码分别由检测语言编写,根据模型中使用到的所有模块和地址映射等信息自动生成相应的检测代码。拓
扑分析是指使用拓扑排序等算法分析软件模型和环境模型,得到拓扑逻辑关系信息。整合
优化是根据模型的扑逻辑关系和所有模块等的检测代码整合出系统模型的检测代码,并对
属性模型作自动整合。根据系统和用户需求(如运行时间或占用内存的需求)对代码进行优化。
[0063] 检测控制是根据检测需求将优化的检测代码输入模型检测工具中进行检测等操作,并向界面输出检测结果信息。检测控制包括结果分析、检测环境配置和检测工具控制。
结果分析是对检测结果进行分析,如果模型检测中出现的违背属性需求的情况,自动生成
其反例路径并分析该反例的信息。检测环境配置是指设置检测环境的参数。模型检测是根
据检测环境的配置将优化过的检测代码和相关参数输入模型检测工具中进行模型检测,并
返回检测结果。模型检测工具可以是现有的通用模型检测工具,例如,SPIN、SMV和UPPAAL等,也可以是自定义的模型检测工具。
[0064] 图4为根据本发明设计的基于模块建模与模型检测一体化系统检测装置的类继承结构图。如图4所示,设计实体是最高层的公共基类,所有的设计实体都可以显示在画板上,能够被选中,且都能够在关联的属性面板上修改属性。元素实体代表模块元件,关系实体代表模块间的关联,模块元件与关联需要区别对待。元件可以自由移动、改变尺寸,关联则附着在元件之上,不能随意改变。在此基础上,根据一般的功能块与自动机或状态机的状态具有不同的特性需求,继续派生出各自的类别。本发明采用WPF编程技术。在实现上利
用了WPF的特点:即模块的前台显示使用XAML语言编写,后台逻辑则使用C#语言。后台按
照如图4所示的继承结构编写,而前台则按照模块外观的相似关系来继承,并由多个部分,例如,端口和标签等组合而成。因此可将模块的前台显示和后台逻辑相分离,模块可以随意更改外观而不改变内部逻辑结构,提高了灵活性和可扩展性。
[0065] 工具箱中的模板通过拖动并放置在画板上,可以生成对应的元件。在拖放的过程中,需要携带元件的类型信息,使得系统平台知道应生成哪种元件。因此拖放不同的模板时会携带相应的元件类型信息。由于模板与元件类一一对应,为避免对模板及界面的响应函
数手工逐一设置,工具箱将不同种类的模板分开放置,并采用了注册机制来识别模块类型
所属的种类。
[0066] 工具箱的实现利用了WPF的特性,在前台和后台分别应用注册机制来注册显示和逻辑。注册机制使用了静态查找表来实现,只需对模块类型注册,系统平台即会自动完成工具箱内模板的加载。
[0067] 本发明的装置可以提高软件测试的效率,节省人力和时间,同时降低建模的错误率。
[0068] 尽管上面已经示出和描述了本发明的实施方法,可以理解的是,上述实施方法是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和
宗旨的情况下在本发明的范围内可以对上述实施方法进行变化、修改、替换和变型。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈