LibItsDenm_TypesAndValues.ttcn 4.92 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;
        
        const ValidityDuration c_duration_2sec := 2;
        const ValidityDuration c_duration_5sec := 5;
        const ValidityDuration c_duration_10sec := 10;
tepelmann's avatar
tepelmann committed
        
        const ValidityDuration c_defaultValidity := 600;
                
        const TransmissionInterval c_interval_1sec := 1000;
        const TransmissionInterval c_interval_2sec := 2000;
        const TransmissionInterval c_interval_4sec := 4000;
        const TransmissionInterval c_interval_5sec := 5000;
        const TransmissionInterval c_interval_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 situation,
            LocationContainer location optional, /* FIXME: remove from all templates */
tepelmann's avatar
tepelmann committed
            RelevanceDistance relevanceDistance,
            RelevanceTrafficDirection relevanceTrafficDirection,
berge's avatar
berge committed
            integer trafficClass, // FIXME: check if useful
tepelmann's avatar
tepelmann committed
            TransmissionInterval transmissionInterval optional,
            TransmissionInterval repetitionInterval optional,
            AlacarteContainer alacarte optional
        /**
         * @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,
            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,
            TransmissionInterval repetitionInterval optional,
            AlacarteContainer alacarte optional
        } with {
			encode "LibItsDenm_asn1"
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"