LibItsDenm_TypesAndValues.ttcn 4.18 KB
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 {
tepelmann's avatar
tepelmann committed
    //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 otherTypes {
        
        /**
         * @desc List of SituationContainers used in behaviours 
         */
        type record of SituationContainer SituationContainerList;
        
        /**
         * @desc List of ActionIDs used in behaviours 
         */
        type record of ActionID ActionIDList;
    }
    
tepelmann's avatar
tepelmann committed
    group denmConstants {
        
tepelmann's avatar
tepelmann committed
        const ItsPduHeader.protocolVersion c_protocolVersionDenm := 1;
        
        const ItsPduHeader.messageID c_messageId := 1;
        
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;
        const TransmissionInterval c_transmissionInterval_10sec := 10000;
tepelmann's avatar
tepelmann committed
        
    } // end group denmConstants
    
    group utPrimitives {
         * @desc Upper Tester message to request triggering of an event at IUT 
        type record UtDenmTrigger {
tepelmann's avatar
tepelmann committed
            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
        /**
         * @desc Upper Tester result message of request of triggering of an event at IUT 
         */
        type ActionID UtDenmTriggerResult;
         * @desc Upper Tester message to update an event at IUT 
tepelmann's avatar
tepelmann committed
         */
        type record UtDenmUpdate {
tepelmann's avatar
tepelmann committed
            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
        /**
         * @desc Upper Tester result message of an update request of an event on DENM IUT 
         */
        type ActionID UtDenmUpdateResult;
         * @desc Upper Tester message to request the termination of an event at IUT 
tepelmann's avatar
tepelmann committed
         */
        type record UtDenmTermination {
tepelmann's avatar
tepelmann committed
            ActionID actionId
        /**
         * @desc Upper Tester result message of termination of an event on DENM IUT 
         */
        type boolean UtDenmTerminationResult;
tepelmann's avatar
tepelmann committed
         * @desc Upper Tester message to check event/status on DENM IUT 
         */
        type record UtDenmEventInd {
tepelmann's avatar
tepelmann committed
            DENM denMsg
        /**
         * @desc List of Upper Tester messages to check event/status on DENM IUT 
         */
        type record of UtDenmEventInd UtDenmEventIndList;
    } // end utPrimitives
    encode "LibItsDenm"