Hiii 我正在写一个ATL转换,它将OCL表达式从forALL转换为存在。但它不能像运行转换后那样创建具有相同约束的新OCL文件
这是规则,有人可以告诉我这是怎么回事
rule IteratorExpressionfromforAlltoexists{
from s: OCL!IteratorExp(
s.oclIsTypeOf(OCL!IteratorExp) and s.name = 'forAll' and
--s.source.source.oclIsTypeOf(OCL!OclExpression))
if s.source.oclIsTypeOf(OCL!OperationCallExp) then
if s.source.name = 'allInstances' then
false
else true
endif
else true
endif
)
to t: OCL!IteratorExp(
name <- 'exists'
)
}