/** * @author ETSI / STF517 * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_TestSystem.ttcn $ * $Id: LibItsIvim_TestSystem.ttcn,v 1.2 2018/05/31 15:57:12 dte Exp $ * @desc Test System module for ITS IVIM * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. * */ module LibItsIvim_TestSystem { // LibCommon import from LibCommon_Time {modulepar all}; import from LibCommon_Sync all; import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; // LibIts import from IVIM_PDU_Descriptions language "ASN.1:1997" all; import from ITS_Container language "ASN.1:1997" all; // LibItsCommon import from LibItsCommon_TestSystem all; import from LibItsCommon_TypesAndValues all; // LibItsIvim import from LibItsIvim_TypesAndValues all; group portDefinitions { /** * @desc Adapter control port */ type port AdapterControlPort message { out AcGnssPrimitive, AcSecPrimitive; in AdapterControlResults; } // end AdapterControlPort /** * @desc Upper Tester port */ type port UpperTesterPort message { out UtIvimInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination; in UtIvimResults, UtIvimEventInd; } // end UpperTesterPort } // end portDefinitions group interfacePorts { group facilityPorts { group fa1Ports { /** * @desc FA1 IVIM Port (IVIM/BTP/GeoNet/G5) */ type port IvimPort message { in IvimInd; out IvimReq; } // End of port IvimPort } // End of group fa1Ports } // End of group facilityPorts } // End of group interfacePorts group componentDefinitions { /** * @desc ITS System Adapter */ type component ItsIvimSystem { port UpperTesterPort utPort; port AdapterControlPort acPort; // FA1 ports port IvimPort ivimPort; } // end component ItsAdapter } // End of group componentDefinitions /** * @desc Test component for ITS Facility layer */ type component ItsIvim extends ItsBaseComponent { port AdapterControlPort acPort; port UpperTesterPort utPort; // FA1 ports port IvimPort ivimPort; //timers //component variables //default var default vc_default := null; //global variables var SequenceNumber vc_sequenceNo := 0; var boolean vc_ivimReceived := false; var UtIvimEventIndList vc_utEvents := {}; var boolean vc_ivimDefaultActive := true; } // End of component ItsIvim group facilityPrimitives { group fa1Primitives { /** * @desc FA1 IVIM Indication Primitive * * @member ivimMsg */ type record IvimInd { IVIM msgIn, UInt64 recvTime optional, UInt8 gnNextHeader optional, UInt8 gnHeaderType optional, UInt8 gnHeaderSubtype optional, UInt32 gnLifetime optional, UInt8 gnTrafficClass optional, UInt16 btpDestinationPort optional, UInt16 btpInfo optional, Bit256 ssp optional, UInt32 its_aid optional } with { encode (msgIn) "PER" } /** * @desc FA1 IVIM Request Primitive * * @member ivimMsg */ type record IvimReq { IVIM msgOut } with { encode (msgOut) "PER" } } // End of group fa1Primitives } // End of group facilityPrimitives with { variant "" encode "LibIts_Interface" } // end interfacePrimitives } // End of module LibItsIvim_TestSystem