LibItsDenm_TypesAndValues.ttcn 5.14 KB
Newer Older
garciay's avatar
garciay committed
 *  @author     ETSI / STF449 / STF484 / STF517
 *  @version    $URL$
 *              $Id$
 *  @desc       Module containing type and value definitions for DENM
 *
 */
module LibItsDenm_TypesAndValues {
    
filatov's avatar
filatov committed
//    import from LibCommon_BasicTypesAndValues all;
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
    import from ITS_Container language "ASN.1:1997" all;
    
    group actionTypes {
        
        /**
         * @desc Indication of whether event cancellation has to be raised by the test system or iut
         */
        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;
    }
    
    group denmConstants {
        
        const ValidityDuration c_duration_2sec := 2;
        const ValidityDuration c_duration_5sec := 5;
        const ValidityDuration c_duration_10sec := 10;
        
        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;
    } // end group denmConstants

    group certicicates {

        const charstring PX_CERT_IUT_DENM_01 := "CERT_IUT_DENM_BO_01_AT";
        const charstring PX_CERT_IUT_DENM_02 := "CERT_IUT_DENM_BO_02_AT";

    }
    
    group utPrimitives {
        
        /**
         * @desc Upper Tester message to request triggering of an event at IUT 
         */
        type record UtDenmTrigger {
            TimestampIts detectionTime,
            ValidityDuration validityDuration optional,
            ValidityDuration repetitionDuration optional,
            SituationContainer situation,
            RelevanceDistance relevanceDistance,
            RelevanceTrafficDirection relevanceTrafficDirection,
            TransmissionInterval transmissionInterval optional,
            TransmissionInterval repetitionInterval optional,
            AlacarteContainer alacarte optional
        }
garciay's avatar
garciay committed
        
        /**
         * @desc Upper Tester result message of request of triggering of an event at IUT 
         */
        type record UtDenmTriggerResult {
            boolean result,
            ActionID actionId
        }
        
        /**
         * @desc Upper Tester message to update an event at IUT 
         */
        type record UtDenmUpdate {
            ActionID actionId,
            TimestampIts detectionTime,
            ValidityDuration validityDuration optional,
            SituationContainer situation optional,
            LocationContainer location optional,
            RelevanceDistance relevanceDistance optional,
            RelevanceTrafficDirection relevanceTrafficDirection optional,
            TransmissionInterval transmissionInterval optional,
            TransmissionInterval repetitionInterval optional,
            AlacarteContainer alacarte optional
        }
        
        /**
         * @desc Upper Tester result message of an update request of an event on DENM IUT 
         */
        type record UtDenmUpdateResult { 
garciay's avatar
garciay committed
            boolean result,
            ActionID actionId
        }
        
        /**
         * @desc Upper Tester message to request the termination of an event at IUT 
         */
        type record UtDenmTermination {
            ActionID actionId
        }
        
//FIXME RGY As discussed, boolean result types are replaced by a top-level union of the results
         * @desc Upper Tester response message for all DENM results 
          type union UtDENMResults {
              boolean utDenmTerminationResult
            }
        /**
         * @desc Upper Tester result message of termination of an event on DENM IUT 
         */
//FIXME RGY As discussed, boolean result types are replaced by a top-level union type
//        type boolean UtDenmTerminationResult;
        type UtDENMResults.utDenmTerminationResult UtDenmTerminationResult;
        /**
         * @desc Upper Tester message to check event/status on DENM IUT 
         */
        type record UtDenmEventInd {
            DENM denMsg
        } with {
garciay's avatar
garciay committed
            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;
        
    }
    with {
        encode "UpperTester"
    }
}
with {
    encode "LibItsDenm"
}