LibItsDenm_TestSystem.ttcn 3.67 KB
Newer Older
ASN.1 Documenter's avatar
ASN.1 Documenter committed
/**
 *    @author     ETSI / STF449 / STF484 / STF517
 *    @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/DENM/LibItsDenm_TestSystem.ttcn $
 *                 $Id: LibItsDenm_TestSystem.ttcn 1318 2017-01-26 10:20:53Z filatov $
 *    @desc        Test System module for ITS DENM
 *    @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 LibItsDenm_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 DENM_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;
    
    // LibItsDenm
    import from LibItsDenm_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 
                UtDenmInitialize, UtDenmTrigger, UtDenmUpdate, UtDenmTermination, UtDenmChangePosition, UtDenmChangePseudonym;
            in 
                UtDenmResults, UtDenmEventInd;
        } // end UpperTesterPort
        
    } // end portDefinitions
    group interfacePorts {
        
        group facilityPorts {
            
            group fa1Ports {
    
                /**
                 * @desc FA1 DENM Port (DENM/BTP/GeoNet/RadioNetwork) 
ASN.1 Documenter's avatar
ASN.1 Documenter committed
                 */
                type port DenmPort message {
                    in DenmInd;
                    out DenmReq;
                } // End of port DenmPort
                
            } // End of group fa1Ports
            
        } // End of group facilityPorts
    
    } // End of group interfacePorts
        
    group componentDefinitions {

        /**
         * @desc ITS System Adapter
         */
        type component ItsDenmSystem {
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
            
            // FA1 ports
            port DenmPort denmPort;
            
        } // end component ItsAdapter
        
    } // End of group componentDefinitions
    
    /**
     * @desc Test component for ITS Facility layer 
     */
    type component ItsDenm extends ItsBaseComponent {

        port AdapterControlPort acPort;
        port UpperTesterPort utPort;

        // FA1 ports
        port DenmPort denmPort;
        
        //timers
        
        //component variables
        
        //default
        var default vc_default := null;
        
        //global variables
        var SequenceNumber vc_sequenceNo := 0;
        var boolean vc_denmReceived := false;
        
        var UtDenmEventIndList vc_utEvents := {};
        
        var UtDenmActionIDList vc_utActionIDs := {};
        
        var boolean vc_utDefaultActive := true;
        var boolean vc_denmDefaultActive := true;
        
    } // End of component ItsDenm

} // End of module LibItsDenm_TestSystem