ItsAutoInterop_TestSystem.ttcn 3.85 KB
Newer Older
module ItsAutoInterop_TestSystem { 
    
    // Libcommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;
    
    // LibItsCommon
    import from LibItsCommon_TestSystem all;
    import from LibItsCommon_TypesAndValues all;
    import from LibItsExternal_TypesAndValues all;
    
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_TypesAndValues all;
    import from LibItsGeoNetworking_TestSystem all;
    
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    import from LibItsSecurity_TestSystem all;
    
    // ItsAutoInterop
    import from ItsAutoInterop_TypesAndValues all;
    
    group portDefinitions {
        
        /**
         * @desc Adapter control port
         */
        type port AdapterControlPort message {
            out
               AcGnssPrimitive, AcSecPrimitive;
            in
               AdapterControlResults;
        } // end AdapterControlPort
        
        type port HmiPort message {
            in 
garciay's avatar
garciay committed
                HmiAutoInteropResults, HmiNeighborEventInds, HmiSignageEventInd;
        /**
         * @desc Upper Tester port
         */
        type port UpperTesterPort message {
            out
                UtInitialize, UtAutoInteropTrigger;
            in
                UtCommonResults, UtAutoInteropTriggerResult, UtGnEventInd;
        } // End of port UpperTesterPort
    } // End of group portDefinitions 
    group systemInterface {
        
        /**
         * @desc ITS System Adapter
         */
        type component ItsAutoInteropGeoNetworkingSystem {
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
            port HmiPort hmiPort;
            
            // NT2 ports
            port GeoNetworkingPort geoNetworkingPort;
            
        } // End of component ItsAutoInteropGeoNetworkingSystem
        
    } // End of group systemInterface
    
    group componentDefinitions {
        
        type component ItsAutoInteropGeoNetworkingMtc extends ItsBaseMtc, ItsBaseGeoNetworking {}
        
        /**
         * @desc Test component for ITS Network and Transport layer
         */
        type component ItsAutoInteropGeonetworking extends ItsBaseComponent, ItsSecurityBaseComponent { 
            port EutGeoNetworkingPort eutGeoNetworkingPort;
            port GeoNetworkingPort geoNetworkingPort;
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
            port HmiPort hmiPort;
            
            // UT indications
            var UtGnEventIndList vc_utInds := {};
            // HMI indications
            var HmiNeighborEventIndList vc_hmiNeighborEventIndsList := {};
            var HmiSignageEventIndList vc_hmiSignageEventIndList := {};
            
            var boolean vc_autoInteropDefaultActive := true;
            var boolean vc_utDefaultActive := true;
            var boolean vc_hmiDefaultActive := true;
            var boolean vc_acDefaultActive := true;
        } // End of component ItsAutoInteropGeonetworking
        
    } // End of group componentDefinitions
    
    type port EutGeoNetworkingPort message {
        inout EutGeoNetworking
    } with {
        extension "internal"
    }
    
    /**
     * @desc Inter EUT component communication
     */
    type record EutGeoNetworking {
        GeoNetworkingPdu    msg,
        MacAddress          macDestinationAddress,
        Bit256              ssp optional,
        UInt32              its_aid optional
    } with {
        encode "RAW";
        variant ""
    } // End of type EutGeoNetworking
    
    group hmiPrimitives {
        
    } // End of group hmiPrimitives
    
    group utPrimitives {
        
    } // End of group utPrimitives
    
} // End of module ItsAutoInterop_TestSystem