/*************************************************** ** @author STF 451 (updated by STF 521) ** @version 0.0.2 ** @purpose 1:9, Ensure that the the IUT receives the message sent by mycompA ** @verdict pass accept, ttcn3verdict:pass ** @configuration port:broadcast ***************************************************/ // Two component mycompA and B message exchange module Sem_0901_Communication_ports_002{ type port P message { inout integer } type component Mysystem { timer t_rec,t_rec2; port P messagePort; } function fsend() runs on Mysystem { messagePort.send(2); alt { [] messagePort.receive(3) { setverdict(pass); } [] messagePort.receive { setverdict(fail); } } } function frec() runs on Mysystem { alt { [] messagePort.receive(2) { messagePort.send(3); setverdict( pass ); } [] messagePort.receive { setverdict( fail ); } } } testcase TC_Sem_0901_Communication_ports_002() runs on Mysystem system Mysystem { var Mysystem MyCompA; var Mysystem MyCompB; MyCompA:=Mysystem.create; MyCompB:=Mysystem.create; connect(MyCompA:messagePort,MyCompB:messagePort); MyCompB.start(frec()); MyCompA.start(fsend()); interleave { [] MyCompA.done {} [] MyCompB.done {} } } control { execute(TC_Sem_0901_Communication_ports_002(), 5.0); } }