一种基于信息隐藏的图转换系统模型检测方法_2

文档序号:9667128阅读:来源:国知局
具体的节点中,比如 说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。我们可以通过这个属性计算空间是否已经满了。节点以及节点中的属性都是为 了满足系统不同的需求而定义的,整个系统状态的变化正是由它们的变化体现出来的。
[0034] (3)根据系统的实际需求,定义一组规则来描述系统的行为,通过这些规则可以展 现出整个系统是如何演化的。到此步骤时,系统已经被分为两个层次,描述同样的行为,在 不同层次的图文法的规则是不一样的。因此在GROOVE中定义规则时,要用到信息隐藏的原 理。
[0035] 在本实施例中,根据系统的需求,定义具体的规则,如图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 断开连接。通过这些规则可以展现出整个任务调度系统是如何演化的。
[0036] (4)用假设-保证技术验证基于层次结构和信息隐藏特点的图转换系统。
[0037] 具体包括有以下步骤:
[0038] (41)提出待验证的属性,并将其用线性逻辑公式表示。在本实施例中,待验证的性 质是,当一个Task提出了请求,它最终是否能够被满足。我们将其用线性逻辑公式表示出 来,并用实例图将其进行匹配,如图4。
[0039] (42)分析这个属性涉及的层次结构,第二层中会依赖于一个新的属性(若是待验 证的属性成立,则这个新的属性在第二层必然成立),Schedule里面产生的Resource请求 最终会被满足。同样的,我们用线性逻辑公式将其表出,并用实例图进行匹配,如图5。
[0040] (43)对步骤(42)中新的属性进行必要的假设,并把它作为待验证属性的一种必 要保证,然后在GROOVE中直接验证第一层(输入步骤(41)中的线性逻辑公式即可)。
[0041] 比如,假设上面第二层中的属性总是会被满足,即如果Schedule里面产生了 Resource请求,那么它一定会被满足,然后在GROOVE中验证第一个层次。
[0042] (44)把步骤(43)中假设的新的属性,在它所在的层次中分别验证,在GROOVE中在 第二层验证在步骤(43)中假设的属性。
[0043] 在所有的步骤完成之后,为了证明本发明的高效性,特地用传统的平展化的方法 进行了实验,并从状态数量(States),状态转移数量(Transitions),验证过程所用时间 (Time,以秒s为单位),以及内存消耗(Memory,以兆字节MB为单位)作为度量标准,得到 了下面的实验结果。表1表示用传统的平展化得方法得到的结果。表2的结果是在GROOVE 中分别对两个层次进行实验,将两层数据相加而得。这么做是为了更好地与传统的方法进 行对比,同时用图表的形式直观地展现出这两种方法的区别。图6展现了在不同的参数下, 传统的方法与本发明在状态数量方面的对比。图7是状态转移数量的对比图。图8是所用 时间的对比图。图9是内存消耗的对比图。图6-9可以体现本发明的高效性。
[0044] 表1 :传统平展化方法的实验结果
[0045]
[0046] 表2 :本发明的实验结果
[0047]
[0048] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是 按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围 之内。
【主权项】
1. 一种基于信息隐藏的图转换系统模型检测方法,其特征在于包括如下步骤: (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)中假设的新的属性,在它所在的层次中分别验证。
【专利摘要】本发明公开一种基于信息隐藏的图转换系统模型检测方法,步骤是:将系统分为两层,将可见部分定义为第一层,将内部部分定义为第二层;构建系统的全局类型图,标记出其中的所有节点,并用不同颜色的背景区分为可见部分和内部部分;每个节点都有一个包含了层次结构的可见部分,其描述了与分层结构中当前层次相关的节点的接口;还有一个内部部分,其描述了较低抽象层次中节点的详细结构;定义一组规则来描述系统的行为,用假设-保证技术验证图转换系统。此种方法利用层次结构和信息隐藏的概念,来减少验证过程中的状态数目,以缓解状态空间爆炸问题;利用假设-保证技术处理层次结构,解决了之前的验证方法无法验证带层次结构的图转换系统的问题。
【IPC分类】G06F9/44
【公开号】CN105426176
【申请号】CN201510738061
【发明人】周宇, 周女琪, 顾佳仪
【申请人】南京航空航天大学
【公开日】2016年3月23日
【申请日】2015年11月3日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1