25、基于依赖引导的TGG实现一致性测试用例生成

基于依赖引导的TGG实现一致性测试用例生成

1 引言

模型转换是模型驱动工程(MDE)方法的重要组成部分,其正确性至关重要。在关系型模型转换方法中,可能会因错误的操作化实现而产生错误,即操作化未符合转换规范。

一致性是指源模型S经转换实现为目标模型T后,S与T还需根据关系规范相关联(若规范是双向的,则反之亦然)。Triple Graph Grammar(TGG)方法是关系型模型转换方法的重要代表。虽然在一定程度上,TGG及其相应操作化的一致性可通过形式推理证明,但通常不确定实现是否正确实现了描述一致操作化的每个形式概念,且TGG形式化通常未涵盖实现依赖的所有技术细节和额外优化。因此,需要对实现进行一致性测试。

已有一个用于TGG实现自动一致性测试的框架,它能自动生成和执行测试用例。测试用例由源模型(测试输入)和预期目标模型(测试预言)组成。该框架采用随机生成测试用例的方法,执行TGG实现以转换源模型,并将创建的目标模型与预期目标模型进行比较,若检测到差异,则发现了一致性错误。然而,随机生成方法在处理复杂TGG时难以实现完整的规范覆盖,且测试模型可能比实际需要的大很多,不利于调试。

本文提出了一种不同的测试用例生成方法,该方法由TGG规则之间的依赖关系引导,可实现复杂TGG的完整规范覆盖,且测试用例尽可能小,有助于找出一致性错误的原因。

2 三元图语法概述

三元图语法(TGG)是一种用于双向模型转换和模型同步的关系型方法。TGG结合了源模型、目标模型和对应模型的三种传统图语法,对应模型明确存储源模型和目标模型元素之间的对应关系。

2.1 示例元模型

以下是示例元模型:
| 元模型类

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值