/** * @author ETSI / STF517 * @version $URL$ * $Id$ * @desc Test System module for ITS IVIM * */ 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 AcGnssResponse, AcGnssDistanceCovered, AcSecResponse; } // end AdapterControlPort /** * @desc Upper Tester port */ type port UpperTesterPort message { out UtInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination, UtChangePosition, UtChangePseudonym; in UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult, UtChangePositionResult, UtChangePseudonymResult, 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 := {}; } // End of component ItsIvim group facilityPrimitives { group fa1Primitives { /** * @desc FA1 IVIM Indication Primitive * * @member ivimMsg */ type record IvimInd { IVIM msgIn, 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) "LibItsIvim_asn1" } /** * @desc FA1 IVIM Request Primitive * * @member ivimMsg */ type record IvimReq { IVIM msgOut } with { encode (msgOut) "LibItsIvim_asn1" } } // End of group fa1Primitives } // End of group facilityPrimitives with { encode "LibIts_Interface" } // end interfacePrimitives } // End of module LibItsIvim_TestSystem