LibItsDenm_TypesAndValues.ttcn 5.86 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 {
    
garciay's avatar
garciay committed
  //LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;
garciay's avatar
garciay committed
  // LibIts
  import from DENM_PDU_Descriptions language "ASN.1:1997" all;
  import from ITS_Container language "ASN.1:1997" all;
garciay's avatar
garciay committed
  group actionTypes {
garciay's avatar
garciay committed
    /**
     * @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)
      }
garciay's avatar
garciay committed
  } // end group actionTypes
garciay's avatar
garciay committed
  group otherTypes {
garciay's avatar
garciay committed
    /**
     * @desc List of SituationContainers used in behaviours 
     */
    type record of SituationContainer SituationContainerList;
garciay's avatar
garciay committed
    /**
     * @desc List of ActionIDs used in behaviours 
     */
    type record of ActionID ActionIDList;
garciay's avatar
garciay committed
  }
garciay's avatar
garciay committed
  group denmConstants {
garciay's avatar
garciay committed
    const ValidityDuration c_duration_2sec := 2;
    const ValidityDuration c_duration_5sec := 5;
    const ValidityDuration c_duration_10sec := 10;
garciay's avatar
garciay committed
    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;
garciay's avatar
garciay committed
  } // end group denmConstants
garciay's avatar
garciay committed
  group certicicates {
garciay's avatar
garciay committed
    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";
garciay's avatar
garciay committed
  }
garciay's avatar
garciay committed
  group utPrimitives {
        
    /**
     * @desc Upper Tester message to initialize IUT 
     * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
     */
    type record UtDenmInitialize {
      Oct8 hashedId8 
      } with {
      variant "FIELDORDER(msb)"
      }

    /**
     * @desc Upper Tester results message of the DENM IUT
     * @member utDenmInitialize             -
     * @member utDenmTriggerResult          -
     * @member utDenmUpdateResult,          -
     * @member utDenmChangePositionResult   -
     * @member utChangePseudonymResult      -
     */
    type union UtDenmResults {
      boolean utDenmInitializeResult,
        UtDenmTriggerResult utDenmTriggerResult,
        UtDenmUpdateResult utDenmUpdateResult,
        boolean utDenmTerminationResult,
        boolean utDenmChangePositionResult,
        boolean utChangePseudonymResult
      } with {
      variant ""
      } // End of type UtDenmResults
	
        /**
         * @desc Upper Tester message to request triggering of an event at IUT 
         */
garciay's avatar
garciay committed
    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
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester result message of request of triggering of an event at IUT 
     */
    type record UtDenmTriggerResult {
      boolean result,
      ActionID actionId
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @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
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester result message of an update request of an event on DENM IUT 
     */
    type record UtDenmUpdateResult { 
      boolean result,
      ActionID actionId
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester message to request the termination of an event at IUT 
     */
    type record UtDenmTermination {
      ActionID actionId
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester message to change the position of IUT. Values a relatives 
     */
    type record UtDenmChangePosition {
      Int32 latitude,
      Int32 longitude,
      Int32 elevation
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester message to change the pseudonym of the DENM IUT 
     */
    type record UtChangePseudonym {
      // empty on purpose
    } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester message to check event/status on DENM IUT 
     */
    type record UtDenmEventInd {
      DENM denMsg
      } 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;
        
  }
  with {
    encode "UpperTester"
    variant ""
garciay's avatar
garciay committed
  encode "LibItsDenm"
  }