Написание уточняющего преобразования на ATL
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'
)
}