Skip to content
LibItsDenm_TypesAndValues.ttcn 3.97 KiB
Newer Older
tepelmann's avatar
tepelmann committed
/**
tepelmann's avatar
tepelmann committed
 *  @author     ETSI / STF449
tepelmann's avatar
tepelmann committed
 *  @version    $URL$
 *              $Id$
 *  @desc       Module containing type and value definitions for DENM
 *
 */
module LibItsDenm_TypesAndValues {

    //LibIts
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
tepelmann's avatar
tepelmann committed
    import from ITS_Container language "ASN.1:1997" all;
tepelmann's avatar
tepelmann committed

    group actionTypes {
        
        /**
         * @desc Indication of whether event cancellation has to be raised by the test system or iut
         */
tepelmann's avatar
tepelmann committed
        type enumerated Trigger {
            e_ets(0),
            e_iut(1)
        }
        
    } // end group actionTypes
    
    group denmConstants {
        
        const DataVersion c_dataVersionFirst := 0;
tepelmann's avatar
tepelmann committed
        const DataVersion c_dataVersionCancellation := 255;
        
tepelmann's avatar
tepelmann committed
        const ValidityDuration c_validityDuration_10sec := 10;
tepelmann's avatar
tepelmann committed
        const ValidityDuration c_defaultValidity := 600;
        
tepelmann's avatar
tepelmann committed
        const ValidityDuration c_repetitionDuration_5sec := 5;
        
tepelmann's avatar
tepelmann committed
        const TransmissionInterval c_transmissionInterval_1sec := 1000;
tepelmann's avatar
tepelmann committed
        const TransmissionInterval c_transmissionInterval_2sec := 2000;
tepelmann's avatar
tepelmann committed
        const TransmissionInterval c_transmissionInterval_4sec := 4000;
tepelmann's avatar
tepelmann committed
        const TransmissionInterval c_transmissionInterval_5sec := 5000;
tepelmann's avatar
tepelmann committed
        
    } // end group denmConstants
    
berge's avatar
berge committed
    group denmTimeConstants {
        
        // in milliseconds
tepelmann's avatar
tepelmann committed
        const TimestampIts c_duration20000ms := 20000;
        const TimestampIts c_duration40000ms := 40000;
berge's avatar
berge committed
        
        const float c_eventFrequencyMultiplier := 0.1;
berge's avatar
berge committed
        
    } // end denmTimeConstants
    
    group utPrimitives {
reinaortega's avatar
reinaortega committed

        /**
         * @desc Upper Tester message to initialize DENM IUT 
         */
tepelmann's avatar
tepelmann committed
        type record UtInitialize {
tepelmann's avatar
tepelmann committed
        type boolean UtInitializeResult;
        /**
         * @desc Upper Tester message to trigger an action on DENM IUT 
         */
tepelmann's avatar
tepelmann committed
        type record UtTrigger {
            TimestampIts detectionTime,
            ValidityDuration validityDuration optional,
            ValidityDuration repetitionDuration optional,
            SituationContainer situtation,
            LocationContainer location,
            AlacarteContainer alacarte optional,
            RelevanceDistance relevanceDistance,
            RelevanceTrafficDirection relevanceTrafficDirection,
            integer trafficClass,
            TransmissionInterval transmissionInterval optional,
            boolean keepAliveForwardingRequest optional
tepelmann's avatar
tepelmann committed
        type ActionID UtTriggerResult;
tepelmann's avatar
tepelmann committed
         * @desc Upper Tester message to trigger an action on DENM IUT 
         */
        type record UtUpdate {
            ActionID actionId,
            TimestampIts detectionTime,
tepelmann's avatar
tepelmann committed
            ValidityDuration validityDuration optional,
            SituationContainer situation optional,
            LocationContainer location optional,
            AlacarteContainer alacarte optional,
            RelevanceDistance relevanceDistance optional,
            RelevanceTrafficDirection relevanceTrafficDirection optional,
            integer trafficClass optional,
            TransmissionInterval transmissionInterval optional,
            boolean keepAliveForwardingRequest optional
tepelmann's avatar
tepelmann committed
        type ActionID UtUpdateResult;
tepelmann's avatar
tepelmann committed
         * @desc Upper Tester message to trigger an action on DENM IUT 
         */
        type record UtTermination {
            ActionID actionId
tepelmann's avatar
tepelmann committed
        type boolean UtTerminationResult;
berge's avatar
berge committed

        /**
         * @desc Upper Tester message to change the position of IUT. Values a relatives 
         */
        type record UtChangePosition {
            integer latitude,
            integer longitude,
            integer elevation
        }
        type boolean UtChangePositionResult;
tepelmann's avatar
tepelmann committed
         * @desc Upper Tester message to check event/status on DENM IUT 
         */
        type record UtEventInd {
            DENM denMsg
        }
        
    } // end utPrimitives
}
with {
    encode "LibItsDenm_TypesAndValues"
}