/** * @author ETSI / STF405 / STF449 * @version $URL$ * $Id$ * @desc Test System module for ITS GeoNetworking * */ module LibItsGeoNetworking_TestSystem { // LibCommon import from LibCommon_Time {modulepar all}; import from LibCommon_Sync all; import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; // LibItsCommon import from LibItsCommon_TestSystem all; import from LibItsCommon_TypesAndValues all; import from LibItsExternal_TypesAndValues all; // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; // LibItsSecurity import from LibItsSecurity_TestSystem all; import from LibItsIpv6OverGeoNetworking_TypesAndValues all; group portDefinitions { /** * @desc Adapter control port */ type port AdapterControlPort message { out AcGnPrimitive, AcGn6Primitive, AcGnssPrimitive, AcSecPrimitive; in AcGnResponse, AcGn6Response, AcGnssResponse, AcGnssDistanceCovered, AcSecResponse; } // end AdapterControlPort /** * @desc Upper Tester port */ type port UpperTesterPort message { out UtInitialize, UtChangePosition, UtGnTrigger; in UtInitializeResult, UtChangePositionResult, UtGnTriggerResult, UtGnEventInd; } // end UpperTesterPort } // end portDefinitions group interfacePorts { group networkAndTransportPorts { group nt2Ports { /** * @desc NT2 GeoNetworking Port (GeoNetworking/G5) */ type port GeoNetworkingPort message { in GeoNetworkingInd; out GeoNetworkingReq; } // end GeoNetworkingPort } // End of group nt2Ports } // End of group networkAndTransportPorts } // End of group interfacePorts group componentDefinitions { /** * @desc ITS Main Test Component */ type component ItsMtc extends ItsBaseMtc, ServerSyncComp, ItsSecurityBaseComponent { // TODO Extend ItsBaseMtc with ItsSecurityBaseComponent? { port UpperTesterPort utPort; port AdapterControlPort acPort; var ComponentTable vc_componentTable := {}; // UT indications var UtGnEventIndList vc_utInds := {}; var boolean vc_utDefaultActive := true; var boolean vc_acDefaultActive := true; var boolean vc_gnDefaultActive := true; } // end ItsMtc /** * @desc ITS System Adapter */ type component ItsGeoNetworkingSystem { port UpperTesterPort utPort; port AdapterControlPort acPort; // NT2 ports port GeoNetworkingPort geoNetworkingPort; } // end ItsGeoNetworkingSystem } // End of group componentDefinitions type component ItsBaseGeoNetworking extends ItsBaseComponent, ItsSecurityBaseComponent { // TODO Extend ItsBaseComponent with ItsSecurityBaseComponent? port UpperTesterPort utPort; port AdapterControlPort acPort; // UT indications var UtGnEventIndList vc_utInds := {}; var boolean vc_utDefaultActive := true; var boolean vc_acDefaultActive := true; var boolean vc_gnDefaultActive := true; } /** * @desc Test component for ITS Network and Transport layer */ type component ItsGeoNetworking extends ItsBaseGeoNetworking { // NT2 ports port GeoNetworkingPort geoNetworkingPort; //variables for Gn var UInt16 vc_localSeqNumber := 0; var PositionTable vc_positionTable := {}; var GeoAreaTable vc_areaTable := {}; var charstring vc_componentName := ""; var default vc_neighbourDefault; var integer vc_multipleMessagesCount := 0; } // End of component ItsGeoNetworking group networkAndTransportPrimitives { group nt2Primitives { /** * @desc NT2 GeoNetworking Indication Primitive */ type record GeoNetworkingInd { GeoNetworkingPdu msgIn, MacAddress macDestinationAddress, Bit256 ssp optional, UInt32 its_aid optional } /** * @desc NT2 GeoNetworking Request Primitive */ type record GeoNetworkingReq { GeoNetworkingPdu msgOut, MacAddress macDestinationAddress } } // end nt2Primitives } // End of group networkAndTransportPrimitives with { encode "LibIts_Interface" } // end interfacePrimitives group misc { type record ComponentEntry { charstring componentName, ItsGeoNetworking gnComponent optional } type record of ComponentEntry ComponentTable; } // end misc } // End of module LibItsGeoNetworking_TestSystem