ItsDenm_TestCases.ttcn 94.3 KB
Newer Older
filatov's avatar
filatov committed
/**
garciay's avatar
garciay committed
 *    @author   ETSI / STF484 / STF517
filatov's avatar
filatov committed
 *    @version  $URL$
 *              $Id$
 *    @desc     DENM Testcases (TS 102 869-2 V1.5.1)
garciay's avatar
garciay committed
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
filatov's avatar
filatov committed
 *
 */
module ItsDenm_TestCases {
    
    // ATS ITS
    import from ItsDenm_TpFunctions all;
filatov's avatar
filatov committed
    
    // LibIts
    import from LibItsDenm_TestSystem all;
    
    // 5.2.1
    group denMessageTransmission {
        
      // 5.2.1.1
      group denMessageFormat {
          
          /**
           * @desc    Check that protocolVersion is set to 1 and messageID is set to 1
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_Trigger request from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing ITS PDU header,
           *                  containing protocolVersion
           *                      indicating value 1
           *                  and containing messageID
           *                      indicating value 1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSGF/BV-01
           * @reference ETSI EN 302 637-3, Annex B.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_MSGF_BV_01() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_MSGF_BV_01
          
          /**
           * @desc    Check that sent DENM contains at least one 'trace' DE
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_Trigger request from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing location container
           *                  containing at least one 'trace'
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSGF/BV-02
           * @reference ETSI EN 302 637-3, clause  6.1.3.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_MSGF_BV_02() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_MSGF_BV_02
          
      } // end denMessageFormat
      
      // 5.2.1.2
      group denEventGeneration {
        
          /**
           * @desc    Check that DEN Basic Service generates a new DENM on reception of a valid AppDENM_Trigger request
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_Trigger request from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-01
           * @reference ETSI EN 302 637-3, clause 6.1.2.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVGN_BV_01() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVGN_BV_01
          
          /**
           * @desc    Check that a new ActionID value is assigned for each newly generated DENM
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated several events
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to generate a new event
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating an unused value
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-02
           * @reference ETSI EN 302 637-3, clause 6.1.1.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVGN_BV_02() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVGN_BV_02
          
          /**
           * @desc    Check that a newly created ActionID contains the StationID of the originating ITS-S that detected the event
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to generate a new event
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      containing originatingStationID
filatov's avatar
filatov committed
           *                          indicating its own StationID
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-03
           * @reference ETSI EN 302 637-3, clause 6.1.1.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVGN_BV_03() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVGN_BV_03
          
          /**
           * @desc    Check that Cause and subcause values included in DENM as provided by application
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_trigger request from the application layer
           *              containing situation container
           *                  containing eventType
           *                      containing causeCode
           *                          indicating Value1
           *                      containing subCauseCode
           *                          indicating Value2
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing situation container
           *                  containing eventType
           *                      containing causeCode
           *                          indicating Value1
           *                      containing subCauseCode
           *                          indicating Value2
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-04
           * @reference ETSI EN 302 637-3, clause 7.1.3
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVGN_BV_04() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVGN_BV_04
          
          /**
           * @desc    Check that referenceTime is set to the current time when generating a DENM for a new event
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated several events
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to generate a new event
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing referenceTime
           *                      indicating CLT
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-05
           * @reference ETSI EN 302 637-3, clause 8.2.1.3
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVGN_BV_05() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVGN_BV_05
          
          /**
           * @desc    Check that sequenceNumber is set to a next unused value each time an event is detected
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated several events
           *      and the IUT having generated its last DENM
           *          containing management container
           *              containing actionID
           *                  containing sequenceNumber
           *                      indicating SEQ1
           *      and no active event being associated with sequenceNumber SEQ1 + 1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to generate a new event
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      containing sequenceNumber
           *                          indicating SEQ1 + 1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-07
           * @reference ETSI EN 302 637-3, clauses 6.1.1.1, 8.2.1.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVGN_BV_07() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVGN_BV_07
          
          /**
           * @desc    Check that actionID are generated using newly assigned stationID when a pseudonym change occurs
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated several events
           *          containing management container
           *              containing actionID
           *                  containing originatingStationID
           *                      indicating STATION_ID_1
           *      and the IUT having changed its StationID
filatov's avatar
filatov committed
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to generate a new event
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      containing originatingStationID
           *                          indicating its new StationID
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVGN/BV-10
           * @reference ETSI EN 302 637-3, clauses 6.1.1.2
          testcase TC_DEN_EVGN_BV_10() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_EVGN_BV_10
filatov's avatar
filatov committed
          
      } // end denEventGeneration
      
      // 5.2.1.3
      group denEventUpdate {
          
          /**
           * @desc    Check that DEN Basic Service generates an update DENM on reception of a valid AppDENM_update request
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_update request from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVUP/BV-01
           * @reference ETSI EN 302 637-3, clause 6.1.2.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVUP_BV_01() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVUP_BV_01
          
          /**
           * @desc    Check that the actionID is not changed by DENM update, as long as the stationID of the originating ITS-S remains unchanged
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           * 	  and the IUT not having changed its stationID
filatov's avatar
filatov committed
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_update request associated with ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVUP/BV-02
           * @reference ETSI EN 302 637-3, clauses 6.1.2.2, 8.1.1.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVUP_BV_02() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVUP_BV_02
          
          /**
           * @desc    Check that referenceTime is set to the current time when generating a DENM for an updated eventCheck 
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *              containing referenceTime
           *                  indicating REFERENCETIME1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_update request associated with ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *                  and containing referenceTime
           *                      indicating CLT > REFERENCETIME1
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVUP/BV-03
           * @reference ETSI EN 302 637-3, clause 6.1.2.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVUP_BV_03() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVUP_BV_03
          
          /**
           * @desc    Check that DEN Basic Service does not send any update DENM if actionID is not in originating ITS-S message table
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *      and the IUT not having sent an event being associated with actionID ACTION_ID1
filatov's avatar
filatov committed
           *          containing originatorStationID
           *              indicating its own stationID
           *          and containing sequenceNumber
           *              indicating SEQ1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to update an event associated to ACTION_ID1
           *      }
           *      then {
           *          the IUT does not send send any DENM for this event
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVUP/BO-04
           * @reference ETSI EN 302 637-3, clause 8.1.2
          testcase TC_DEN_EVUP_BO_04() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_EVUP_BO_04
filatov's avatar
filatov committed
              
      } // end denEventUpdate
      
      // 5.2.1.4
      group denEventTermination {
          
          /**
           * @desc    Check that DEN Basic Service generates a cancellation DENM when application indicates the 
           *          premature termination of an event for which it is the originator
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *              and containing validityDuration
           *                  indicating DURATION_1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_termination request associated to ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *                  and containing termination
           *                     indicating value isCancellation
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BV-01
           * @reference ETSI EN 302 637-3, clauses 6.1.2.4, 8.2.1.3
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVTR_BV_01() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVTR_BV_01
          
          /**
           * @desc    Check that DEN Basic Service generates a negation DENM when application indicates the 
           *          premature termination of an event for which it is not the originator
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *                      containing originatorStationID
           *                          indicating stationID different from its own stationID
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_termination request associated to ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *                  and containing termination
           *                      indicating value isNegation
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BV-02
           * @reference ETSI EN 302 637-3, clause 6.1.2.4
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVTR_BV_02() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVTR_BV_02
          
          /**
           * @desc   Check that referenceTime is set to the latest value received for this event in negation DENM
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *                      containing originatorStationID
           *                          indicating stationID different from its own stationID
           *              and containing referenceTime
           *                  indicating REFERENCETIME1
           *      and the IUT having received an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *              and containing referenceTime
           *                  indicating REFERENCETIME2 > REFERENCETIME1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_termination request associated to ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *                  and containing referenceTime
           *                      indicating value REFERENCETIME2
           *                  and containing termination
           *                      indicating value isNegation
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BV-03
           * @reference ETSI EN 302 637-3, clauses 6.1.2.4, 8.2.1.3
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVTR_BV_03() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVTR_BV_03
          
          /**
           * @desc    Check that situation container, location container  and alacarte container are not present in a cancellation DENM
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_termination request associated to ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *                  and containing termination
           *                      indicating value isCancellation
filatov's avatar
filatov committed
           *              and not containing situation container
           *              and not containing location container
           *              and not containing alacarte container
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BV-04
           * @reference ETSI EN 302 637-3, clause 7.1.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVTR_BV_04() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVTR_BV_04
          
          /**
           * @desc    Check that situation container, location container and alacarte container are not present in a negation DENM
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *                      containing originatorStationID
           *                          indicating stationID different from its own stationID
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_termination request associated to ACTION_ID1 from the application layer
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
           *                  and containing termination
           *                      indicating value isNegation
filatov's avatar
filatov committed
           *              and not containing situation container
           *              and not containing location container
           *              and not containing alacarte container
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BV-05
           * @reference ETSI EN 302 637-3, clause 7.1.1
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVTR_BV_05() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVTR_BV_05
          
          /**
           * @desc    Check that DEN Basic Service does not send any termination DENM if actionID is not in 
           *          originating ITS-S message table or receiving ITS-S message table (own stationID)
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated several events
           *      and the IUT not having send event being associated with ACTION_ID1
           *          containing originatingStationID
filatov's avatar
filatov committed
           *              indicating its own stationID
           *          and containing sequenceNumber
           *              indicating SEQ1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to terminate an event associated to ACTION_ID1
           *              containing originatingStationID
filatov's avatar
filatov committed
           *                  indicating its own stationID
           *              and containing sequenceNumber
           *                  indicating SEQ1
           *      }
           *      then {
           *          the IUT does not send send any termination DENM for this event
           *      }
           *  }
           *  NOTE: Event associated to ACTION_ID1 cannot be present in receiving ITS-S message 
           *        table as its stationID is IUT’s stationID (see TP/DEN/EVTR/BO-07)
filatov's avatar
filatov committed
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BO-06
           * @reference ETSI EN 302 637-3, clauses 8.2.2
          testcase TC_DEN_EVTR_BO_06() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_EVTR_BO_06
filatov's avatar
filatov committed
              
          /**
           * @desc    Check that DEN Basic Service does not send any termination DENM if actionID is not in 
           *          originating ITS-S message table or receiving ITS-S message table (other stationID)
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received several events
           *      and the IUT not having received event being associated with ACTION_ID1
           *          containing originatingStationID
filatov's avatar
filatov committed
           *              indicating STATION_ID1 different from its own stationID
           *          and containing sequenceNumber
           *              indicating SEQ1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is requested to terminate an event associated to ACTION_ID1
           *              containing originatingStationID
filatov's avatar
filatov committed
           *                  indicating STATION_ID1
           *              and containing sequenceNumber
           *                  indicating SEQ1
           *      }
           *      then {
           *          the IUT does not send send any termination DENM for this event
           *      }
           *  }
           *  NOTE: Event associated to ACTION_ID1 cannot be present in originating ITS-S message table as its 
           *        stationID is not IUT’s stationID (see TP/DEN/EVTR/BO-06)
filatov's avatar
filatov committed
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BO-07
           * @reference ETSI EN 302 637-3, clauses 8.2.2
          testcase TC_DEN_EVTR_BO_07() runs on ItsDenm system ItsDenmSystem {
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVTR_BV_07
          
          /**
           * @desc    Check that referenceTime is set to to the current time when generating a cancellation DENM
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having generated an event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
		   *	          and containing validityDuration
		   * 		          indicating DURATION_1
           *              and containing referenceTime
           *                  indicating REFERENCETIME1
filatov's avatar
filatov committed
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT receives an AppDENM_termination request associated with ACTION_ID1 from the application layer
filatov's avatar
filatov committed
           *      }
           *      then {
           *          the IUT sends a valid DENM
           *              containing management container
           *                  containing actionID
           *                      indicating ACTION_ID1
		   *	              and containing termination
		   *		              indicating value isCancellation
           *                  and containing referenceTime
           *                      indicating CLT
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVTR/BV-08
           * @reference ETSI EN 302 637-3, clause 8.2.1.3
          testcase TC_DEN_EVTR_BV_08() runs on ItsDenm system ItsDenmSystem {
              
          } // end TC_DEN_EVTR_BV_08
          
      } // end denEventTermination
      
      // 5.2.1.5
      group denMessageRepetition {
          
          /**
           * @desc    Check that DEN Basic Sercive repeats DENM transmission according to repetitionInterval parameter provided by application
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from the application layer
           *          containing repetitionInterval
           *              indicating INTERVAL_1
           *          and containing repetitionDuration
           *              indicating DURATION_1
           *          and containing validityDuration
           *              indicating DURATION_2 > DURATION_1
           *      and the IUT having generated an the corresponding event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *              and containing validityDuration
           *                  indicating DURATION_1
           *              and containing transmissionInterval
           *                  indicating INTERVAL_1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is alerted of expiration of the time associated with INTERVAL_1
           *      }
           *      then {
           *          the IUT repeats the transmission of the valid DENM associated with ACTION_ID1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/TI-01
           * @reference ETSI EN 302 637-3, clause 6.1.2.3 and 8.2.2
          testcase TC_DEN_EVRP_TI_01() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_EVRP_TI_01
filatov's avatar
filatov committed
              
          /**
           * @desc    Check that the repeated DENM is always the most up-to-date message
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from the application layer
           *          containing repetitionInterval
           *              indicating INTERVAL_1
           *          and containing repetitionDuration
           *              indicating DURATION_1
           *          and containing validityDuration
           *              indicating DURATION_2 > DURATION_1
           *      and the IUT having generated an the corresponding event
filatov's avatar
filatov committed
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *      and the IUT having generated an update of the event associated with ACTION_ID1 modifying partly the event
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is alerted of expiration of the time associated with INTERVAL_1
           *      }
           *      then {
           *          the IUT repeats the transmission of the valid DENM associated with ACTION_ID1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-02
           * @reference ETSI EN 302 637-3, clause 6.1.2.3 and 8.2.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVRP_BV_02() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVRP_BV_02
          
          /**
           * @desc    Check that DEN Basic Service stops retransmitting DENM after event’s validityDuration 
           *          expiration
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *          containing repetitionInterval
           *              indicating INTERVAL_1
           *          and containing repetitionDuration
           *              indicating DURATION_1
           *          and containing validityDuration
           *              indicating DURATION_2 > DURATION_1
           *      and the IUT having generated the corresponding event
filatov's avatar
filatov committed
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *              and containing validityDuration
           *                  indicating DURATION_1
           *      and the IUT having repeated (one or more times) the transmission of the valid DENM associated with ACTION_ID1
filatov's avatar
filatov committed
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is alerted of expiration of the time associated with DURATION_2
filatov's avatar
filatov committed
           *      }
           *      then {
           *          the IUT stops the retransmission of the DENM associated with ACTION_ID1
filatov's avatar
filatov committed
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-03
           * @reference ETSI EN 302 637-3, clauses 6.1.2.4 and 8.2.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVRP_BV_03() runs on ItsDenm system ItsDenmSystem {
              
filatov's avatar
filatov committed
              
          } // end TC_DEN_EVRP_BV_03
          
          /**
           * @desc    Check that DEN Basic Service stops retransmitting DENM after event’s repetitionDuration 
           *          expiration
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *          containing repetitionInterval
           *              indicating INTERVAL_1
           *          and containing repetitionDuration
           *              indicating DURATION_1
           *          and containing validityDuration
           *              indicating DURATION_2 > DURATION_1
           *      and the IUT having generated the corresponding event
filatov's avatar
filatov committed
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *              and containing validityDuration
           *                  indicating DURATION_2
           *      and the IUT having repeated (one or more times) the transmission of the valid DENM associated with ACTION_ID1
filatov's avatar
filatov committed
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is alerted of expiration of the time associated with DURATION_2
           *      }
           *      then {
           *          the IUT stops the retransmission of the most up-to-date valid DENM associated with ACTION_ID1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-04
           * @reference ETSI EN 302 637-3, clause 8.2.2
filatov's avatar
filatov committed
           */
          testcase TC_DEN_EVRP_BV_04() runs on ItsDenm system ItsDenmSystem {
              
              
          } // end TC_DEN_EVRP_BV_04
          
          /**
           * @desc    Check that DEN Basic Service does not repeat transmission of DENM if repetitionInterval is 
           *          not provided by application
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *          not containing repetitionInterval
           *      and the IUT having generated an the corresponding event
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT has detected that repetitionInterval is not provided for the event associated with ACTION_ID1
           *      }
           *      then {
           *          the IUT does not repeat the transmission of the valid DENM associated with ACTION_ID1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-05
           * @reference ETSI EN 302 637-3, clause 8.1.2
           */
          testcase TC_DEN_EVRP_BV_05() runs on ItsDenm system ItsDenmSystem {
              
          } // end TC_DEN_EVRP_BV_05
           * @desc    Check that DEN Basic Service does not repeat transmission of DENM if repetitionDuration is 
filatov's avatar
filatov committed
           *          not provided by application
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *          not containing repetitionDuration
           *      and the IUT having generated an the corresponding event
filatov's avatar
filatov committed
           *          containing management container
           *              containing actionID
           *                  indicating ACTION_ID1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT has detected that repetitionDuration is not provided for the event associated with ACTION_ID1
filatov's avatar
filatov committed
           *      }
           *      then {
           *          the IUT does not repeat the transmission of the valid DENM associated with ACTION_ID1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-06
           * @reference ETSI EN 302 637-3, clause 8.1.2
          testcase TC_DEN_EVRP_BV_06() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_EVRP_BV_06
          
          /**
           * @desc    Check that existing actionID in originating ITS-S are updated when stationID is modified
           *
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *      	containing repetitionInterval
           *      		indicating INTERVAL_1
           *      	and containing repetitionDuration
           *      		indicating DURATION_1
           *      	and containing validityDuration
           *      		indicating DURATION_2 > DURATION_1
           *      and the IUT having generated the corresponding event
           *      	containing management container
           *      		containing actionID
           *      			containing originatororiginatingStationID
           *      				indicating STATION_ID_1
           *      		and containing validityDuration
           *      			indicating DURATION_1
           *     and the IUT having changed its StationID
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT changes its StationID and is alerted of expiration of the time associated with INTERVAL_1
           *      }
           *      then {
           *      		the IUT repeats the transmission of the valid DENM
           *      			containing management container
           *      				containing actionID
           *      					containing originatingStationID
           *      						indicating its new StationID
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-08
           * @reference ETSI EN 302 637-3, clause 6.1.1.2
           */
          testcase TC_DEN_EVRP_BV_08() runs on ItsDenm system ItsDenmSystem {
              
              
          } // end TC_DEN_EVRP_BV_08
           
          /**
           * @desc		Check that actionID is not modified in repetitions of DENM if stationID is not modified
           *
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *      	containing repetitionInterval
           *      		indicating INTERVAL_1
           *      	and containing repetitionDuration
           *      		indicating DURATION_1
           *      	and containing validityDuration
           *      		indicating DURATION_2 > DURATION_1
           *      and the IUT having generated the corresponding event
           *      	containing management container
           *      		containing actionID
           *      			indicating ACTION_ID_1
           *      		and containing validityDuration
           *      			indicating DURATION_1
           *     and the IUT not having changed its StationID
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is alerted of expiration of the time associated with INTERVAL_1
           *      }
           *      then {
           *      		the IUT repeats the transmission of the valid DENM
           *      			containing management container
           *      				containing actionID
           *      					indicating its ACTION_ID_1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-09
           * @reference ETSI EN 302 637-3, clause 8.2.1.2
           */
          testcase TC_DEN_EVRP_BV_09() runs on ItsDenm system ItsDenmSystem {
              
              
          } // end TC_DEN_EVRP_BV_09
           
          /**
           * @desc		Check that actionID is not modified in repetitions of DENM if stationID is not modified
           *
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *      	containing repetitionInterval
           *      		indicating INTERVAL_1
           *      	and containing repetitionDuration
           *      		indicating DURATION_1
           *      	and containing validityDuration
           *      		indicating DURATION_2 > DURATION_1
           *      and the IUT having generated the corresponding event
           *      	containing management container
           *      		containing actionID
           *      			indicating ACTION_ID_1
           *      		and containing validityDuration
           *      			indicating DURATION_2
           *      		and containing referenceTime
           *      			indicating REFERENCE_TIME_1
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when { 
           *          the IUT is alerted of expiration of the time associated with INTERVAL_1
           *      }
           *      then {
           *      		the IUT repeats the transmission of the valid DENM
           *      			containing management container
           *      				containing actionID
           *      					indicating its ACTION_ID_1
           *      				and containing referenceTime
           *      					indicating REFERENCE_TIME_1
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-10
           * @reference ETSI EN 302 637-3, clause 8.2.1.2
           */
          testcase TC_DEN_EVRP_BV_10() runs on ItsDenm system ItsDenmSystem {
              
           * @desc		Check that DEN Basic Service stops retransmitting DENM after event's validityDuration expiration, 
           *            when validityDuration was not provided
filatov's avatar
filatov committed
           * <pre>        
           * PICS Selection: none 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *      and the IUT having received an AppDENM_trigger request from application layer
           *      	containing repetitionInterval
           *      		indicating INTERVAL_1
           *      	and containing repetitionDuration
           *      		indicating DURATION_1 > defaultValidityDuration
           *      	and not containing validityDuration
           *      and the IUT having generated the corresponding event
           *      	containing management container
           *      		containing actionID
           *      			indicating ACTION_ID_1
filatov's avatar
filatov committed
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when {
           *          the IUT is alerted of expiration of the defaultValidityDuration
filatov's avatar
filatov committed
           *      }
           *      then {
           *      		the IUT stops the retransmission of the DENM associated with ACTION_ID1
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/EVRP/BV-11
           * @reference ETSI EN 302 637-3, clause 8.2.1.5
          testcase TC_DEN_EVRP_BV_11() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_EVRP_BV_11
      } // end denMessageRepetition
      // 5.2.1.6
      group denMessageLowerLayerParameters {
          /**
           * @desc    Check that DENM is encapsulated in BTP type B packet
           * <pre>        
           * PICS Selection: PICS_DENM_GENERATION 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when {
           *          a DENM is generated
           *      }
           *      then {
           *          the IUT sends a DENM
           *              encapsulated in a BTP-B packet
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/PAR/BV-01
           * @reference EN 302 637-3 clause 5.4.2.2
           */
          testcase TC_DEN_PAR_BV_01() runs on ItsDenm system ItsDenmSystem {
          } // end TC_DEN_PAR_BV_01

          /**
           * @desc    Check that DENM is encapsulated in a GBC packet
           * <pre>        
           * PICS Selection: PICS_DENM_GENERATION 
           * Initial conditions:
           *  with {
           *      the IUT being in the "initial state"
           *  }
           * Expected behaviour:
           *  ensure that {
           *      when {
           *          a DENM is generated
           *      }
           *      then {
           *          the IUT sends a DENM
           *              encapsulated in a GBC packet
           *      }
           *  }
           * </pre>
           * 
           * @see       ETSI 102 869-2 v1.5.1 TP/DEN/PAR/BV-02
           * @reference EN 302 637-3 clause 5.4.2.2
           */
          testcase TC_DEN_PAR_BV_02() runs on ItsDenm system ItsDenmSystem {
              
              f_DEN_PAR_BV_02();
              
          } // end TC_DEN_PAR_BV_02          

      } // end denMessageLowerLayerParameters
      
      group denMessageSSP {
        
        /**
         * @desc    Check that IUT does not send a DENM if it is not permitted by signing certificate
         *         
         * <pre>
         * PICS Selection: PICS_DENM_GENERATION AND PICS_SECURITY
         * Initial conditions:
         *    with {
         * 	      the IUT being in the "initial state"
         * 	      the IUT is authorized to sign DENMs with the certificate
         * 		      containing DENM SSP
         * 		          not containing pemisions to send trafficCondition cause code
         *    }
         * Expected behaviour:
         *    ensure that {
         *    	when {
         *    		the IUT receives an AppDENM_trigger request from the application layer
         *    			containing situation container
         *    				containing eventType
         *    					containing causeCode
         *    						indicating trafficCondition
         *    	}
         *    	then {
         *    		the IUT does not send this DENM
         *    	}
         *    }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/SSP/BV-01
         * @reference ETSI EN 302 637-3, clause 8.4.2
         */
        testcase TC_DEN_SSP_BV_01() runs on ItsDenm system ItsDenmSystem {
            
            f_DEN_SSP_BV_01();
            
        } // end TC_DEN_SSP_BV_01
      
        /**
         * @desc    Check that IUT does not send a DENM if it is not permitted by signing certificate
         *         
         * <pre>
         * PICS Selection: PICS_DENM_GENERATION AND PICS_SECURITY
         * Initial conditions:
         *    with {
         * 	      the IUT being in the "initial state"
         * 	      the IUT is authorized to sign DENMs with the certificate
         * 		      containing DENM SSP
         * 		          not containing pemisions to send 'accident' cause code
         *    }
         * Expected behaviour:
         *    ensure that {
         *    	when {
         *    		the IUT receives an AppDENM_trigger request from the application layer
         *    			containing situation container
         *    				containing eventType
         *    					containing causeCode
         *    						indicating 'accident'
         *    	}
         *    	then {
         *    		the IUT does not send this DENM
         *    	}
         *    }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/SSP/BV-01
         * @reference ETSI EN 302 637-3, clause 8.4.2
         */
        testcase TC_DEN_SSP_BV_02() runs on ItsDenm system ItsDenmSystem {
            
            f_DEN_SSP_BV_02();
            
        } // end TC_DEN_SSP_BV_02
      }
filatov's avatar
filatov committed
    } // end denMessageTransmission
    
    // 5.2.2
    group denMessageReception {
        
        /**
         * @desc    Check that receiving ITS-S transmits DENM to application if it concerns an unknown ActionID and if it is not a termination DENM
         *         
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: none
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT not having received DENM
         *          containing management container
         *              containing actionID
         *                  indicating ACTION_ID1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a DENM that is not a termination
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID1
         *      }
         *      then {
         *          the IUT transmits the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-01
         * @reference ETSI EN 302 637-3, clause 8.4.2
filatov's avatar
filatov committed
         */
        testcase TC_DEN_MSRV_BV_01() runs on ItsDenm system ItsDenmSystem {
            
filatov's avatar
filatov committed
            
        } // end TC_DEN_MSRV_BV_01
        
        /**
         * @desc    Check that receiving ITS-S transmits DENM to application if it concerns a known ActionID 
filatov's avatar
filatov committed
         *          and referenceTime is greater than highest value received for this ActionID
         * <pre>
         * PICS Selection: none
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received DENM
         *          containing management container
         *              containing actionID
         *                  indicating ACTION_ID1
         *              and containing referenceTime
         *                  indicating  REFERENCETIME_1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a DENM
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID1
         *                  and containing referenceTime
         *                      indicating REFERENCETIME_2 greater than REFERENCETIME_1

         *      }
         *      then {
         *          the IUT transmits the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-02
         * @reference ETSI EN 302 637-3, clause 8.4.2
filatov's avatar
filatov committed
         */
        testcase TC_DEN_MSRV_BV_02() runs on ItsDenm system ItsDenmSystem {
            
filatov's avatar
filatov committed
            
        } // end TC_DEN_MSRV_BV_02
                
        /**
         * @desc    Check that receiving ITS-S discards termination DENM if it concerns an unknown ActionID (own actionID)
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: none 
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received several events
         *      and the IUT not having received DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a termination DENM
         *              containing actionID
         *                  indicating ACTION_ID1
         *      }
         *      then {
         *          the IUT discards the DENM
         *          and the IUT does not forward the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BO-03
         * @reference ETSI EN 302 637-3, clause 8.3.2
        testcase TC_DEN_MSRV_BO_03() runs on ItsDenm system ItsDenmSystem {
        } // end TC_DEN_MSRV_BO_03
         * @desc    Check that receiving ITS-S discards termination DENM if it concerns an unknown ActionID (other actionID)
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: none 
         * Initial conditions:
         *  with {
         *      and the IUT having received several events
         *      and the IUT not having received DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a termination DENM
         *              containing actionID
         *                  indicating ACTION_ID1
         *      }
         *      then {
         *          the IUT discards the DENM
         *          and the IUT does not forward the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BO-04
         * @reference ETSI EN 302 637-3, clause 8.3.2
        testcase TC_DEN_MSRV_BO_04() runs on ItsDenm system ItsDenmSystem {
        } // end TC_DEN_MSRV_BO_04
         * @desc    Check that receiving ITS-S discards DENM if referenceTime is lower than highest value received for this ActionID
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: none
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received DENM
         *          containing management container
         *              containing actionID
         *                  indicating ACTION_ID1
         *              and containing referenceTime
         *                  indicating REFERENCETIME_1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a DENM
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID1
         *                  and containing referenceTime
         *                      indicating REFERENCETIME_2 lower than REFERENCETIME_1
         *      }
         *      then {
         *          the IUT discards the DENM
         *          and the IUT does not forward the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BO-05
         * @reference ETSI EN 302 637-3, clause 8.3.2
        testcase TC_DEN_MSRV_BO_05() runs on ItsDenm system ItsDenmSystem {
        } // end TC_DEN_MSRV_BO_05
         * @desc    Check that receiving ITS-S discards DENM if detectionTime is smaller than highest value received for this ActionID
         *          
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: none
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received DENM
         *          containing management container
         *              containing actionID
         *                  indicating ACTION_ID1
         *              and containing referenceTime
         *                  indicating REFERENCETIME_1
         *              and containing detectionTime
         *                  indicating TIME_1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a DENM
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID1
         *                  and containing referenceTime
         *                      indicating REFERENCETIME_1
         *                  and containing detectionTime
         *                      indicating TIME_2 not more recent than TIME_1
         *      }
         *      then {
         *          the IUT discards the DENM
         *          and the IUT does not forward the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BO-06
         * @reference ETSI EN 302 637-3, clause 8.3.2
        testcase TC_DEN_MSRV_BO_06() runs on ItsDenm system ItsDenmSystem {
        } // end TC_DEN_MSRV_BO_06
         * @desc    Check that receiving ITS-S transmits DENM to application if it concerns a known ActionID and referenceTime 
filatov's avatar
filatov committed
         *          is equal to highest received value and detectionTime is more recent
         * <pre>
         * PICS Selection: none
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received DENM
         *          containing management container
         *              containing actionID
         *                  indicating ACTION_ID1
         *              and containing referenceTime
         *                  indicating REFERENCETIME_1
         *              and containing detectionTime
         *                  indicating TIME_1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a DENM
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID1
         *                  and containing referenceTime
         *                      indicating REFERENCETIME_1
         *                  and containing detectionTime
         *                      indicating TIME_2 more recent than TIME_1
         *      }
         *      then {
         *          the IUT transmits the DENM content to upper layer
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-07
         * @reference ETSI EN 302 637-3, clause 8.3.2
filatov's avatar
filatov committed
         */
        testcase TC_DEN_MSRV_BV_07() runs on ItsDenm system ItsDenmSystem {
            
filatov's avatar
filatov committed
            
        } // end TC_DEN_MSRV_BV_07
        
        group denMessageReceptionSSP {
        	
            /**
             * @desc    Check that receiving ITS-S discards DENM for new event 
             * 			if SSP value of the signing certificate is not consistent with the causeCode
             *          
             * <pre>
             * PICS Selection: none
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *  }
             * Expected behaviour:
             *  ensure that {
             *  	when {
             *  		the IUT receives a secured DENM
             *  			containing situation container
             *  				containing eventType
             *  					containing causeCode
             *  						indicating 'trafficCondition'
             *  			containing signing certificate
             *  				containing SSP
             *  					not permitting to send DENM
             *  						containing causeCode
             *  							indicating 'trafficCondition'
             *  	}
             *  	then {
             *  		the IUT discards the DENM
             *  		and the IUT does not forward the DENM content to upper layer
             *  	}
             *  }
             * </pre>
             * 
             * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-08-01
             * @reference ETSI EN 302 637-3, clause 8.4.2
             */
			testcase TC_DEN_MSRV_BO_08_01() runs on ItsDenm system ItsDenmSystem {
    
				f_DEN_MSRV_BO_08_01();
    
			} // end TC_DEN_MSRV_BO_08_01

            /**
             * @desc    Check that receiving ITS-S discards DENM for new event 
             * 			if SSP value of the signing certificate is not consistent with the causeCode
             *          
             * <pre>
             * PICS Selection: none
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *  }
             * Expected behaviour:
             *  ensure that {
             *  	when {
             *  		the IUT receives a secured DENM
             *  			containing situation container
             *  				containing eventType
             *  					containing causeCode
             *  						indicating 'accident'
             *  			containing signing certificate
             *  				containing SSP
             *  					not permitting to send DENM
             *  						containing causeCode
             *  							indicating 'accident'
             *  	}
             *  	then {
             *  		the IUT discards the DENM
             *  		and the IUT does not forward the DENM content to upper layer
             *  	}
             *  }
             * </pre>
             * 
             * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-08-0@reference ETSI EN 302 637-3, clause 8.4.2
             */
            testcase TC_DEN_MSRV_BO_08_02() runs on ItsDenm system ItsDenmSystem {
    
				f_DEN_MSRV_BO_08_02();
    
            } // end TC_DEN_MSRV_BO_08_02
        
            /**
             * @desc    Check that receiving ITS-S discards DENM for existing event 
             *          if SSP value of the signing certificate is not consistent with the causeCode
             *          
             * <pre>
             * PICS Selection: none
             * Initial conditions:
             *   with {
             *   	the IUT being in the "initial state"
             *   	and the IUT having received a secured DENM
             * 			containing management container
             * 				containing actionID
             * 					indicating ACTION_ID1
             *   		containing situation container
             *   			containing eventType
             *   				containing causeCode
             *   					indicating 'trafficCondition'
             *   		containing signing certificate
             *  			containing SSP
             *  				permitting to send DENM
             *  					containing causeCode
             *  						indicating 'trafficCondition'
             *   }
             * Expected behaviour:
             *   ensure that {
             *   	when {
             *   		the IUT receives a secured DENM
             *   			containing management container
             *   				containing actionID
             *   					indicating ACTION_ID1
             *   			containing situation container
             *   				containing eventType
             *   					containing causeCode
             *   						indicating 'trafficCondition'
             *   			containing signing certificate
             *  				containing SSP
             *  					permitting to send DENM
             *  						containing causeCode
             *  							indicating 'trafficCondition'
             *   	}
             *   	then {
             *   		the IUT discards the DENM
             *   		and the IUT does not forward the DENM content to upper layer
             *   	}
             *   }
             * </pre>
             * 
             * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-09-01
             * @reference ETSI EN 302 637-3, clause 8.4.2
             */
			testcase TC_DEN_MSRV_BO_09_01() runs on ItsDenm system ItsDenmSystem {
    
				f_DEN_MSRV_BO_09_01();
    
			} // end TC_DEN_MSRV_BO_09_01

			/**
			 * @desc    Check that receiving ITS-S discards DENM for existing event 
			 *          if SSP value of the signing certificate is not consistent with the causeCode
			 *          
			 * <pre>
			 * PICS Selection: none
			 * Initial conditions:
			 *   with {
			 *   	the IUT being in the "initial state"
			 *   	and the IUT having received a secured DENM
			 * 			containing management container
			 * 				containing actionID
			 * 					indicating ACTION_ID1
			 *   		containing situation container
			 *   			containing eventType
			 *   				containing causeCode
			 *   					indicating 'accident'
			 *   		containing signing certificate
			 *  			containing SSP
			 *  				permitting to send DENM
			 *  					containing causeCode
			 *  						indicating 'accident'
			 *   }
			 * Expected behaviour:
			 *   ensure that {
			 *   	when {
			 *   		the IUT receives a secured DENM
			 *   			containing management container
			 *   				containing actionID
			 *   					indicating ACTION_ID1
			 *   			containing situation container
			 *   				containing eventType
			 *   					containing causeCode
			 *   						indicating 'accident'
			 *   			containing signing certificate
			 *  				containing SSP
			 *  					permitting to send DENM
			 *  						containing causeCode
			 *  							indicating 'accident'
			 *   	}
			 *   	then {
			 *   		the IUT discards the DENM
			 *   		and the IUT does not forward the DENM content to upper layer
			 *   	}
			 *   }
			 * </pre>
			 * 
			 * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-09-02
             * @reference ETSI EN 302 637-3, clause 8.4.2
			 */
            testcase TC_DEN_MSRV_BO_09_02() runs on ItsDenm system ItsDenmSystem {
    
				f_DEN_MSRV_BO_09_02();
    
            } // end TC_DEN_MSRV_BO_09_02
            
        } // end denMessageReceptionSSP


        /**
         * @desc    Check that receiving ITS-S replies to requestResponseIndication
         *          
         * <pre>
         * PICS Selection: none
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the IUT receives a DENM
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID1
         *              and containing alacarte container
         *                  containing ImpactReductionContainer
         *                  	containing requestResponseIndication
         *                      	indicating request(0)
         *      }
         *      then {
         *          the IUT sends a DENM
         *              containing management container
         *                  containing actionID
         *                      indicating ACTION_ID2
         *              and containing alacarte container
         *                  containing ImpactReductionContainer
         *                  	containing requestResponseIndication
         *                      	indicating response(1)
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/MSRV/BV-10
         * @reference ETSI EN 302 637-3, clause B.40
         */
        testcase TC_DEN_MSRV_BV_10() runs on ItsDenm system ItsDenmSystem {

filatov's avatar
filatov committed
    } // end denMessageReception
    
    // 5.2.3
    group denKeepAliveForwarding {

        /**
         * @desc    Check that forwarding ITS-S forwards DENM if no DENM with same ActionId has been received during forwarding delay
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: PICS_KAF 
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *          and the IUT having received a DENM
         *              containing actionID
         *                  indicating ACTION_ID1
         *              and containing transmissionInterval
         *                  indicating TRANS_INTERVAL1
         *              and containing validityDuration
         *                  indicating value more than 3 times greater than TRANS_INTERVAL1
         *          and the IUT having starting timer T_Forwarding for this DENM
         *          and the IUT not having received further DENM 
         *              containing actionID
         *                  indicating ACTION_ID1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the timer T_Forwarding expires
         *      }
         *      then {
         *          the IUT reconstructs and sends the DENM associated to ACTION_ID1
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/KAFW/BV-01
         * @reference ETSI EN 302 637-3, clause 8.2.2
filatov's avatar
filatov committed
         */
        testcase TC_DEN_KAFW_BV_01() runs on ItsDenm system ItsDenmSystem {
            
filatov's avatar
filatov committed
            
        } // end TC_DEN_KAFW_BV_01
        
        /**
         * @desc    Check that forwarding ITS-S forwards DENM if no DENM with same ActionId and referenceTime greater 
filatov's avatar
filatov committed
         *          or equal to the last received DENM has been received during forwarding delay
         * <pre>
         * PICS Selection: PICS_KAF 
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received a DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *          and containing transmissionInterval
         *              indicating TRANS_INTERVAL1
         *          and containing referenceTime
         *              indicating REFERENCETIME_1
         *          and containing validityDuration
         *              indicating value more than 3 times greater than TRANS_INTERVAL1
         *      and the IUT having starting timer T_Forwarding for this DENM
         *      and the IUT having received DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *          and containing referenceTime
         *              indicating value REFERENCETIME_2 < REFERENCETIME_1
         *      and the IUT not having received further DENM 
         *          containing actionID
         *              indicating ACTION_ID1
         *          and containing referenceTime
         *              indicating value REFERENCETIME_3 > REFERENCETIME_1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the timer T_Forwarding expires
         *      }
         *      then {
         *          the IUT reconstructs and sends the DENM associated to ACTION_ID1
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/KAFW/BV-02
         * @reference ETSI EN 302 637-3, clause 8.2.2
filatov's avatar
filatov committed
         */
        testcase TC_DEN_KAFW_BV_02() runs on ItsDenm system ItsDenmSystem {
            
filatov's avatar
filatov committed
            
        } // end TC_DEN_KAFW_BV_02
                
        /**
         * @desc    Check that forwarding delay is set to min(2*transmissionInterval + rnd(0, 150ms), validityDuration)
         * <pre>
         * PICS Selection: PICS_KAF 
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received a DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *          and containing transmissionInterval
         *              indicating TRANS_INTERVAL1
         *          and containing validityDuration
         *              indicating value DURATION_1 more than 3 times greater than TRANS_INTERVAL1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the timer T_Forwarding expires
         *      }
         *      then {
         *          the IUT reconstructs and sends the DENM associated to ACTION_ID1 at a point of time corresponding to
         *          min ( 2*transmissionInterval + rnd ( 0, 150ms ), validityDuration )
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/KAFW/TI-03
         * @reference ETSI EN 302 637-3, clause 8.2.1.4
        testcase TC_DEN_KAFW_TI_03() runs on ItsDenm system ItsDenmSystem {
        } // end TC_DEN_KAFW_TI_03
         * @desc    Check that Forwarding ITS-S replaces the ITS PDU header of forwarded DENMs
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: PICS_KAF 
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received a DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *          and containing transmissionInterval
         *              indicating TRANS_INTERVAL1
         *          and containing validityDuration
         *              indicating value more than 3 times greater than TRANS_INTERVAL1
         *      and the IUT having starting timer T_Forwarding for this DENM
         *      and the IUT not having received further DENM 
         *          containing actionID
         *              indicating ACTION_ID1
         *  }
         * Expected behaviour:
         *  ensure that {
         *      when { 
         *          the timer T_Forwarding expires
         *      }
         *      then {
         *          the IUT reconstructs and sends the DENM associated to ACTION_ID1
         *              containing ITS PDU header
         *                  containing StationID
         *                      indicating its own stationID
         *      }
         *  }
         * </pre>
         * 
         * @see       ETSI 102 869-2 v1.5.1 TP/DEN/KAFW/BV-04
         * @reference ETSI EN 302 637-3, clause 8.2.1.6
filatov's avatar
filatov committed
         */
        testcase TC_DEN_KAFW_BV_04() runs on ItsDenm system ItsDenmSystem {
            
filatov's avatar
filatov committed
            
        } // end TC_DEN_KAFW_BV_04

        /**
         * @desc    Check that forwarding ITS-S does not change actionID
filatov's avatar
filatov committed
         * <pre>
         * PICS Selection: PICS_KAF 
         * Initial conditions:
         *  with {
         *      the IUT being in the "initial state"
         *      and the IUT having received a DENM
         *          containing actionID
         *              indicating ACTION_ID1
         *          and containing transmissionInterval
         *              indicating TRANS_INTERVAL1
         *          and containing validityDuration
         *              indicating value more than 3 times greater than TRANS_INTERVAL1
         *      and the IUT having starting timer T_Forwarding for this DENM
         *      and the IUT not having received further DENM 
         *          containing actionID
         *              indicating ACTION_ID1
         *  }
         * Expected behaviour: