LibItsDenm_TypesAndValues.ttcn 4.83 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 initialize DENM IUT 
         */
tepelmann's avatar
tepelmann committed
        type record UtInitialize {
        /**
         * @desc Upper Tester result message of the initialization request 
         */
tepelmann's avatar
tepelmann committed
        type boolean UtInitializeResult;
         * @desc Upper Tester message to request triggering of an event at 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
        /**
         * @desc Upper Tester result message of request of triggering of an event at IUT 
         */
tepelmann's avatar
tepelmann committed
        type ActionID UtTriggerResult;
         * @desc Upper Tester message to update an event at IUT 
tepelmann's avatar
tepelmann committed
         */
        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
        /**
         * @desc Upper Tester result message of an update request of an event on DENM IUT 
         */
tepelmann's avatar
tepelmann committed
        type ActionID UtUpdateResult;
         * @desc Upper Tester message to request the termination of an event at IUT 
tepelmann's avatar
tepelmann committed
         */
        type record UtTermination {
            ActionID actionId
        /**
         * @desc Upper Tester result message of termination of an event on DENM IUT 
         */
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
        }
        /**
         * @desc Upper Tester result message of change position request of IUT 
         */
berge's avatar
berge committed
        type boolean UtChangePositionResult;
tepelmann's avatar
tepelmann committed
         * @desc Upper Tester message to check event/status on DENM IUT 
         */
        type record UtEventInd {
            DENM denMsg
        /**
         * @desc List of Upper Tester messages to check event/status on DENM IUT 
         */
        type record of UtEventInd UtEventIndList;
    
    } // end utPrimitives
}
with {
    encode "LibItsDenm_TypesAndValues"
}