[发明专利]一种基于考虑约束的并行广度优先搜索的架构测试方法在审
| 申请号: | 202111679873.6 | 申请日: | 2021-12-31 |
| 公开(公告)号: | CN114371998A | 公开(公告)日: | 2022-04-19 |
| 发明(设计)人: | 张俊勃;陈戈 | 申请(专利权)人: | 华南理工大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 周春丽 |
| 地址: | 510640 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 考虑 约束 并行 广度 优先 搜索 架构 测试 方法 | ||
1.一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述约束包括对功能的调用设置约束和对功能本身设置的约束,基于所述约束,所述方法包括以下步骤:
S1:建立基于服务的表征业务流程的软件架构图模型,并定义节点功能信息及功能调用信息,基于图模型进行步骤S2~S12的并行广度优先搜索,搜索出业务流程;
S2:启动搜索算法,读取搜索所需要的节点功能信息及功能调用信息;
S3:搜索起始功能,把起始功能添加到流程集A中,同时令搜索的深度为i=1;
S4:依次对流程集A的所有流程进行并行功能扩展,并行功能扩展即为对流程集A中的所有流程并行执行步骤S5~S10,令流程集A的索引k=1,初始化暂存流程集AT;
S5:定位到流程集A的第k个流程Ak,开始对流程Ak进行搜索扩展;
S6:定位到流程Ak的第i层深度,假设该层深度有n个功能,读取这n个功能的调用信息,并令n=1;
S7:对Ak的第i层深度的第n个功能进行扩展,搜索出第n个功能及其与其他未扩展功能之间的所有组合情况,这些组合情况构成可能流程,并把这些可能流程添加到AT中;
S8:把第i层深度的第n个功能标为已扩展功能;
S9:若Ak的第i层深度中还有未扩展的功能,则令n=n+1,并返回执行S7;如果没有,则继续执行S10;
S10:若流程集A中还有未被扩展的流程,则令k=k+1,并返回执行S5;如果没有,则继续执行S11;
S11:若AT中还有元素,则执行S12;如果没有,则继续执行S13;
S12:把AT中的元素添加到流程集A中,然后令i=i+1,并返回执行S4;
S13:对搜索出的业务流程进行正确性检测,以优化软件架构。
2.根据权利要求1所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述对功能的调用设置约束包括限制节点功能的调用约束和限制对同一节点功能的并行调用次数约束。
3.根据权利要求2所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述限制节点功能的调用约束的获取方法为:根据业务的特点及组织结构,抽象出业务流程中实际存在的调用关系,并把这些调用关系转化为功能间的调用关系,所有所述功能间的调用关系构成了可行调用集合,所述可行调用集合将作为限制节点功能的调用约束。
4.根据权利要求2所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述限制对同一节点功能的并行调用次数是指,把同一节点功能的并行调用次数限制为1次。
5.根据权利要求1所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述对功能本身设置的约束包括起始功能约束和可终止功能约束。
6.根据权利要求5所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述起始功能约束是指将起始功能的数量限制为一个,其中起始功能为业务流程的第一个功能,剔除其他以非起始功能为起点的流程。
7.根据权利要求5所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,所述可终止功能是指,既可以通过功能调用的方式继续推进业务,又可以把结果反馈给客户端以结束该流程分支的功能。
8.根据权利要求1所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,步骤S1中所述业务流程表示为所述图模型中各节点先后执行功能的过程。
9.根据权利要求1所述的一种基于考虑约束的并行广度优先搜索的架构测试方法,其特征在于,步骤S3中所述起始功能是指起始功能约束中设置的起始功能,算法基于该起始功能开始进行搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111679873.6/1.html,转载请声明来源钻瓜专利网。





