Commit 9c74fd12 authored by Yann Garcia's avatar Yann Garcia
Browse files

Terminate group Frequency/Periodicity range of VAMs

parent 8f6cb06c
Loading
Loading
Loading
Loading
+264 −32
Original line number Diff line number Diff line
@@ -952,8 +952,7 @@ module ItsVru_TestCases {
     */
    testcase TC_VBS_MSGF_BV_22() runs on ItsBaseMtc system ItsVruSystem {
      // Local variables
      var ItsVru v_vam_cluster_member_1;
      var ItsVru v_vam_cluster_member_2;
      var ItsVru v_vam_cluster_member;
      var ItsVru v_iut;

      // Test control
@@ -964,18 +963,17 @@ module ItsVru_TestCases {
      }

      // Test component configuration
      f_cfMtcUp02(v_vam_cluster_member_1, v_vam_cluster_member_2, v_iut);
      f_cfMtcUp01(v_vam_cluster_member, v_iut);

      // Start components
      v_vam_cluster_member_1.start(f_TC_VBS_MSGF_BV_22_cluster_member_1()); // Set the IUT in VRU-PASSIVE mode
      v_vam_cluster_member_2.start(f_TC_VBS_MSGF_BV_22_cluster_member_1()); // Second cluster
      v_vam_cluster_member.start(f_TC_VBS_MSGF_BV_22_cluster_member()); // Set the IUT in VRU-PASSIVE mode
      v_iut.start(f_TC_VBS_MSGF_BV_22_iut());

      // Synchronization
      f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone});
      f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

      // Cleanup
      f_cfMtcDown02(v_vam_cluster_member_1, v_vam_cluster_member_2, v_iut);
      f_cfMtcDown01(v_vam_cluster_member, v_iut);

    } // End of testcase TC_VBS_MSGF_BV_22

@@ -1025,8 +1023,7 @@ module ItsVru_TestCases {
      f_cfMtcUp02(v_vam_cluster_leader_1, v_vam_cluster_leader_2, v_iut);

      // Start components
      v_vam_cluster_leader_1.start(f_TC_VBS_MSGF_BV_15_cluster_leader()); // Set the IUT in VRU-PASSIVE mode
      v_vam_cluster_leader_2.start(f_TC_VBS_MSGF_BV_23_cluster_approching());
      v_vam_cluster_leader_1.start(f_TC_VBS_MSGF_BV_23_cluster_leader()); // Set the IUT in VRU-VRU_ACTIVE_CLUSTER_LEADER mode & raise colliding cluster event
      v_iut.start(f_TC_VBS_MSGF_BV_23_iut());

      // Synchronization
@@ -2126,7 +2123,7 @@ module ItsVru_TestCases {
      f_cfMtcUp01(v_vam_cluster_member, v_iut);

      // Start components
      v_vam_cluster_member.start(f_TC_VBS_MSGF_BV_17_cluster_member());
      v_vam_cluster_member.start(f_TC_VBS_MSGF_BV_15_cluster_leader());
      v_iut.start(f_TC_VBS_TRANS_BV_04_iut());

      // Synchronization
@@ -2166,7 +2163,7 @@ module ItsVru_TestCases {
     */
    testcase TC_VBS_CLTR_BV_01() runs on ItsVru system ItsVruSystem {

      // TODO f_TC_VBS_CLTR_BV_01();
      f_TC_VBS_CLTR_BV_01();

    } // End of TC_VBS_CLTR_BV_01

@@ -2200,28 +2197,28 @@ module ItsVru_TestCases {
     */
    testcase TC_VBS_CLTR_BV_02()  runs on ItsBaseMtc system ItsVruSystem {
      // Local variables
      var ItsVru v_vam_initiate_cluster_leader;
      var ItsVru v_vam_cluster_member;
      var ItsVru v_iut;

      // Test control
      if (not(PICS_CLUSTERING and not PICS_IS_IUT_SECURED)) {
        log("*** " & testcasename() & ": PICS_CLUSTERING and not PICS_IS_IUT_SECURED required for executing the TC ***");
      if (not(PICS_CLUSTERING and PICS_IS_IUT_SECURED)) {
        log("*** " & testcasename() & ": PICS_CLUSTERING and PICS_IS_IUT_SECURED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }

      // Test component configuration
      f_cfMtcUp01(v_vam_initiate_cluster_leader, v_iut);
      f_cfMtcUp01(v_vam_cluster_member, v_iut);

      // Start components
      /* TODO v_vam_clustev_vam_initiate_cluster_leaderr_leader.start(// TODO f_TC_VBS_CLTR_BV_02_initiate_cluster_leader());
      v_iut.start(// TODO f_TC_VBS_CLTR_BV_02_iut());*/
      v_vam_cluster_member.start(f_TC_VBS_MSGF_BV_15_cluster_leader()); // Set the IUT in VRU-ACTIVE-CLUSTER-LEADER
      v_iut.start(f_TC_VBS_CLTR_BV_02_iut());

      // Synchronization
      f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
      f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone});

      // Cleanup
      f_cfMtcDown01(v_vam_initiate_cluster_leader, v_iut);
      f_cfMtcDown01(v_vam_cluster_member, v_iut);

    } // End of TC_VBS_CLTR_BV_02

@@ -2247,9 +2244,9 @@ module ItsVru_TestCases {
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/CLTR/BV-03
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 5.4.2.2
     */
    testcase TC_VBS_CLTR_BV_03()  runs on ItsBaseMtc system ItsVruSystem {
    testcase TC_VBS_CLTR_BV_03() runs on ItsVru system ItsVruSystem {

      // TODO f_TC_VBS_CLTR_BV_03();
      f_TC_VBS_CLTR_BV_03();

    } // End of TC_VBS_CLTR_BV_03

@@ -2278,8 +2275,29 @@ module ItsVru_TestCases {
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 5.4.2.2
     */
    testcase TC_VBS_CLTR_BV_04()  runs on ItsBaseMtc system ItsVruSystem {
      // Local variables
      var ItsVru v_vam_cluster_member;
      var ItsVru v_iut;

      // Test control
      if (not(PICS_CLUSTERING and PICS_IS_IUT_SECURED)) {
        log("*** " & testcasename() & ": PICS_CLUSTERING and PICS_IS_IUT_SECURED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }

      // Test component configuration
      f_cfMtcUp01(v_vam_cluster_member, v_iut);

      // TODO f_TC_VBS_CLTR_BV_04();
      // Start components
      v_vam_cluster_member.start(f_TC_VBS_CLTR_BV_04_cluster_leader()); // Set the IUT in VRU-ACTIVE-CLUSTER-LEADER & VRU-ACTIVESTANDALONE
      v_iut.start(f_TC_VBS_CLTR_BV_04_iut());

      // Synchronization
      f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone});

      // Cleanup
      f_cfMtcDown01(v_vam_cluster_member, v_iut);

    } // End of TC_VBS_CLTR_BV_04

@@ -2327,8 +2345,29 @@ module ItsVru_TestCases {
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 5.4.2.2
     */
    testcase TC_VBS_CLTR_BV_05()  runs on ItsBaseMtc system ItsVruSystem {
      // Local variables
      var ItsVru v_vam_cluster_member;
      var ItsVru v_iut;

      // TODO f_TC_VBS_CLTR_BV_05();
      // Test control
      if (not(PICS_CLUSTERING and PICS_IS_IUT_SECURED)) {
        log("*** " & testcasename() & ": PICS_CLUSTERING and PICS_IS_IUT_SECURED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }

      // Test component configuration
      f_cfMtcUp01(v_vam_cluster_member, v_iut);

      // Start components
      v_vam_cluster_member.start(f_TC_VBS_CLTR_BV_05_cluster_leader()); // Set the IUT in VRU-ACTIVE-CLUSTER-LEADER & VRU-ACTIVESTANDALONE
      v_iut.start(f_TC_VBS_CLTR_BV_04_iut());

      // Synchronization
      f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone});

      // Cleanup
      f_cfMtcDown01(v_vam_cluster_member, v_iut);

    } // End of TC_VBS_CLTR_BV_05

@@ -2471,39 +2510,232 @@ module ItsVru_TestCases {

    } // End of TC_VBS_CLTR_BV_10

  } // End of group vruTransitionTriggering

  group vruTriggeringCondition {

    /**
     * @desc Check that the first time individual VAM is generated immediately after VBS activation
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *         and VBS activation has occured
     *         and VBS has sent no VAM yet
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          VAM is generated
     *      }
     *      then {
     *          VAM is sent
     *              not containing vruClusterInformationContainer
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/TRCN/BV-01
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.4.1
     */
    testcase TC_VBS_TRCN_BV_01() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_TRCN_BV_01();

    } // End of TC_VBS_TRCN_BV_01

    /**
     * @desc Check that a VAM is generated immediately if a VRU is in VRU-IDLE and enters VRU-ACTIVE-STANDALONE
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          VAM is generated
     *      }
     *      then {
     *          VAM is sent
     *              not containing vruClusterInformationContainer
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/TRCN/BV-02
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.4.1
     */
    testcase TC_VBS_TRCN_BV_02() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_TRCN_BV_01();

    } // End of TC_VBS_TRCN_BV_02

  } // End of group vruTriggeringCondition

  group vruFrequencyPeriodicity {
    
    /**
     * @desc Check that the minimum time elapsed between the start of consecutive VAM generation events is equal or larger than T_Gen_Vam
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *         or VBS in state VRU-ACTIVE-CLUSTER-LEADER
     *         and VBS has started generating a VAM at time T1
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          VBS starts generating a VAM at time T2
     *      }
     *      then {
     *          T2 - T1 >= T_Gen_Vam
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/FRPE/TI-01
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.2
     */
    testcase TC_VBS_FRPE_TI_01() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_FRPE_TI_01();

    } // End of TC_VBS_FRPE_TI_01

    /**
     * @desc Check that the LF container is included in the first VAM generation
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *         or VBS in state VRU-ACTIVE-CLUSTER-LEADER
     *         and VBS activation has occured
     *         and no VAM has been sent yet
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          VAM is generated
     *      }
     *      then {
     *          VAM is sent
     *              containing vruLowFrequencyContainer
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/FRPE/BV-02
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.4.1
     */
    testcase TC_VBS_FRPE_BV_02() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_FRPE_BV_02();

    } // End of TC_VBS_FRPE_BV_02

    /**
     * @desc Check that the LF container is included periodically after 2000 ms
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *         or VBS in state VRU-ACTIVE-CLUSTER-LEADER
     *         and VBS activation has occured
     *         and no VAM has been sent yet
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          VAM is generated
     *      }
     *      then {
     *          VAM is sent
     *              containing vruLowFrequencyContainer
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/FRPE/BV-03
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.2
     */
    testcase TC_VBS_FRPE_BV_03() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_FRPE_BV_03();

    } // End of TC_VBS_FRPE_BV_03

    /**
     * @desc Check that the minimum time elapsed between the start of consecutive VAM generation events is equal or larger than T_Gen_Vam
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION and PICS_ITS_G5
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *         or VBS in state VRU-ACTIVE-CLUSTER-LEADER
     *         and T_GenVam >= T_GenVamMax 
     *         and VAM has been sent at time T1
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          next VAM is generated at time T2
     *      }
     *      then {
     *          T2  - T1  = T_GenVamMax
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/FRPE/TI-04
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.2
     */
    testcase TC_VBS_FRPE_TI_04() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_FRPE_TI_04();

    } // End of TC_VBS_FRPE_TI_04

    /**
     * @desc Check that T_GenVam is set to T_GenVamMin if the value for T_GenVam is not provided by the VBS management entity or smaller than T_GenVamMin in case of ITS-G5
     * <pre>
     * Pics Selection: PICS_VAM_TRANSMISSION and PICS_ITS_G5
     * Initial conditions:
     *     with {
     *         VBS in state VRU-ACTIVE-STANDALONE
     *         or VBS in state VRU-ACTIVE-CLUSTER-LEADER
     *         and T_GenVam is not provided
     *         or T_GenVam <= T_GenVamMin
     *         and VAM has been sent at time T1
     *     }
     * Expected behaviour:
     *  ensure that {
     *      when {
     *          next VAM is generated at time T2
     *      }
     *      then {
     *          t2  - t1  = T_GenVamMin
     *      }
     *  }
     * </pre>
     *
     * @see       ETSI TS 104 018-2 V2.0.2 (2024-11) TP/VBS/FRPE/TI-05
     * @reference ETSI TS 103 300-3 (V2.2.1), clause 6.2
     */
    testcase TC_VBS_FRPE_TI_05() runs on ItsVru system ItsVruSystem {

      f_TC_VBS_FRPE_TI_05();

    } // End of TC_VBS_FRPE_TI_05





  } // End of group vruTransitionTriggering

  group vruTriggeringCondition {
  } // End of group vruTriggeringCondition
  } // End of group vruFrequencyPeriodicity

  group securityConstraints {

+9 −0
Original line number Diff line number Diff line
@@ -88,6 +88,15 @@ module ItsVru_TestControl {
        execute(TC_VBS_TRANS_BV_03());
      }
      execute(TC_VBS_TRANS_BV_04());

      execute(TC_VBS_TRCN_BV_01());
      execute(TC_VBS_TRCN_BV_02());

      execute(TC_VBS_FRPE_TI_01());
      execute(TC_VBS_FRPE_BV_02());
      execute(TC_VBS_FRPE_BV_03());
      execute(TC_VBS_FRPE_TI_04());
      execute(TC_VBS_FRPE_TI_05());
    }
  }

+833 −92

File changed.

Preview size limit exceeded, changes collapsed.

+10 −0
Original line number Diff line number Diff line
@@ -57,4 +57,14 @@ module LibItsVru_Pics {
    */
  modulepar boolean PICS_IS_IUT_SECURED := false;

  modulepar float PICS_T_GEN_VAM := 1000.0;

  modulepar float PICS_T_GEN_VAM_MIN := 100.0;

  modulepar float PICS_T_GEN_VAM_MAX := 5000.0;

  modulepar float PICS_T_GEN_VAM_LF_MIN := 2000.0;

  modulepar boolean PICS_ITS_G5 := true;
  
} // End of module LibItsVru_Pics
 No newline at end of file
+20 −0
Original line number Diff line number Diff line
@@ -27,11 +27,21 @@ module LibItsVru_Pixits {
   */
  modulepar integer PX_VRU_REPETITION := 1;

  /**
   * @desc Value of minClusterSize
   */
  modulepar integer PX_VRU_MIN_CLUSTER_SIZE := 4;

  /**
   * @desc To indicates the cardinality of a cluster initiated by the IUT (>= 3, 3 + the IUT as leader)
   */
  modulepar CardinalNumber1B PX_VRU_CLUSTER_CREATE_CARDINALITY := 4;

  /**
   * @desc To indicates the cardinality of a cluster initiated by the IUT (>= 3, 3 + the IUT as leader)
   */
  modulepar CardinalNumber1B PX_VRU_MAX_CLUSTER_SIZE           := 5;

  /**
   * @desc To indicates the cluster ID when initiated by the TS
   */
@@ -61,4 +71,14 @@ module LibItsVru_Pixits {

  modulepar UInt32 PX_DELTA_CARDINALITY_CANCEL   := 100;

  /**
   * @desc Multiply timer value by this control factor to increase it 
   */
  modulepar float PX_INC_TIMER_CONTROL_FACTOR := 1.10;

  /**
   * @desc Multiply timer value by this control factor to decrease it 
   */
  modulepar float PX_DEC_TIMER_CONTROL_FACTOR := 0.9;

} // End of module LibItsVru_Pixits
 No newline at end of file
Loading