27、递归检查型QVT - R转换与Java数据图转换

递归检查型QVT - R与Java数据图转换

递归检查型QVT - R转换与Java数据图转换

递归检查型QVT - R转换

在QVT - R转换中,存在关系直接或间接递归调用自身的情况。不过,由于转换过程中引入了否定,在某些情况下会导致生成的μ演算公式格式错误。所以需要一个能直接应用于原始QVT - R转换的准则,以确保目标μ演算公式格式正确。

递归路径与格式良好的定义
  • 递归路径 :在QVT - R转换中,递归路径是一个有限序列,其元素可以是关系名、“when”、“where”或“not”。该序列需满足:
    1. 序列的第一个和最后一个元素是相同的关系名。
    2. 任何子序列R … S(R和S是关系名,且中间元素不是关系名),对应于S从R的“when”或“where”子句中被调用。中间元素只能是:
      • 如果S在R的“when”子句中被调用,且调用处于i个否定之下,则为“when”后跟i(i ≥ 0)个“not”。
      • 如果S在R的“where”子句中被调用,且调用处于i个否定之下,则为“where”后跟i(i ≥ 0)个“not”。
  • 格式良好的QVT - R转换 :如果在每条递归路径上,“not”的数量加上“when”的数量为偶数,则该QVT - R转换是递归格式良好的。因为在转换函数中,每个“not”和“when”都会使布尔标志翻转,所以递归格式良好的QVT - R转换恰好能生成格式良好的μ公式。
无限游
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值