rule generalization { from gen: UML2!Generalization ( not gen.oclIsUndefined() and gen.shouldBeCreated() and not gen.general.oclIsUndefined() ) to trg: UML2!Generalization ( general <- gen.general -> debug('Generalization') ) }
rule generalization { from gen: UML2!Generalization ( gen.refImmediateComposite().hasStereotype('MyProfile::MyStereotype') -- Instead of calling the refImmediateComposite() method, an equivalent available reference could be used if existing ) to trg: UML2!Generalization ( general <- gen.general -> debug('Generalization'), ... ) }
not gen.refImmediateComposite().getAppliedStereotypes().isEmpty() and not gen.general.refImmediateComposite().getAppliedStereotypes().isEmpty()
rule Association { from ua: UML2!Association ( ua.oclIsTypeOf(UML2!Association) and not ua.oclIsUndefined() ) to ma: UML2!Association ( name <- ua.name, isAbstract <- ua.isAbstract, generalization <- ua.generalization, memberEnd <- ua.memberEnd, ownedEnd <- ua.ownedEnd ) } rule Dependency { from ud: UML2!Dependency ( not ud.oclIsUndefined() and ud.oclIsTypeOf(UML2!Dependency) ) to mi: UML2!Dependency ( supplier <- ud.supplier, client <- ud.client, name <- ud.name ) }
helper context OclAny def: belongsToStereotypedClass(): Boolean = if self.oclIsUndefined() then false else if not self.refImmediateComposite().oclIsUndefined() then if self.refImmediateComposite().oclIsTypeOf(UML2!Class) then if not self.refImmediateComposite().getClass().getAppliedStereotype('RCP_Profile::View').oclIsUndefined() or not self.refImmediateComposite().getClass().getAppliedStereotype('RCP_Profile::Perspective') .oclIsUndefined() then true else self.refImmediateComposite().belongsToStereotypedClass() endif else self.refImmediateComposite().belongsToStereotypedClass() endif else false endif endif;
org.eclipse.m2m.atl.engine.emfvm.VMException: refImmediateComposite only valid on model elements
rule Association { from ua: UML2!Association ( ua.oclIsTypeOf(UML2!Association) and not ua.oclIsUndefined() ) to ma: UML2!Association ( name <- ua.name -> debug('Association'), isAbstract <- ua.isAbstract, generalization <- ua.generalization, memberEnd <- ua.memberEnd, ownedEnd <- ua.ownedEnd, ownedComment <- ua.ownedComment ) do{ if (not ma.memberEnd.testSet(2)) then ma.destroy() else false endif; } }
helper context UML2!Property def : filter : Boolean = not self.testSet(2);
helper context UML2!Association def : filter : Boolean = self.oclIsTypeOf(UML2!Association) and not self.oclIsUndefined() and self.memberEnd.filter;
rule Association { from ua: UML2!Association ( ua.filter ) to