/** * @author ETSI / STF405 / STF449 / STF484 / STF517 * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/GeoNetworking/LibItsGeoNetworking_TestSystem.ttcn $ * $Id: LibItsGeoNetworking_TestSystem.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Test System module for ITS GeoNetworking * @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 LibItsGeoNetworking_TestSystem { // LibCommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; import from LibCommon_Sync 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, AdapterControlResults; } // end AdapterControlPort /** * @desc Upper Tester port */ type port UpperTesterPort message { out UtGnInitialize, UtGnChangePosition, UtAutoInteropTrigger, UtGnTrigger; // FIXME Remove UtAutoInteropTrigger from GN component, create an AutoInterop component in UtGnResults, 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, ItsBaseGeoNetworking { var ComponentTable vc_componentTable := {}; } // 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 { 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 } with { //encode "RAW"; variant "FIELDORDER(msb)" } /** * @desc NT2 GeoNetworking Request Primitive */ type record GeoNetworkingReq { GeoNetworkingPdu msgOut, MacAddress macDestinationAddress, UInt32 its_aid } with { //encode "RAW"; variant "FIELDORDER(msb)" } } // end nt2Primitives } // End of group networkAndTransportPrimitives with { variant "" 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