LibItsIpv6OverGeoNetworking_TestSystem.ttcn 3.51 KB
Newer Older
reinaortega's avatar
reinaortega committed
/**
garciay's avatar
garciay committed
 *  @author      ETSI / STF405
Yann Garcia's avatar
Yann Garcia committed
 *  @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_TestSystem.ttcn $
 *               $Id: LibItsIpv6OverGeoNetworking_TestSystem.ttcn 1318 2017-01-26 10:20:53Z filatov $
garciay's avatar
garciay committed
 *  @desc        Test System module for ITS Ipv6OverGeoNetworking
 *  @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.
reinaortega's avatar
reinaortega committed
 *
 */
module LibItsIpv6OverGeoNetworking_TestSystem {
    
    // LibCommon
    import from LibCommon_Time {modulepar all};
    import from LibCommon_Sync all;

	// LibIts
	import from LibItsGeoNetworking_TestSystem all;
	import from LibItsIpv6OverGeoNetworking_TypesAndValues all;
	import from LibItsExternal_TypesAndValues all;

    group componentDefinitions {
    
        /**
         * @desc ITS System Adapter
         */
        type component ItsIpv6OverGeoNetworkingSystem extends ItsGeoNetworkingSystem {
            
            // NT2 ports
            port IPv6OverGeoNetworkingPort ipv6OverGeoNetworkingPort;            

        } // end component ItsAdapter
        
    } // End of group componentDefinitions

    group interfacePorts {

        group networkAndTransportPorts {
            
            group nt2Ports {

                /**
                 * @desc NT2 IPv6 over GeoNetworking Port (IPv6/GeoNetworking/RadioNetwork) 
reinaortega's avatar
reinaortega committed
                 */
                type port IPv6OverGeoNetworkingPort message {
                    in IPv6OverGeoNetworkingInd;
                    out IPv6OverGeoNetworkingReq;
                } // end IPv6OverGeoNetworkingPort
                
            } // End of group nt2Ports
            
        } // End of group networkAndTransportPorts
    
    } // End of group interfacePorts
    
    /**
     * @desc Test component for ITS Network and Transport layer 
     */
    type component ItsIpv6OverGeoNetworking extends ItsGeoNetworking {

        // NT2 ports
        port IPv6OverGeoNetworkingPort ipv6OverGeoNetworkingPort;
        
        // timers
        
        //variables for Gn6
        var GvlTable vc_gvlTable := {};
        var AddressTable vc_addressTable := {};
        
        
    } // End of component Ipv6OverGeoNetworking
    
    group networkAndTransportPrimitives { 
            
        group nt2Primitives {
            
            /**
             * @desc NT2 IPv6 over GeoNetworking Indication Primitive 
             */
            type record IPv6OverGeoNetworkingInd {
                charstring interface,
                MacAddress macSourceAddress,
                MacAddress macDestinationAddress,
                Ipv6Packet ipv6Packet
            }
            
            /**
             * @desc NT2 IPv6 over GeoNetworking Request Primitive 
             */
            type record IPv6OverGeoNetworkingReq {
                charstring interface,
                MacAddress macSourceAddress,
                MacAddress macDestinationAddress,
                Ipv6Packet ipv6Packet
            }
            
        } // end nt2Primitives
        
    } // End of group networkAndTransportPrimitives    
    with {
        encode "LibIts_Interface"
    } // end interfacePrimitives        
     
} // End of module LibItsIpv6OverGeoNetworking_TestSystem