LibItsSecurity_TestSystem.ttcn3 3.61 KB
Newer Older
garciay's avatar
garciay committed
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Test System module for Security Protocol
 *
 */
module LibItsSecurity_TestSystem {
garciay's avatar
garciay committed
    
    // LibCommon
    import from LibCommon_Sync {
        type ServerSyncComp
    };
    
    // LibItsCommon
    import from LibItsCommon_TestSystem all;
    import from LibItsCommon_TypesAndValues all;
    
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    
    group portDefinitions {
        
        /**
         * @desc Adapter control port
         */
        type port AdapterControlPort message {
            out
                AcGnSecurityPrimitive;
            in
                AcGnSecurityResponse;
        } // End of AdapterControlPort
        
        /**
         * @desc Upper Tester port
         */
        type port UpperTesterPort message {
            out
                UtInitialize;
            in
                UtInitializeResult;
        } // End of UpperTesterPort
        
    } // End of portDefinitions
    
    group interfacePorts {
        
        group networkAndTransportPorts {
            
            group nt2Ports {
                
                /**
                 * @desc NT2 GeoNetworking Secutity Port (GnSec/G5)
                 */
                type port GnSecurityPort message {
                    in GnSecurityInd;
                    out GnSecurityReq;
                } // End of GnSecurityPort
                
            } // End of group nt2Ports
            
        } // End of group networkAndTransportPorts
    
    } // End of group interfacePorts
    
    group componentDefinitions {
        
        /**
         * @desc ITS Main Test Component
         */
        type component ItsMtc extends ItsBaseMtc, ServerSyncComp {
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
            
        } // End of type ItsMtc
        
        /**
         * @desc ITS System Adapter
         */
        type component ItsGnSecuritySystem {
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
            
            // NT2 ports
            port GnSecurityPort gnSecurityPort;
            
        } // End of type ItsGnSecuritySystem
        
    } // End of group componentDefinitions
    
    type component ItsBaseGnSecurity extends ItsBaseComponent {
        
        port UpperTesterPort utPort;
        port AdapterControlPort acPort;
        
    }
    
    /**
     * @desc Test component for ITS Network and Transport layer
     */
    type component ItsGnSecurity extends ItsBaseGnSecurity {
        
        // NT2 ports
        port GnSecurityPort gnSecurityPort;
        
        // Variables for GnSecurity
        
    } // End of component ItsGeoNetworking
    
    group networkAndTransportPrimitives {
        
        group nt2Primitives {
            
            /**
garciay's avatar
garciay committed
             * @desc NT2 GeoNetworking Security Indication Primitive
             * @member msgInd TODO
garciay's avatar
garciay committed
             */
            type record GnSecurityInd {
garciay's avatar
garciay committed
                SecuredMessage msgInd
garciay's avatar
garciay committed
            } // End of type GnSecurityInd
            
            /**
garciay's avatar
garciay committed
             * @desc NT2 GeoNetworking Security Request Primitive
             * @member msgReq TODO
garciay's avatar
garciay committed
             */
            type record GnSecurityReq {
garciay's avatar
garciay committed
                SecuredMessage msgReq
garciay's avatar
garciay committed
            } // End of type GnSecurityReq
            
        } // End of nt2Primitives
        
    } // End of group networkAndTransportPrimitives
    with {
        encode "LibIts_Interface"
    } // End of interfacePrimitives
    
garciay's avatar
garciay committed
} // End of module LibItsSecurity_TestSystem