LibItsMapemSpatem_TestSystem.ttcn 4.87 KB
Newer Older
garciay's avatar
garciay committed
 *    @author   ETSI / STF484 / STF517
Yann Garcia's avatar
Yann Garcia committed
 *    @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
garciay's avatar
garciay committed
 *    @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;
        /**
         * @desc Upper Tester port
         */
        type port UpperTesterPort message {
            out 
                UtMapemSpatemInitialize, UtMapemSpatemTrigger;
                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;
garciay's avatar
garciay committed
        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 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;
Yann Garcia's avatar
Yann Garcia committed
        
        var boolean vc_mapemSpatemDefaultActive := true;
    } // End of component ItsMapemSpatem

    group ApplPrimitives {
        
        type record MapemInd {
            MAPEM       msgIn,
            UInt8       gnNextHeader optional,
            UInt8       gnHeaderType optional,
            UInt8       gnHeaderSubtype optional,
            UInt32      gnLifetime optional,
            UInt8       gnTrafficClass optional,
            UInt16      btpDestinationPort optional,
            UInt16      btpInfo optional,
Yann Garcia's avatar
Yann Garcia committed
            Bit24       ssp optional,
            encode (msgIn) "PER"
            UInt8       gnNextHeader optional,
            UInt8       gnHeaderType optional,
            UInt8       gnHeaderSubtype optional,
            UInt32      gnLifetime optional,
            UInt8       gnTrafficClass optional,
            UInt16      btpDestinationPort optional,
            UInt16      btpInfo optional,
Yann Garcia's avatar
Yann Garcia committed
            Bit24       ssp optional,
            encode (msgIn) "PER"
        }
        
        /**
        * @desc Appl MAPEM and SPATEM Request Primitive 
        */
        type record MapemReq { 
            MAPEM msgOut 
        }
        with {
            encode (msgOut) "PER"
            encode (msgOut) "PER"
    } with {
        variant ""
        encode "LibIts_Interface" 
    } // End of group ApplPrimitives
    
} // End of module LibItsMapemSpatem_TestSystem