-- TTCN3 module extracted from ITU-T Z.165 (05/2012)

module triScenario3 { signature MyProc ( in float par1, inout float par2) exception(MyExceptionType); type record MyExceptionType { FieldType1 par1, FieldType2 par2 } type port PortTypeProc procedure { in MyProc } type component MyComponent { port PortTypeProc MyPort; timer MyTimer = 3 } testcase scenario3(integer x) runs on MyComponent { MyPort.start; MyTimer.start; alt { [] MyPort.getcall(MyProc:{5.0, 6.0}) { MyTimer.stop; } [x>5] MyTimer.timeout { MyPort.reply(MyProc:{ , 30.0}); } [x<=5] MyTimer.timeout { MyPort.raise(MyProc, MyExceptionType:{p1, p2} ); } } MyPort.stop; } control { execute( scenario3(4) ); } }