CN105426176A - 一种基于信息隐藏的图转换系统模型检测方法 - Google Patents
一种基于信息隐藏的图转换系统模型检测方法 Download PDFInfo
- Publication number
- CN105426176A CN105426176A CN201510738061.2A CN201510738061A CN105426176A CN 105426176 A CN105426176 A CN 105426176A CN 201510738061 A CN201510738061 A CN 201510738061A CN 105426176 A CN105426176 A CN 105426176A
- Authority
- CN
- China
- Prior art keywords
- node
- attribute
- layer
- task
- information hiding
- 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.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种基于信息隐藏的图转换系统模型检测方法,步骤是:将系统分为两层,将可见部分定义为第一层,将内部部分定义为第二层;构建系统的全局类型图,标记出其中的所有节点,并用不同颜色的背景区分为可见部分和内部部分;每个节点都有一个包含了层次结构的可见部分,其描述了与分层结构中当前层次相关的节点的接口;还有一个内部部分,其描述了较低抽象层次中节点的详细结构;定义一组规则来描述系统的行为,用假设-保证技术验证图转换系统。此种方法利用层次结构和信息隐藏的概念,来减少验证过程中的状态数目,以缓解状态空间爆炸问题;利用假设-保证技术处理层次结构,解决了之前的验证方法无法验证带层次结构的图转换系统的问题。
Description
技术领域
本发明属于计算机软件工程开发领域,特别涉及一种基于信息隐藏的图转换系统模型检测方法。
背景技术
模型检测技术是一种验证有限状态系统是否满足规约的形式化方法,主要针对标记转换系统(LabeledTransitionSystem,LTS),其目的是将给定的系统和系统属性分别用有穷状态模型描述出来,然后采用模型检测器来判断系统模型是否满足原先的系统属性。模型检测技术的一般流程是对待检验的系统进行建模,然后使用一种形式化的语言如时序逻辑表达式来描述系统属性,最后使用相应的模型检测分析技术来判断此系统模型是否满足系统属性。由此我们可以看出模型检测技术一般分为三个部分:描述系统的建模语言,描述系统属性的说明性语言和一项验证系统满足正确性需求的分析技术。模型检测工具在检测算法的支持下会自动执行,当系统不满足待测性质时将提供反例路径。研究反例路径可以得到性质不成立的原因,因此能为模型的修正提供依据。但是当软件系统的并发分量较多时,模型检测工具通常无法直接对所有的状态空间进行搜索,这就是所谓的状态爆炸问题。由于软件系统通常涉及无穷域上的运算,状态爆炸问题是模型检测应用于软件系统上的一个难题。
GROOVE是我们在本案中所用到的图转换系统验证工具,它的设计旨在用简单的图来模拟面向对象系统在设计阶段、编译阶段及运行阶段的结构,并用图转换作为模型转换的操作语义的基础。该工具通过自动分析生成的图转换系统,能够验证模型转换是否满足属性约束验证。
在软件工程领域,图转换系统是支持软件开发的有力工具。大多数的软件构建可以建模为适当的带注释的图,这些构件的动态演化可以被看作不同状态的图与图之间的转换。在本案中用到的GROOVE是一种验证图转换系统的模型检测器。在GROOVE中,图(Graph)表示为一组节点和边。节点可以有类别,属性。边带有方向和名称。图文法(GraphGrammar)是图文转换规则,主图,类型图还有属性约束的集合。图转换规则(GraphTransformationRule)是一个指定主图应该如何被转换的图。一个图文转换规则首先寻找主图的一个特定的子图,如果找到了这个子图,那么规则就匹配了,然后在应用这个规则时会添加或删除子图里的元素。类型图(Typegraph)是指定系统中图允许的结构,和节点类型分层结构。实例图(InstanceGraph)是指的一个类型图的实际例子。主图(Hostgraph)指的是正在被应用图文转换规则的图,它是一个实例图。一个图转换规则实际上是一个四元组{LHS,RHS,NAC,AC},其中,LHS,RHS,NAC都是图,而AC是一个谓词。LHS,顾名思义就是指应用规则的左部(LeftHandSide),它代表了一个拓扑关系上的肯定应用条件,它描述了必须出现在即将应用规则的主图上的子图。规则右部RHS(RightHandSide)描述了如果满足应用条件,图是怎样被规则修改的,即图修改之后的样子。NAC(NegativeApplicationCondition)是拓扑关系上的一个否定应用条件,它不能出现在应用规则的主图之上。AC(ApplicationCondition)是一个谓词,它以LHS的属性为基础,指明要应用规则时必须满足的那些条件。
对于复杂的系统而言,分层结构是一种合理的表示。在系统的不同组件之间可以定义他们的从属关系。除了这种从属关系,组件之间也可以是水平相关的,它们相关但没有从属关系,所以是同一层次。而图可以恰当地对层次结构进行建模。在层次结构中的一个层次中,只显露出与低层次之间部分信息的交互接口而隐藏其他层次的部分细节对软件的模型验证很有帮助,这就是信息隐藏的思想。
之前人们都把工作集中在如何用图文转换系统模拟和分析软件系统,而对带层次的软件系统关注较少,也没有考虑信息隐藏的问题。
发明内容
本发明的目的,在于提供一种基于信息隐藏的图转换系统模型检测方法,其利用层次结构和信息隐藏的概念,来减少验证过程中的状态数目,以缓解状态空间爆炸问题;利用假设-保证技术处理层次结构,解决了之前的验证方法无法验证带层次结构的图转换系统的问题。
为了达成上述目的,本发明的解决方案是:
一种基于信息隐藏的图转换系统模型检测方法,包括如下步骤:
(1)根据系统需求与系统的特点,利用信息隐藏的原理将系统分为两层,将可见部分定义为第一层,将内部部分定义为第二层;
(2)根据步骤(1)中的分层情况,构建系统的全局类型图,标记出其中的所有节点,并用不同颜色的背景将所有节点区分为可见部分和内部部分;每个节点都有一个包含了层次结构的可见部分,其描述了与分层结构中当前层次相关的节点的接口;还有一个内部部分,其描述了较低抽象层次中节点的详细结构;
(3)根据系统的实际需求,定义一组规则来描述系统的行为,通过这些规则展现整个系统是如何演化的;
(4)用假设-保证技术验证图转换系统。
上述步骤(1)应用于任务调度系统中,将任务调度系统分为两层:任务提出请求,且获得系统分配的资源是第一层的分层结构,第二层结构是系统在接受多个请求之后,使用何种策略对资源进行分配,以及具体是如何进行的。
上述步骤(2)应用于任务调度系统中,根据分层构建系统的全局类型图,在最高的抽象层次,只有三种交互层次的节点,即任务节点Task,调度节点Schedule和资源节点Resource,其中Schedule用于分配资源;Schedule的可见部分只存在一个资源请求节点ResReq,代表在接受请求之后生成一个ResReq。
上述步骤(1)中,第一层和第二层的图文法均通过图转换验证工具GROOVE创建。
上述步骤(4)的具体内容是:
(41)提出待验证的属性,并将其用线性逻辑公式表示;
(42)分析待验证的属性涉及的层次结构,第二层中会依赖于一个新的属性;
(43)对步骤(42)中新的属性进行必要的假设,并把它作为待验证属性的一种必要保证,然后直接验证第一层;
(44)把步骤(43)中假设的新的属性,在它所在的层次中分别验证。
采用上述方案后,本发明通过利用分层结构和信息隐藏的概念,描述系统的建模语言,然后利用线性逻辑公式描述系统属性的说明性语言,最终通过假设-保证技术验证系统的正确性,从而减少了验证过程中的状态数目,缓解了状态空间爆炸问题。
附图说明
图1是本发明的流程图;
图2是任务调度系统的全局类型图;
图3(a)-(i)是为描述系统定义的规则;
图4是待验证的属性的实例匹配图;
图5是待验证的属性在第二层中所依赖的属性。
图6至图9是传统方法与本发明的对比图。
具体实施方式
本发明提供一种基于信息隐藏的图转换系统模型检测方法,配合图1所示,以下将以任务调度系统为例,对本发明的技术方案进行详细说明。
(1)根据系统需求与系统的特点,利用信息隐藏的原理将系统分为两层。将可见部分定义为第一层,将内部部分定义为第二层,这两层的图文法都可以通过GROOVE创建。
在本实施例中,由于任务调度系统最主要的需求就是当很多个任务要求分配资源时,这个系统可以有序地为发出请求的任务分配资源,同时,我们认为,在任务提出请求之后,系统具体如何为任务分配资源,任务是不需要知道的,它只需要知道系统具体给它分配了哪一个资源。根据这个特点,我们将任务调度系统分为两层:任务提出请求,且获得系统分配的资源就是第一层的分层结构,第二层结构就是系统在接受多个请求之后,使用何种策略对资源进行分配,与具体是如何进行的。
(2)根据步骤(1)中的分层情况,构建系统的全局类型图,标记出其中的所有节点,并用不同颜色的背景将所有节点区分为可见部分和内部部分,在本实施例中,使用白色背景代表可见部分,灰色背景代表内部部分。每个节点都有一个包含了层次结构的可见部分,其描述了与分层结构中当前层次相关的节点的接口;还有一个内部部分,其描述了较低抽象层次中节点的详细结构。
在本实施例中,根据前面的分层构建系统的全局类型图,如图2,在最高的抽象层次,只有三种交互层次的节点,即Task(任务节点),Schedule(调度节点)和Resource(资源节点),而Schedule可以为其分配资源。在图2中,Schedule的可见部分只存在了一个ResReq(资源请求节点),代表在接受请求之后生成一个“ResReq”。在具体的节点中,比如说Task中有两个属性Id和State。StringId代表我们将属性Id定义为字符型的变量,它是用来标识与区分Task的用户名的。IntState代表我们将State属性定义为整型的变量,是用来记录Task的不同状态。在Schedule的第二层中也有一个Task节点,还有三个属性分别是:Head,Tail和Next。Head和Tail定义为布尔型的变量,而Next是字符型的变量。通过这三个属性,其实就为我们构造了一个任务链表。属性Head和Tail是用来标记整个Task任务链表的首尾的,任务链表的第一个Task的属性Head为true,最后一个Task的属性Tail为true,其他的情况下的Head和Tail都为false。属性Next是用来联系两个Task的。比如说,如果第一个Task的属性Id为x,第二个提出要求的Task属性Id为y,在以x为Id的Task中的属性Next就等于y,且它的属性Head为true,属性Tail为false。以y为Id的Task中的属性Head为false,属性Tail为true。如果只有当一个Task节点中的属性Next为null的时候说明此Task后面没有另一个Task了。同样的,其他节点也会有其不同的属性,比如Buffer(缓冲区节点)就有一个名为Space的属性来记录缓存空间中Task的个数,Space属性定义为整型的。当新增了一个Task,那么属性Space就会加1。我们可以通过这个属性计算空间是否已经满了。节点以及节点中的属性都是为了满足系统不同的需求而定义的,整个系统状态的变化正是由它们的变化体现出来的。
(3)根据系统的实际需求,定义一组规则来描述系统的行为,通过这些规则可以展现出整个系统是如何演化的。到此步骤时,系统已经被分为两个层次,描述同样的行为,在不同层次的图文法的规则是不一样的。因此在GROOVE中定义规则时,要用到信息隐藏的原理。
在本实施例中,根据系统的需求,定义具体的规则,如图3(a)-(i)。在图中,AC即背景技术中介绍的图转换规则中的谓词,LHS即应用规则的左部,RHS即应用规则的右部。规则a描述了一个Task通过Schedule请求分配一个资源节点,并且产生一个ResReq,这个规则是层内的。规则b描述了Schedule里面的这样一个过程:初始Buffer(缓冲区节点)数目增加了,并且请求通过Policy(策略节点)添加进列表,它是层内规则。规则c描述了第一个请求成功添加后,后续请求的添加,是一个层内规则。规则d描述了Buffer满了后,后续的Resource的请求状态改变为-1,表示资源请求失败。规则e描述了Resource的请求被拒绝的情况,是层内规则。规则f描述了Resource通过Policy被分配给了列表头部的Task,是层间规则。规则g描述了Task通过Schedule释放了Resource,并且相关的Resource请求被Schedule删除,这个规则是层间的。规则h与规则g相似,但它描述的是最后一个请求被删除,也是层间规则。规则i描述了Task使用完Resource,并与Schedule断开连接。通过这些规则可以展现出整个任务调度系统是如何演化的。
(4)用假设-保证技术验证基于层次结构和信息隐藏特点的图转换系统。
具体包括有以下步骤:
(41)提出待验证的属性,并将其用线性逻辑公式表示。在本实施例中,待验证的性质是,当一个Task提出了请求,它最终是否能够被满足。我们将其用线性逻辑公式表示出来,并用实例图将其进行匹配,如图4。
(42)分析这个属性涉及的层次结构,第二层中会依赖于一个新的属性(若是待验证的属性成立,则这个新的属性在第二层必然成立),Schedule里面产生的Resource请求最终会被满足。同样的,我们用线性逻辑公式将其表出,并用实例图进行匹配,如图5。
(43)对步骤(42)中新的属性进行必要的假设,并把它作为待验证属性的一种必要保证,然后在GROOVE中直接验证第一层(输入步骤(41)中的线性逻辑公式即可)。
比如,假设上面第二层中的属性总是会被满足,即如果Schedule里面产生了Resource请求,那么它一定会被满足,然后在GROOVE中验证第一个层次。
(44)把步骤(43)中假设的新的属性,在它所在的层次中分别验证,在GROOVE中在第二层验证在步骤(43)中假设的属性。
在所有的步骤完成之后,为了证明本发明的高效性,特地用传统的平展化的方法进行了实验,并从状态数量(States),状态转移数量(Transitions),验证过程所用时间(Time,以秒s为单位),以及内存消耗(Memory,以兆字节MB为单位)作为度量标准,得到了下面的实验结果。表1表示用传统的平展化得方法得到的结果。表2的结果是在GROOVE中分别对两个层次进行实验,将两层数据相加而得。这么做是为了更好地与传统的方法进行对比,同时用图表的形式直观地展现出这两种方法的区别。图6展现了在不同的参数下,传统的方法与本发明在状态数量方面的对比。图7是状态转移数量的对比图。图8是所用时间的对比图。图9是内存消耗的对比图。图6-9可以体现本发明的高效性。
表1:传统平展化方法的实验结果
N | States | Transitions | Time(s) | Memory(MB) |
3 | 256 | 996 | 0.842 | 1.382 |
4 | 1856 | 8927 | 2.669 | 2.172 |
5 | 12864 | 72948 | 11.169 | 7.065 |
6 | 86896 | 551811 | 53.057 | 179.413 |
7 | 538696 | 3937972 | 2422.895 | 390.943 |
表2:本发明的实验结果
N | States | Transitions | Time(s) | Memory(MB) |
3 | 222 | 742 | 0.944 | 3.12 |
4 | 1272 | 4924 | 2.357 | 2.377 |
5 | 7006 | 30624 | 8.08 | 4.962 |
6 | 36900 | 179478 | 24.131 | 19.309 |
7 | 187326 | 1003062 | 98.085 | 239.628 |
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (5)
1.一种基于信息隐藏的图转换系统模型检测方法,其特征在于包括如下步骤:
(1)根据系统需求与系统的特点,利用信息隐藏的原理将系统分为两层,将可见部分定义为第一层,将内部部分定义为第二层;
(2)根据步骤(1)中的分层情况,构建系统的全局类型图,标记出其中的所有节点,并用不同颜色的背景将所有节点区分为可见部分和内部部分;每个节点都有一个包含了层次结构的可见部分,其描述了与分层结构中当前层次相关的节点的接口;还有一个内部部分,其描述了较低抽象层次中节点的详细结构;
(3)根据系统的实际需求,定义一组规则来描述系统的行为,通过这些规则展现整个系统是如何演化的;
(4)用假设-保证技术验证图转换系统。
2.如权利要求1所述的一种基于信息隐藏的图转换系统模型检测方法,其特征在于:所述步骤(1)应用于任务调度系统中,将任务调度系统分为两层:任务提出请求,且获得系统分配的资源是第一层的分层结构,第二层结构是系统在接受多个请求之后,使用何种策略对资源进行分配,以及具体是如何进行的。
3.如权利要求2所述的一种基于信息隐藏的图转换系统模型检测方法,其特征在于:所述步骤(2)应用于任务调度系统中,根据分层构建系统的全局类型图,在最高的抽象层次,只有三种交互层次的节点,即任务节点Task,调度节点Schedule和资源节点Resource,其中Schedule用于分配资源;Schedule的可见部分只存在一个资源请求节点ResReq,代表在接受请求之后生成一个ResReq。
4.如权利要求1所述的一种基于信息隐藏的图转换系统模型检测方法,其特征在于:所述步骤(1)中,第一层和第二层的图文法均通过图转换验证工具GROOVE创建。
5.如权利要求1所述的一种基于信息隐藏的图转换系统模型检测方法,其特征在于所述步骤(4)的具体内容是:
(41)提出待验证的属性,并将其用线性逻辑公式表示;
(42)分析待验证的属性涉及的层次结构,第二层中会依赖于一个新的属性;
(43)对步骤(42)中新的属性进行必要的假设,并把它作为待验证属性的一种必要保证,然后直接验证第一层;
(44)把步骤(43)中假设的新的属性,在它所在的层次中分别验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510738061.2A CN105426176B (zh) | 2015-11-03 | 2015-11-03 | 一种基于信息隐藏的图转换系统模型检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510738061.2A CN105426176B (zh) | 2015-11-03 | 2015-11-03 | 一种基于信息隐藏的图转换系统模型检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426176A true CN105426176A (zh) | 2016-03-23 |
CN105426176B CN105426176B (zh) | 2018-05-18 |
Family
ID=55504406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510738061.2A Active CN105426176B (zh) | 2015-11-03 | 2015-11-03 | 一种基于信息隐藏的图转换系统模型检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426176B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200272916A1 (en) * | 2017-09-29 | 2020-08-27 | Nec Corporation | Hypothesis verification apparatus, hypothesis verification method, and computer-readable recording medium |
CN114701547A (zh) * | 2022-03-10 | 2022-07-05 | 新誉轨道交通科技有限公司 | 一种城市轨道交通联锁系统检测方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504605A (zh) * | 2009-03-06 | 2009-08-12 | 华东师范大学 | 一种基于性质规约模式生成ltl公式的uml模型检测系统和方法 |
CN101673198A (zh) * | 2009-03-06 | 2010-03-17 | 华东师范大学 | 一种验证uml模型中动态行为与时序契约的一致性的方法 |
CN102426521A (zh) * | 2011-10-28 | 2012-04-25 | 东南大学 | 基于HybridUML和定理证明的CPS自适应性验证方法 |
-
2015
- 2015-11-03 CN CN201510738061.2A patent/CN105426176B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504605A (zh) * | 2009-03-06 | 2009-08-12 | 华东师范大学 | 一种基于性质规约模式生成ltl公式的uml模型检测系统和方法 |
CN101673198A (zh) * | 2009-03-06 | 2010-03-17 | 华东师范大学 | 一种验证uml模型中动态行为与时序契约的一致性的方法 |
CN102426521A (zh) * | 2011-10-28 | 2012-04-25 | 东南大学 | 基于HybridUML和定理证明的CPS自适应性验证方法 |
Non-Patent Citations (1)
Title |
---|
魏巍 等: "与SPIN相关的模型检测研究", 《第六届中国信息和通信安全学术会议(CCICS’2009)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200272916A1 (en) * | 2017-09-29 | 2020-08-27 | Nec Corporation | Hypothesis verification apparatus, hypothesis verification method, and computer-readable recording medium |
US11803768B2 (en) * | 2017-09-29 | 2023-10-31 | Nec Corporation | Hypothesis verification apparatus, hypothesis verification method, and computer-readable recording medium |
CN114701547A (zh) * | 2022-03-10 | 2022-07-05 | 新誉轨道交通科技有限公司 | 一种城市轨道交通联锁系统检测方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105426176B (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Petnga et al. | An ontological framework for knowledge modeling and decision support in cyber-physical systems | |
US8930919B2 (en) | Modernization of legacy software systems based on modeled dependencies | |
Cheng et al. | Current and future research directions in requirements engineering | |
Sacks et al. | Automating design review with artificial intelligence and BIM: State of the art and research framework | |
Sacks et al. | Toward artificially intelligent cloud-based building information modelling for collaborative multidisciplinary design | |
Huang et al. | From data to simulation models: component-based model generation with a data-driven approach | |
JP2015502620A (ja) | 矛盾するルールを伴うケースの検出 | |
CN102231194A (zh) | 一种管理对象的生命周期的方法和系统 | |
Tahvili et al. | Functional dependency detection for integration test cases | |
CN109739740A (zh) | 一种aadl模型组合形式化验证方法 | |
Guenov et al. | Computational framework for interactive architecting of complex systems | |
Coda et al. | Big data systems requirements for Industry 4.0 | |
Tahvili et al. | Cluster-based test scheduling strategies using semantic relationships between test specifications | |
Holler et al. | Understanding the business value of intelligent products for product development in manufacturing industries | |
CN105426176A (zh) | 一种基于信息隐藏的图转换系统模型检测方法 | |
CN103677841A (zh) | 基于元素级模板的ietm的代码生成方法及装置 | |
CN112947896A (zh) | 一种基于有向图的组件依赖分析方法 | |
Uzunov et al. | Assessing and improving the quality of security methodologies for distributed systems | |
Friedrich et al. | Knowledge engineering for configuration systems | |
Maher et al. | Introduction to the issues and applications of case-based reasoning in design | |
CN110928761B (zh) | 需求链及其应用的系统和方法 | |
Behjati et al. | Model-based automated and guided configuration of embedded software systems | |
CN102799521B (zh) | 一种层次式时间自动机平展化算法 | |
Benveniste et al. | Contracts for the design of embedded systems part i: Methodology and use cases | |
Zhang et al. | Data-driven system-level design framework for responsible cyber-physical-social systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |