LibItsGeoNetworking_Pixits.ttcn 5.56 KB
Newer Older
fischer's avatar
fischer committed
/**
tepelmann's avatar
tepelmann committed
 *  @author     ETSI / STF405 / STF449
 *  @version    $URL$
 *              $Id$
tepelmann's avatar
tepelmann committed
 *  @desc       GeoNetworking PICS
fischer's avatar
fischer committed
 *
 */
module LibItsGeoNetworking_Pixits {
    
    // LibCommon
    import from LibCommon_DataStrings all;
fischer's avatar
fischer committed
    import from LibCommon_BasicTypesAndValues all;
    
    // LibIts
    import from LibItsGeoNetworking_TypesAndValues all;
    
fischer's avatar
fischer committed
    group geoNetworkingPixits {
        
        group gnAddresses {
            
            /**
             * @desc GeoNetworking address of the GeoAdhoc router node A
             */
            modulepar GN_Address PX_TS_NODE_A_LOCAL_GN_ADDR := {
                typeOfAddress := e_manual,
tepelmann's avatar
tepelmann committed
                stationType := e_passengerCar,
                stationCountryCode := c_uInt10Zero,
                mid := c_6ZeroBytes
            };
            
            /**
             * @desc GeoNetworking address of the GeoAdhoc router node B
             */
            modulepar GN_Address PX_TS_NODE_B_LOCAL_GN_ADDR := {
                typeOfAddress := e_manual,
tepelmann's avatar
tepelmann committed
                stationType := e_passengerCar,
                stationCountryCode := c_uInt10Zero,
                mid := c_6ZeroBytes
            };
            
            /**
             * @desc GeoNetworking address of the GeoAdhoc router node C
             */
            modulepar GN_Address PX_TS_NODE_C_LOCAL_GN_ADDR := {
                typeOfAddress := e_manual,
tepelmann's avatar
tepelmann committed
                stationType := e_passengerCar,
                stationCountryCode := c_uInt10Zero,
                mid := c_6ZeroBytes
            };
            
            /**
             * @desc GeoNetworking address of the GeoAdhoc router node D
             */
            modulepar GN_Address PX_TS_NODE_D_LOCAL_GN_ADDR := {
                typeOfAddress := e_manual,
tepelmann's avatar
tepelmann committed
                stationType := e_passengerCar,
                stationCountryCode := c_uInt10Zero,
                mid := c_6ZeroBytes
            };
            
        } // end gnAddresses
        
tepelmann's avatar
tepelmann committed
        group congestionControl {
            
            /**
             * @desc    Nr of neighbour limit to enter the "medium" congestion status value
             */
            modulepar integer PX_MIN_NR_NEIGHBOUR := 50;
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc    Nr of neighbour limit to enter the "maximum" congestion status value
             */
            modulepar integer PX_MAX_NR_NEIGHBOUR := 50;
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc    Number of 1/10 micro degrees in one unit of distance
             * @remark  This Pixit is used to position nodes relatively to each other.
             *          It corresponds to the distance betwen 2 nodes (10000 ~ 100m).
             */
            modulepar UInt32 PX_DISTANCE_UNIT := 10000;
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc Maximum number of application retransmissions
             */
tepelmann's avatar
tepelmann committed
            modulepar integer PX_GN_APPLICATION_MAX_RETRANS := 10;
tepelmann's avatar
tepelmann committed
        } // end congestionControl
        
        group timers {
            
            /**
             * @desc  Delta for timers to reflect processing time
             */
            modulepar float PX_T_DELTA := 0.1;
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc Duration of Beacon service retransmit timer [ms] for NetBeaconInterval = medium (cong. ctrl)
             */
            modulepar integer PX_GN_BEACON_SERVICE_TIMER_MEDIUM := 5000;
            
            /**
             * @desc Duration of Beacon service retransmit timer [ms] for NetBeaconInterval = maximum (cong. ctrl)
             */
            modulepar integer PX_GN_BEACON_SERVICE_TIMER_MAXIMUM := 8000;
            
            /**
             * @desc Duration of Location service retransmit timer [ms] for NetRepInterval = medium (cong. ctrl)
             */
berge's avatar
berge committed
            modulepar integer PX_GN_LOCATION_SERVICE_TIMER_MEDIUM := 2000;
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc Duration of Location service retransmit timer [ms] for NetRepInterval = maximum (cong. ctrl)
             */
berge's avatar
berge committed
            modulepar integer PX_GN_LOCATION_SERVICE_TIMER_MAXIMUM := 3000;
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc Duration of Application retransmit timer [ms]
             */
            modulepar integer PX_GN_APPLICATION_RETRANSMIT_TIMER := 1000;
            
            /**
             * @desc Duration of Application retransmit timer [ms] - medium
             */
            modulepar integer PX_GN_APPLICATION_RETRANSMIT_TIMER_MEDIUM := 2000;
            
            /**
             * @desc Duration of Application retransmit timer [ms] - maximum
             */
            modulepar integer PX_GN_APPLICATION_RETRANSMIT_TIMER_MAXIMUM := 3000;
            
            /**
             * @desc The allowed delta for position checking.
             */
            modulepar integer PX_POS_DELTA := 1;
tepelmann's avatar
tepelmann committed
        }
tepelmann's avatar
tepelmann committed
        
berge's avatar
berge committed
        group upperLayer {
        
            /**
tepelmann's avatar
tepelmann committed
             * @desc The IUT's upper layer
berge's avatar
berge committed
             */
tepelmann's avatar
tepelmann committed
            modulepar NextHeader PX_GN_UPPER_LAYER := e_any;    
berge's avatar
berge committed
        }
        
        group parametrisation {
tepelmann's avatar
tepelmann committed
            
            /**
             * @desc Number of messages to be sent
             */
            modulepar integer PX_MESSAGE_COUNT := 5;
            
            /**
             * @desc Time necessary for IUT to detect neighbours
             */
            modulepar float PX_NEIGHBOUR_DISCOVERY_DELAY := 1.0
tepelmann's avatar
tepelmann committed
            
tepelmann's avatar
tepelmann committed
        
    } // end geoNetworkingPixits
} // end LibItsGeoNetworking_Pixits