高效计算传递闭包的增量模式匹配
在模型驱动的软件工程领域,查询和转换是处理复杂嵌入式或业务系统设计模型的核心技术。然而,当前许多建模工具在大规模建模场景中存在可扩展性问题,因此提升关键用例的性能成为了研究和开发的重点。传递闭包在表达递归定义的模型属性时十分关键,在图转换中,递归图模式常被用于指定传递闭包以处理递归模型结构。本文将围绕增量模式匹配在传递闭包计算中的应用展开探讨。
1. 引言
在模型驱动的软件工程里,查询和转换是处理用于设计复杂嵌入式或业务系统的模型的核心技术。但目前很多实际使用的建模工具在大规模建模场景下存在可扩展性问题,这促使研究人员不断努力提升模型管理、转换、设计时分析和代码生成等关键用例的性能。
传递闭包通常用于表达递归定义的模型属性,在偏序推理中经常使用,广泛应用于建模领域。例如,在可追溯性模型管理和业务流程模型分析中,用于计算模型分区或可达区域。在图转换中,递归图模式常用于指定传递闭包以处理递归模型结构。在元级别,它们可以为维护多级元建模层次结构中的传递类型 - 子类型 - 实例关系提供基础,或者用于维护空间感知随机模拟中的顺序结构。
增量图模式匹配在许多场景中已展现出可扩展性,特别是在运行时模式匹配操作占主导地位的情况下。然而,到目前为止,递归增量模式匹配仅支持无环子图。因此,有效地集成图的传递闭包计算算法将是对当前增量模式匹配器功能的重要扩展。
面临的挑战如下:
- Rete算法处理循环闭包的问题 :Rete算法(如在Viatra2、EMF - IncQuery、GROOVE、JBoss Drools等工具中使用)不能正确处理循环闭包。在存在图循环的情况下,递归模式
超级会员免费看
订阅专栏 解锁全文
9076

被折叠的 条评论
为什么被折叠?



