/** * @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 Main Test Component */ type component ItsMtc extends ItsBaseMtc, ItsMapemSpatem { var ComponentTable vc_componentTable := {}; } // end ItsMtc /** * @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, 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, 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 group misc { type record ComponentEntry { charstring componentName, ItsMapemSpatem msComponent optional } type record of ComponentEntry ComponentTable; } // end misc } // End of module LibItsMapemSpatem_TestSystem