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

         )   
    }

0 ответов

Другие вопросы по тегам