Skip to content
LibItsDenm_TypesAndValues.ttcn 4.93 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 {
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;
        
        const ValidityDuration c_validityDuration_2sec := 2;
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 optional, /* FIXME: remove from all templates */
tepelmann's avatar
tepelmann committed
            AlacarteContainer alacarte optional,
            RelevanceDistance relevanceDistance,
            RelevanceTrafficDirection relevanceTrafficDirection,
berge's avatar
berge committed
            integer trafficClass, // FIXME: check if useful
tepelmann's avatar
tepelmann committed
            TransmissionInterval transmissionInterval optional,
            boolean keepAliveForwardingRequest 
        /**
         * @desc Upper Tester result message of request of triggering of an event at IUT 
         */
        type record UtDenmTriggerResult {
            boolean result,
            ActionID actionId
garciay's avatar
garciay committed
        } with {
			encode (actionId) "LibItsDenm_asn1"
         * @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,
berge's avatar
berge committed
            integer trafficClass optional, // FIXME: check if useful
tepelmann's avatar
tepelmann committed
            TransmissionInterval transmissionInterval optional,
            boolean keepAliveForwardingRequest 
garciay's avatar
garciay committed
        } with {
			encode "LibItsDenm_asn1"
        /**
         * @desc Upper Tester result message of an update request of an event on DENM IUT 
         */
        type record UtDenmUpdateResult { 
        	boolean result,
            ActionID actionId
garciay's avatar
garciay committed
        } with {
			encode (actionId) "LibItsDenm_asn1"
         * @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
garciay's avatar
garciay committed
        } with {
			encode (actionId) "LibItsDenm_asn1"
        /**
         * @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
garciay's avatar
garciay committed
        } with {
			encode (denMsg) "LibItsDenm_asn1"
        /**
         * @desc List of Upper Tester messages to check event/status on DENM IUT 
         */
        type record of UtDenmEventInd UtDenmEventIndList;
        
        /**
         * @desc List of ActionID received in response to the Upper Tester triggered messages
         */
        type record of ActionID UtDenmActionIDList;
        
berge's avatar
berge committed
    }
    with {
        encode "UpperTester"
    }
    encode "LibItsDenm"