/** * @author ETSI / STF449 * @version $URL$ * $Id$ * @desc Test System module for ITS DENM * */ module LibItsDenm_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 DENM_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; // LibItsDenm import from LibItsDenm_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, UtDenmTrigger, UtDenmUpdate, UtDenmTermination, UtChangePosition, UtChangePseudonym; in UtInitializeResult, UtDenmTriggerResult, UtDenmUpdateResult, UtDenmTerminationResult, UtChangePositionResult, UtChangePseudonymResult, UtDenmEventInd; } // end UpperTesterPort } // end portDefinitions group interfacePorts { group facilityPorts { group fa1Ports { /** * @desc FA1 DENM Port (DENM/BTP/GeoNet/G5) */ type port DenmPort message { in DenmInd; out DenmReq; } // End of port DenmPort } // End of group fa1Ports } // End of group facilityPorts } // End of group interfacePorts group componentDefinitions { /** * @desc ITS System Adapter */ type component ItsDenmSystem { port UpperTesterPort utPort; port AdapterControlPort acPort; // FA1 ports port DenmPort denmPort; } // end component ItsAdapter } // End of group componentDefinitions /** * @desc Test component for ITS Facility layer */ type component ItsDenm extends ItsBaseComponent { port AdapterControlPort acPort; port UpperTesterPort utPort; // FA1 ports port DenmPort denmPort; //timers //component variables //default var default vc_default := null; //global variables var SequenceNumber vc_sequenceNo := 0; var boolean vc_denmReceived := false; var UtDenmEventIndList vc_utEvents := {}; var UtDenmActionIDList vc_utActionIDs := {}; var boolean vc_utDefaultActive := true; var boolean vc_denmDefaultActive := true; } // End of component ItsDenm group facilityPrimitives { group fa1Primitives { /** * @desc FA1 DENM Indication Primitive * * @member denmMsg */ type record DenmInd { DENM msgIn, UInt8 gnNextHeader optional, UInt8 gnHeaderType optional, UInt8 gnHeaderSubtype optional, UInt32 gnLifetime optional, UInt8 gnTrafficClass optional, UInt16 btpDestinationPort optional, UInt16 btpInfo optional, Bit128 ssp optional, UInt32 its_aid optional } with { encode (msgIn) "LibItsDenm_asn1" } /** * @desc FA1 DENM Request Primitive * * @member denmMsg */ type record DenmReq { DENM msgOut } with { encode (msgOut) "LibItsDenm_asn1" } } // End of group fa1Primitives } // End of group facilityPrimitives with { encode "LibIts_Interface" } // end interfacePrimitives } // End of module LibItsDenm_TestSystem