/** * @author ETSI / STF517 * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_TestSystem.ttcn $ * $Id: LibItsIvim_TestSystem.ttcn,v 1.2 2018/05/31 15:57:12 dte Exp $ * @desc Test System module for ITS IVIM * @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 LibItsIvim_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 IVIM_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; // LibItsIvim import from LibItsIvim_TypesAndValues all; group portDefinitions { /** * @desc Adapter control port */ type port AdapterControlPort message { out AcGnssPrimitive, AcSecPrimitive; in AdapterControlResults; } // end AdapterControlPort /** * @desc Upper Tester port */ type port UpperTesterPort message { out UtIvimInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination; in UtIvimResults, UtIvimEventInd; } // end UpperTesterPort } // end portDefinitions group interfacePorts { group facilityPorts { group fa1Ports { /** * @desc FA1 IVIM Port (IVIM/BTP/GeoNet/G5) */ type port IvimPort message { in IvimInd; out IvimReq; } // End of port IvimPort } // End of group fa1Ports } // End of group facilityPorts } // End of group interfacePorts group componentDefinitions { /** * @desc ITS System Adapter */ type component ItsIvimSystem { port UpperTesterPort utPort; port AdapterControlPort acPort; // FA1 ports port IvimPort ivimPort; } // end component ItsAdapter } // End of group componentDefinitions /** * @desc Test component for ITS Facility layer */ type component ItsIvim extends ItsBaseComponent { port AdapterControlPort acPort; port UpperTesterPort utPort; // FA1 ports port IvimPort ivimPort; //timers //component variables //default var default vc_default := null; //global variables var SequenceNumber vc_sequenceNo := 0; var boolean vc_ivimReceived := false; var UtIvimEventIndList vc_utEvents := {}; var boolean vc_ivimDefaultActive := true; } // End of component ItsIvim group facilityPrimitives { group fa1Primitives { /** * @desc FA1 IVIM Indication Primitive * * @member ivimMsg */ type record IvimInd { IVIM msgIn, UInt8 gnNextHeader optional, UInt8 gnHeaderType optional, UInt8 gnHeaderSubtype optional, UInt32 gnLifetime optional, UInt8 gnTrafficClass optional, UInt16 btpDestinationPort optional, UInt16 btpInfo optional, Bit256 ssp optional, UInt32 its_aid optional } with { encode (msgIn) "PER" } /** * @desc FA1 IVIM Request Primitive * * @member ivimMsg */ type record IvimReq { IVIM msgOut } with { encode (msgOut) "PER" } } // End of group fa1Primitives } // End of group facilityPrimitives with { variant "" encode "LibIts_Interface" } // end interfacePrimitives } // End of module LibItsIvim_TestSystem