1.一种面向资源受限环境的设计模式推荐方法,其特征在于,所述方法包括以下步骤:
步骤100,将服务表示为服务描述模型,服务描述模型是由服务描述语言表示,包含输入、输出、数据类型、服务名称、服务结构图、服务环境资源和操作;
步骤200,对设计模式库中的各个设计模式建立三元组模型,即:
model={M_op,M_diag,{res1,res2,…resn}}
M_op表示模式包含的操作,M_diag表示模式结构图,{res1,res2,…resn}表示模式可以应用的环境资源;
步骤300,检索设计模式库,根据模式匹配方法将服务描述模型和设计模式模型匹配,得到符合服务描述模型的设计模型的集合,和与设计模式对应的设计模式匹配程度模型的集合,设计模式匹配程度模型为三元组模型,即:
match={C_op,C_diag,C_res}
C_op表示服务描述模型操作和设计模式模型操作M_op的操作匹配相似度,C_diag表示服务描述模型中服务结构图和设计模式模型中模式结构图M_diag相似度,C_res表示服务描述模型的服务环境资源和设计模式模型满足的环境资源{res1,res2,…resn}的相似度;
步骤400,设计模式推荐方法根据设计模式匹配程度模型生成模式匹配程度U集合,并根据模式匹配程度U排序,推荐符合服务描述模型的设计模式和模式匹配程度U;
所述步骤300中,服务描述模型和设计模式模型进行匹配,将服务描述模型的操作和设计模式模型操作M_op进行遍历匹配,服务描述模型的服务结构图和设计模式模型模式结构图M_diag进行遍历匹配,服务描述模型的服务环境资源和设计模式模型满足的环境资源{res1,res2,…resn}进行遍历匹配,若操作匹配相似度超过α1,结构图相似度超过β1,环境资源相似度超过γ1,则该设计模式是符合服务描述模型的设计模式,得到符合服务描述模型的设计模型的集合,和与设计模式对应的设计模式匹配程度模型的集合。
2.根据权利要求1所述面向资源受限环境的设计模式推荐方法,其特征在于:所述步骤
400中,由设计模式匹配程度模型match={C_op,C_diag,C_res},生成模式匹配程度U:
U=α2·C_op+β2·C_diag+γ2·C_res,α2+β2+γ2=1
将生成的模式匹配程度模型集合根据U的大小进行排序,推荐符合服务描述模型的设计模式及设计模式匹配程度U。
面向资源受限环境的设计模式推荐方法\n技术领域\n[0001] 本发明属于软件开发技术领域,特别涉及一种基于已有的设计模式库的服务化软件建模的方法。\n背景技术\n[0002] 虽然现今硬件的发展越来越迅速,但是在一些特定的场景下,硬件条件并不能完全满足软件运行所需的环境资源,即指通信资源受限、存储资源受限和计算资源受限的环境下,提高软件开发生产率和保证质量存在较大矛盾。\n发明内容\n[0003] 为了克服现有技术的不足,本发明提供一种面向资源受限环境的设计模式推荐方法,本发明拟研制的服务化软件建模方法通过复用成熟稳定的服务化软件架构设计模式手段,显著缩短软件研制周期,提高软件研发效率,实现软件开发能力和产品质量的同步提升。本发明研究制定的服务化软件建模设计模式将显著提高软件灵活重构、快速组装、复用继承等能力。\n[0004] 为了解决上述技术问题本发明采用的技术方案是:\n[0005] 一种面向资源受限环境的设计模式推荐方法,包括以下步骤:\n[0006] 步骤100,将服务表示为服务描述模型,服务描述模型是由服务描述语言表示,包含输入、输出、数据类型、服务名称、服务结构图、服务环境资源和操作;\n[0007] 步骤200,对设计模式库中的各个设计模式建立三元组模型,即:\n[0008] model={M_op,M_diag,{res1,res2,…resn}}\n[0009] M_op表示模式包含的操作,M_diag表示模式结构图,{res1,res2,…resn}表示模式可以应用的环境资源;\n[0010] 步骤300,检索设计模式库,根据模式匹配方法将服务描述模型和设计模式模型匹配,得到符合服务描述模型的设计模型的集合,和与设计模式对应的设计模式匹配程度模型的集合,设计模式匹配程度模型为三元组模型,即:\n[0011] match={C_op,C_diag,C_res}\n[0012] C_op表示服务描述模型操作和设计模式模型操作M_op的操作匹配相似度,C_diag表示服务描述模型中服务结构图和设计模式模型中模式结构图M_diag相似度,C_res表示服务描述模型的服务环境资源和设计模式模型满足的环境资源{res1,res2,…resn}的相似度;\n[0013] 步骤400,设计模式推荐方法根据设计模式匹配程度模型生成模式匹配程度U集合,并根据模式匹配程度U排序,推荐符合服务描述模型的设计模式和模式匹配程度U。\n[0014] 进一步,所述步骤300中,所述的模式匹配方法包括:服务描述模型和设计模式模型进行匹配,将服务描述模型的操作和设计模式模型操作M_op进行遍历匹配,服务描述模型的服务结构图和设计模式模型模式结构图M_diag进行遍历匹配,服务描述模型的服务环境资源和设计模式模型满足的环境资源{res1,res2,…resn}进行遍历匹配,若操作匹配相似度超过α1,结构图相似度超过β1,环境资源相似度超过γ1,则该设计模式是符合服务描述模型的设计模式,得到符合服务描述模型的设计模型的集合,和与设计模式对应的设计模式匹配程度模型的集合。\n[0015] 再进一步,所述步骤400中,所述的设计模式推荐方法包括:\n[0016] 由设计模式匹配程度模型match={C_op,C_diag,C_res},生成模式匹配程度U:\n[0017] U=α2·C_op+β2·C_diag+γ2·C_res,α2+β2+γ2=1\n[0018] 将生成的模式匹配程度模型集合根据U的大小进行排序,推荐符合服务描述模型的设计模式及设计模式匹配程度U。\n[0019] 本发明的有益效果为:面向资源受限的设计模式,能够有效地从大量的设计模式库中选出适合服务描述模型的设计模式,提高设计人员建模的效率,避免不必要的时间花费。\n附图说明\n[0020] 图1是面向资源受限环境的设计模式推荐方法的执行流程示意图。\n[0021] 图2是生产笔的服务结构图。\n[0022] 图3是工厂模式的服务结构图。\n[0023] 图4是模板模式的服务结构图。\n具体实施方式\n[0024] 为使本发明的目的、技术方案和优点更加清楚,将结合附图对本发明作进一步地详细描述。\n[0025] 参照图1~图4,一种面向资源受限环境的设计模式推荐方法,包括以下步骤:步骤\n100,将服务表示为服务描述模型;步骤200,对设计模式库中的各个设计模式建立三元组模型;步骤300,检索设计模式库,根据模式匹配方法将服务描述模型和设计模式模型匹配,得到符合服务描述模型的设计模型的集合,和与设计模式对应的设计模式匹配程度模型的集合;步骤400,推荐符合服务描述模型的设计模式和模式匹配程度U。\n[0026] 下面通过实施例来对本发明做进一步详细说明;\n[0027] 步骤100,将生产笔这个服务描述为以下模型:\n[0028] 输入:红墨水1kg,黑墨水1kg,蓝墨水1kg\n[0029] 输出:红笔1000支,黑笔1000支,蓝笔1000支\n[0030] 数据类型:输入:红墨水、黑魔术、蓝墨水int\n[0031] 输出:红笔、黑笔、蓝笔int\n[0032] 服务名称:生产笔\n[0033] 服务结构图:如图2所示\n[0034] 服务环境资源:计算资源:cpu:i3,主频2.0GHz\n[0035] 存储资源:内存:4GB,外存512GB\n[0036] 操作:生产笔;\n[0037] 步骤200,对设计模式库中的各个设计模式建立三元组模型,其中工厂模式和模板模式的三元组模型如下:\n[0038] 工厂模式model1={M_op:任意,M_diag:如图3所示,{res1(计算资源):cpu i3,主频2.0GHz;res2(存储资源):内存4GB,外存250GB}}\n[0039] 模板模式的模型model2={M_op:任意,M_diag:如图4所示,{res1(计算资源):cpu i5,主频2.0GHz;res2(存储资源):内存4GB,外存512GB}}\n[0040] 步骤300,检索设计模式库,将服务描述模型和设计模式库中每个设计模式模型进行匹配,将服务描述模型的操作和设计模式模型遍历匹配,工厂模式的模型和模板模式的匹配程度满足要求,二者和服务描述模型的操作匹配度超过60%,30%,70%,得到符合服务描述模型的设计模型的集合,和与设计模式对应的设计模式匹配程度模型的集合。工厂模式的设计模式匹配程度模型为match1={100%,100%,75%},模板模式的设计模式匹配程度模型为match2={100%,50%,75%};\n[0041] 步骤400,由设计模式匹配程度模型生成模式匹配程度U,\n[0042] 工厂模式的模式匹配程度U=0.3*100%+0.4*100%+0.3*75%=0.925,[0043] 模板模式的模式匹配程度U=0.3*100%+0.4*50%+0.3*75%=0.725,将生成的模式匹配程度模型集合根据U的大小进行排序,推荐符合服务描述模型的设计模式及设计模式匹配程度U。
法律信息
- 2022-07-15
- 2020-09-22
实质审查的生效
IPC(主分类): G06F 16/248
专利申请号: 202010258419.2
申请日: 2020.04.03
- 2020-08-28
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |