Hello,
I am a little bit confused as I don't get what I am doing wrong. Here is my rule:
**************************
rule "Exchange Pattern"
when
$p2: ProcessAdapter()
$mainProcess: ProcessAdapter( isMainProcess(), this!=$p2)
MessageFlowAdapter ( fromProcess == $mainProcess, toProcess==$p2)
MessageFlowAdapter ( fromProcess == $p2, toProcess==$mainProcess)
exists ItemAwareElementAdapter( ) from $mainProcess.getReceivedResources($p2)
exists ItemAwareElementAdapter( ) from $mainProcess.getGivenResources($p2)
then
System.out.println("** FOUND EXCHANGE PATTERN betwwen "+$mainProcess.getParticipant().getName()+" AND "+$p2.getParticipant().getName());
System.out.println("Given: "+$mainProcess.getGivenResources($p2)+$mainProcess.getGivenResources($p2).size());
System.out.println("Received: "+$mainProcess.getReceivedResources($p2)+$mainProcess.getReceivedResources($p2).size());
System.out.println("Intersection: "+$mainProcess.intersectGivenAndReceivedResourcesWithProcess($p2)+$mainProcess.intersectGivenAndReceivedResourcesWithProcess($p2).size());
end
**************************
This rule is never fired, although I know it should.