/** * @author ETSI / STF484 / STF517 * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn $ * $Id: LibItsMapemSpatem_TestSystem.ttcn,v 1.2 2018/05/31 15:57:10 dte Exp $ * @desc Test System module for ITS MAPEM SPATEM * @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 LibItsMapemSpatem_TestSystem { // LibCommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_Time all; import from LibCommon_Sync all; import from LibCommon_DataStrings all; // LibIts import from ITS_Container language "ASN.1:1997" all; import from MAPEM_PDU_Descriptions language "ASN.1:1997" all; import from SPATEM_PDU_Descriptions language "ASN.1:1997" all; import from EfcDsrcGeneric language "ASN.1:1997" all; // LibItsCommon import from LibItsCommon_TestSystem all; import from LibItsCommon_TypesAndValues all; // LibItsMapemSpatem import from LibItsMapemSpatem_TypesAndValues all; group portDefinitions { /** * @desc Adapter control port */ type port AdapterControlPort message { out AcSecPrimitive; in AdapterControlResults; } // end AdapterControlPort /** * @desc Upper Tester port */ type port UpperTesterPort message { out UtMapemSpatemInitialize, UtMapemSpatemTrigger; in UtMapemSpatemResults, UtMapemEventInd , UtSpatemEventInd; } // end UpperTesterPort } // end portDefinitions group interfacePorts { /** * @desc Application MapSpat Port */ type port MapemSpatemPort message { in MapemInd , SpatemInd ; out MapemReq , SpatemReq } } // End of group interfacePorts /** * @desc ITS System Adapter */ type component ItsMapemSpatemSystem { port UpperTesterPort utPort; port AdapterControlPort acPort; port MapemSpatemPort mapemSpatemPort; } // End of component ITS System Adapter /** * @desc Test component for ITS MAPEM-SPATEM application layer */ type component ItsMapemSpatem extends ItsBaseComponent { port AdapterControlPort acPort; port UpperTesterPort utPort; port MapemSpatemPort mapemSpatemPort; //timers //component variables var MapemInd vc_mapMsg; var SpatemInd vc_spatMsg; var UtMapemEventIndList vc_utMapemEvents := {}; var UtSpatemEventIndList vc_utSpatemEvents := {}; //default var default vc_default := null; //global variables var boolean vc_mapemReceived := false; var boolean vc_spatemReceived := false; var boolean vc_mapemSpatemDefaultActive := true; } // End of component ItsMapemSpatem group ApplPrimitives { type record MapemInd { MAPEM 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, Bit24 ssp optional, UInt32 its_aid optional } with { encode (msgIn) "PER" } type record SpatemInd { SPATEM 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, Bit24 ssp optional, UInt32 its_aid optional } with { encode (msgIn) "PER" } /** * @desc Appl MAPEM and SPATEM Request Primitive */ type record MapemReq { MAPEM msgOut } with { encode (msgOut) "PER" } type record SpatemReq { SPATEM msgOut } with { encode (msgOut) "PER" } } with { variant "" encode "LibIts_Interface" } // End of group ApplPrimitives } // End of module LibItsMapemSpatem_TestSystem