Commit 2c592730 authored by Yann Garcia's avatar Yann Garcia
Browse files

Validate AtsSrem against TTwb 1.1.30

parent e0685592
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -58,8 +58,8 @@ ItsRSUsSimulator_Pics.PICS_SEND_DENM_INDICATION := false
ItsRSUsSimulator_Pics.PICS_SEND_IVIM_INDICATION   := false
ItsRSUsSimulator_Pics.PICS_SEND_IVIM_INDICATION   := false
ItsRSUsSimulator_Pics.PICS_SEND_MAPEM_INDICATION  := false
ItsRSUsSimulator_Pics.PICS_SEND_MAPEM_INDICATION  := false
ItsRSUsSimulator_Pics.PICS_SEND_SPATEM_INDICATION := false
ItsRSUsSimulator_Pics.PICS_SEND_SPATEM_INDICATION := false
ItsRSUsSimulator_Pics.PICS_SEND_SREM_INDICATION   := false
ItsRSUsSimulator_Pics.PICS_SEND_SREM_INDICATION   := true
ItsRSUsSimulator_Pics.PICS_SEND_SSEM_INDICATION   := false
ItsRSUsSimulator_Pics.PICS_SEND_SSEM_INDICATION   := true
ItsRSUsSimulator_Pics.PICS_SEND_RTCMEM_INDICATION := true
ItsRSUsSimulator_Pics.PICS_SEND_RTCMEM_INDICATION := true


# Enable Security support
# Enable Security support
@@ -182,7 +182,7 @@ LogEventTypes:= Yes
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=36,secured_mode=0,certificate=CERT_IUT_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=f8cab8083918)/PCAP(mac_src=f8cab8083918,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=36,secured_mode=0,certificate=CERT_IUT_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=f8cab8083918)/PCAP(mac_src=f8cab8083918,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
# Linux
# Linux
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=36,secured_mode=1,certificate=CERT_IUT_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=f8cab8083918)/PCAP(mac_src=f8cab8083918,nic=eno1,filter=and ether proto 0x8947)"
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=36,secured_mode=1,certificate=CERT_IUT_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=f8cab8083918)/PCAP(mac_src=f8cab8083918,nic=eno1,filter=and ether proto 0x8947)"
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=128,secured_mode=0,certificate=CERT_IUT_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=dc536045af7e)/PCAP(mac_src=dc536045af7e,nic=wlp2s0,filter=and ether proto 0x8947)"
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=140,secured_mode=0,certificate=CERT_IUT_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=dc536045af7e)/PCAP(mac_src=dc536045af7e,nic=wlp2s0,filter=and ether proto 0x8947)"
# Commsignia
# Commsignia
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=37,secured_mode=0,encrypted_mode=0,certificate=CERT_IUT_A_AT,peer_certificate=CERT_TS_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/COMMSIGNIA(xport_mode=LTE-V2X,mac_src=080027F44E7D,interface_id=2,target_host=192.168.0.54)/UDP(dst_ip=192.168.0.54,src_port=9091,dst_port=7946)"
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=37,secured_mode=0,encrypted_mode=0,certificate=CERT_IUT_A_AT,peer_certificate=CERT_TS_A_AT,sec_db_path=/home/yann/tmp/asn1c_cert)/COMMSIGNIA(xport_mode=LTE-V2X,mac_src=080027F44E7D,interface_id=2,target_host=192.168.0.54)/UDP(dst_ip=192.168.0.54,src_port=9091,dst_port=7946)"
# Qualcom
# Qualcom
@@ -197,8 +197,8 @@ system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050
#system.cfPort.params := "CF(ut=denm)/UDP(src_port=12345,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=denm)/UDP(src_port=12345,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=ivim)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=ivim)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=mapemspatem)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=mapemspatem)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=sremssem)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
system.cfPort.params := "CF(ut=sremssem)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
system.cfPort.params := "CF(ut=rtcmem)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=rtcmem)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=rtcmem)/UDP(src_port=12345,dst_port=12345,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=rtcmem)/UDP(src_port=12345,dst_port=12345,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=gn)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=gn)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=pki)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
#system.cfPort.params := "CF(ut=pki)/UDP(src_port=12345,dst_port=12346,reuse_incoming_source_adddress=1)"
+6 −4
Original line number Original line Diff line number Diff line
@@ -4,7 +4,7 @@
LibItsCommon_Pixits.PX_IUT_STATION_ID := 2533729309
LibItsCommon_Pixits.PX_IUT_STATION_ID := 2533729309


LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
LibItsCam_Pics.PICS_IS_IUT_SECURED := true
LibItsCam_Pics.PICS_IS_IUT_SECURED := false


[LOGGING]
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# In this section you can specify the name of the log file and the classes of events
@@ -90,14 +90,16 @@ LogEventTypes:= Yes
# Cygwin
# Cygwin
#system.sremSsemPort.params := "SremSsem(next_header=btpB)/BTP(dst_port=2007,ssem_port=2008)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
#system.sremSsemPort.params := "SremSsem(next_header=btpB)/BTP(dst_port=2007,ssem_port=2008)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
# Linux
# Linux
system.sremSsemPort.params := "SremSsem(next_header=btpB)/BTP(dst_port=2007,ssem_port=2008)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=dc536045af7f)/PCAP(mac_src=dc536045af7f,nic=wlp2s0,filter=and ether proto 0x8947)"
system.sremSsemPort.params := "SremSsem(next_header=btpB)/BTP(dst_port=2007,ssem_port=2008)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=dc536045af7f)/PCAP(mac_src=dc536045af7f,nic=wlp2s0,filter=and ether proto 0x8947)"


# SremSsem UpperTester port based on UDP
# SremSsem UpperTester port based on UDP
system.utPort.params := "UT_SREMSSEM/UDP(dst_ip=127.0.0.1,dst_port=12345,src_port=12346)"
system.utPort.params := "UT_SREMSSEM/UDP(dst_ip=192.168.1.25,dst_port=12345,src_port=12346)"


[EXECUTE]
[EXECUTE]
# Check that protocolVersion is set to 1 and messageID is set to 9
# Check that protocolVersion is set to 1 and messageID is set to 9
ItsSrem_TestCases.TC_IS_TLCR_GEN_MSGF_BV_01
#ItsSrem_TestCases.TC_IS_TLCR_GEN_MSGF_BV_01
# Check that IVI Service generates a new SREM on reception of a valid AppSREM_Trigger request
ItsSrem_TestCases.TC_IS_TLCR_GEN_EVGN_BV_01
# Check that the IUT generates SREM containing requestor information
# Check that the IUT generates SREM containing requestor information
#ItsSrem_TestCases.TC_IS_TLCR_GEN_EVGN_BV_02
#ItsSrem_TestCases.TC_IS_TLCR_GEN_EVGN_BV_02
# Check that the IUT generates SREM containing public transport information
# Check that the IUT generates SREM containing public transport information
+130 −51
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ module ItsRSUsSimulator_Functions {
    // LibItsCommon
    // LibItsCommon
    import from LibItsCommon_Templates all;
    import from LibItsCommon_Templates all;
    import from LibItsCommon_Functions all;
    import from LibItsCommon_Functions all;
    import from LibItsCommon_ASN1_ISDSRC_NamedNumbers all;


    // LibItsBtp
    // LibItsBtp
    import from LibItsBtp_TypesAndValues all;
    import from LibItsBtp_TypesAndValues all;
@@ -230,8 +231,6 @@ module ItsRSUsSimulator_Functions {
        var template (omit) IVIM v_ivim := omit;
        var template (omit) IVIM v_ivim := omit;
        //var template (omit) EvcsnPdu v_evcsn := omit;
        //var template (omit) EvcsnPdu v_evcsn := omit;
        var template (omit) RTCMEM v_rtcmem := omit;
        var template (omit) RTCMEM v_rtcmem := omit;
        var template (omit) SREM v_srem := omit;
        var template (omit) SSEM v_ssem := omit;
        var integer v_counter;
        var integer v_counter;


        log(">>> f_setup_rsu: ", vc_cam);
        log(">>> f_setup_rsu: ", vc_cam);
@@ -499,11 +498,8 @@ module ItsRSUsSimulator_Functions {
                v_denms,
                v_denms,
                v_mapem,
                v_mapem,
                v_spatems,
                v_spatems,
                v_ivim,
                v_ivim
                //                v_evcsn,
                //                v_evcsn,
                -,
                -,
                v_ssem
        );
        );
        if (PICS_RSU_PARAMS[p_rsu_id].geoShape == e_geoCircle) {
        if (PICS_RSU_PARAMS[p_rsu_id].geoShape == e_geoCircle) {
            vc_geoArea := {
            vc_geoArea := {
@@ -752,17 +748,39 @@ module ItsRSUsSimulator_Functions {
                            out template (value) GnRawPayload p_payload
                            out template (value) GnRawPayload p_payload
    ) runs on ItsRSUsSimulator {
    ) runs on ItsRSUsSimulator {


      log("f_prepare_srem: vc_sremEventCounter = ", vc_sremEventCounter);
      p_payload := valueof(
      p_payload := valueof(
                           f_adaptPayload(
                           f_adaptPayload(
                                          bit2oct(
                                          bit2oct(
                                                  encvalue(
                                                  encvalue(
                                                           valueof(
                                                           valueof(
                            vc_rsuMessagesValueList[vc_rsu_id].srem
                                                                   vc_rsuMessagesValueList[vc_rsu_id].srems[vc_sremEventCounter]
                                                                   ))),
                                                                   ))),
                                          PICS_SREM_BTP_DESTINATION_PORT,
                                          PICS_SREM_BTP_DESTINATION_PORT,
                                          PICS_SREM_BTP_SOURCE_PORT
                                          PICS_SREM_BTP_SOURCE_PORT
                                          )
                                          )
                           );
                           );
      if (valueof(vc_rsuMessagesValueList[vc_rsu_id].srems[vc_sremEventCounter].srm.requests[0].request.requestType) == priorityCancellation) {
        log("f_prepare_srem: Remove item: ", vc_rsuMessagesValueList[vc_rsu_id].srems);
        if (lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems) == 1) {
          log("f_prepare_srem: Remove last item");
          vc_rsuMessagesValueList[vc_rsu_id].srems := {};
          vc_sremEventCounter := 0;
          vc_srem := false;
        } else {
          if (vc_sremEventCounter == 0) {
            vc_rsuMessagesValueList[vc_rsu_id].srems := substr(vc_rsuMessagesValueList[vc_rsu_id].srems, 1, lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems) - 1);
          } else {
            var SREMs v_l;
            v_l := substr(vc_rsuMessagesValueList[vc_rsu_id].srems, 0, vc_sremEventCounter) & substr(vc_rsuMessagesValueList[vc_rsu_id].srems, vc_sremEventCounter + 1, lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems) - vc_sremEventCounter - 1);
            vc_rsuMessagesValueList[vc_rsu_id].srems := v_l;
          }
          log("f_prepare_srem: After removing: ", vc_rsuMessagesValueList[vc_rsu_id].srems);
          vc_sremEventCounter := (vc_sremEventCounter + 1) mod lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems);
        }
      } else {
        vc_sremEventCounter := (vc_sremEventCounter + 1) mod lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems);
      }
    } // End of function f_prepare_srem
    } // End of function f_prepare_srem
    
    
    /* function f_prepare_evcsn( */
    /* function f_prepare_evcsn( */
@@ -1723,7 +1741,17 @@ module ItsRSUsSimulator_Functions {
            log("a_process_cf_ut_command (pki): Change certificate to ", v_certificate_id);
            log("a_process_cf_ut_command (pki): Change certificate to ", v_certificate_id);
            f_acTriggerSecEvent(m_acEnableSecurity(v_certificate_id));
            f_acTriggerSecEvent(m_acEnableSecurity(v_certificate_id));
          }
          }
          vc_rsuMessagesValueList[vc_rsu_id].srem := valueof(
          vc_sremEventCounter := 0;
          vc_rsuMessagesValueList[vc_rsu_id].srems := {};
          vc_srem := true;
          cfPort.send(UtSremResults: { utSremInitializeResult := true } );
          repeat;
        }
        [vc_srem == true] cfPort.receive(UtSremTrigger:?) -> value v_utSremTrigger {
          var integer v_idx := lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems);

          log("a_process_cf_ut_command: v_utSremTrigger: ", v_utSremTrigger);
          vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx] := valueof(
                                                                     m_sremPdu(
                                                                     m_sremPdu(
                                                                               m_srem(
                                                                               m_srem(
                                                                                      m_requestorDescription(
                                                                                      m_requestorDescription(
@@ -1732,6 +1760,12 @@ module ItsRSUsSimulator_Functions {
                                                                                                                         ),
                                                                                                                         ),
                                                                                                             m_requestorType(
                                                                                                             m_requestorType(
                                                                                                                             basicVehicle
                                                                                                                             basicVehicle
                                                                                                                             ),
                                                                                                             m_requestor_position(
                                                                                                                                  LibItsSremSsem_Templates.m_position3D(
                                                                                                                                                                        vc_longPosVectorRsu.latitude,
                                                                                                                                                                        vc_longPosVectorRsu.longitude
                                                                                                                                                                        )
                                                                                                                                  )
                                                                                                                                  )
                                                                                                             ),
                                                                                                             ),
                                                                                      {
                                                                                      {
@@ -1740,7 +1774,7 @@ module ItsRSUsSimulator_Functions {
                                                                                                                               LibItsSremSsem_Templates.m_intersectionReferenceID(
                                                                                                                               LibItsSremSsem_Templates.m_intersectionReferenceID(
                                                                                                                                                                                  PX_INTERSECTION_ID
                                                                                                                                                                                  PX_INTERSECTION_ID
                                                                                                                                                                                  ),
                                                                                                                                                                                  ),
                                                                                                                       PX_REQUEST_ID,
                                                                                                                               PX_REQUEST_ID + lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems),
                                                                                                                               priorityRequest,
                                                                                                                               priorityRequest,
                                                                                                                               { lane := 1 }
                                                                                                                               { lane := 1 }
                                                                                                                               )
                                                                                                                               )
@@ -1749,26 +1783,71 @@ module ItsRSUsSimulator_Functions {
                                                                                      )
                                                                                      )
                                                                               )
                                                                               )
                                                                     );
                                                                     );
          vc_srem := true;
          vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.type_.role := valueof(v_utSremTrigger.basicVehicleRole);
          cfPort.send(UtSremResults: { utSremInitializeResult := true } );
          if (valueof(vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.type_.role) == publicTransport) {
          repeat;
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitStatus := LibItsCommon_ASN1_ISDSRC_NamedNumbers.TransitVehicleStatus_atStopLine_;
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitOccupancy := occupancyMed;
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitSchedule := 35;
          } else {
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitStatus := omit;
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitOccupancy := omit;
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitSchedule := omit;
          }
          }
        [vc_srem == true] cfPort.receive(UtSremTrigger:?) -> value v_utSremTrigger {
          vc_sremEventCounter := v_idx;
          log("a_process_cf_ut_command: v_utSremTrigger: ", v_utSremTrigger);
          if (v_idx == 0) {
          // TODO Update message
            tc_srem.start;
            tc_srem.start;
          }
          cfPort.send(UtSremResults: { utSremTriggerResult := true } );
          cfPort.send(UtSremResults: { utSremTriggerResult := true } );
          repeat;
          repeat;
        }
        }
        [vc_srem == true] cfPort.receive(UtSremUpdate:?) -> value v_utSremUpdate {
        [vc_srem == true] cfPort.receive(UtSremUpdate:?) -> value v_utSremUpdate {
          // TODO Update message
          var integer v_idx;

          log("a_process_cf_ut_command: v_utSremUpdate: ", v_utSremUpdate);
          for (v_idx := 0; v_idx < lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems); v_idx := v_idx + 1) {
            if (valueof(vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requests[0].request.requestID) ==  valueof(v_utSremUpdate.requestID)) {
              break;
            }
          } // End of 'for' statement
          if (v_idx == lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems)) {
            log("a_process_cf_ut_command: v_utSremUpdate: Failed to find the requestID ", v_utSremUpdate.requestID);
            cfPort.send(UtSremResults: { utSremUpdateResult := false } );
          } else {
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.type_.role := valueof(v_utSremUpdate.basicVehicleRole);
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.sequenceNumber := valueof(vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.sequenceNumber) + 1;
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requests[0].request.requestType := priorityRequestUpdate;
            if (valueof(vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.type_.role) == publicTransport) {
              vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitStatus := LibItsCommon_ASN1_ISDSRC_NamedNumbers.TransitVehicleStatus_atStopLine_;
              vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitOccupancy := occupancyMed;
              vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitSchedule := 35;
            } else {
              vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitStatus := omit;
              vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitOccupancy := omit;
              vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requestor.transitSchedule := omit;
            }
            cfPort.send(UtSremResults: { utSremUpdateResult := true } );
            cfPort.send(UtSremResults: { utSremUpdateResult := true } );
          }
          repeat;
          repeat;
        }
        }
        [vc_srem == true] cfPort.receive(UtSremCancelation:?) -> value v_utSremCancelation {
        [vc_srem == true] cfPort.receive(UtSremCancelation:?) -> value v_utSremCancelation {
          var integer v_idx;

          log("a_process_cf_ut_command: v_utSremCancelation: ", v_utSremCancelation);
          log("a_process_cf_ut_command: v_utSremCancelation: ", v_utSremCancelation);
          tc_srem.stop;
          log("a_process_cf_ut_command: v_utSremCancelation: vc_rsuMessagesValueList[vc_rsu_id].srems: ", vc_rsuMessagesValueList[vc_rsu_id].srems);
          for (v_idx := 0; v_idx < lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems); v_idx := v_idx + 1) {
            if (valueof(vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requests[0].request.requestID) ==  valueof(v_utSremCancelation.requestID)) {
              break;
            }
          } // End of 'for' statement
          if (v_idx == lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems)) {
            log("a_process_cf_ut_command: v_utSremCancelation: Failed to find the requestID ", v_utSremCancelation.requestID);
            cfPort.send(UtSremResults: { utSremUpdateResult := false } );
          } else {
            vc_rsuMessagesValueList[vc_rsu_id].srems[v_idx].srm.requests[0].request.requestType := priorityCancellation;
            vc_sremEventCounter := v_idx;
            log("a_process_cf_ut_command: v_utSremCancelation: Cancelling item # ", vc_sremEventCounter);
            cfPort.send(UtSremResults: { utSremCancelationResult := true } );
            cfPort.send(UtSremResults: { utSremCancelationResult := true } );
          }
          repeat;
          repeat;
        }
        }
        [vc_pki == true] cfPort.receive(UtPkiInitialize:?) -> value v_utPkiInitialize {
        [vc_pki == true] cfPort.receive(UtPkiInitialize:?) -> value v_utPkiInitialize {
+5 −5
Original line number Original line Diff line number Diff line
@@ -57,8 +57,8 @@ module ItsRSUsSimulator_Templates {
                                                  in template (omit) IVIM p_ivim := omit,
                                                  in template (omit) IVIM p_ivim := omit,
                                                  //                                                  in template (omit) EvcsnPdu p_evcsn := omit,
                                                  //                                                  in template (omit) EvcsnPdu p_evcsn := omit,
                                                  in template (omit) RTCMEM p_rtcmem := omit,
                                                  in template (omit) RTCMEM p_rtcmem := omit,
                                                  in template (omit) SREM p_srem := omit,
                                                  in template (omit) SREMs p_srems := omit,
                                                  in template (omit) SSEM p_ssem := omit
                                                  in template (omit) SSEMs p_ssems := omit
    ) := {
    ) := {
        beacon     := p_beacon,
        beacon     := p_beacon,
        cam        := p_cam,
        cam        := p_cam,
@@ -68,8 +68,8 @@ module ItsRSUsSimulator_Templates {
        ivim       := p_ivim,
        ivim       := p_ivim,
        //        evcsn      := p_evcsn,
        //        evcsn      := p_evcsn,
        rtcmem     := p_rtcmem,
        rtcmem     := p_rtcmem,
        srem       := p_srem,
        srems      := p_srems,
        ssem       := p_ssem
        ssems      := p_ssems
    } // End of template RsuMessagesValue
    } // End of template RsuMessagesValue


    group geoNetworkingTemplates {
    group geoNetworkingTemplates {
+8 −2
Original line number Original line Diff line number Diff line
@@ -258,9 +258,15 @@ module ItsRSUsSimulator_TestCases {
                log("*** " & testcasename() & ": DEBUG: Processing SREM ***");
                log("*** " & testcasename() & ": DEBUG: Processing SREM ***");
                f_prepare_srem(v_payload);
                f_prepare_srem(v_payload);
                f_send(v_payload, PICS_SREM_ITS_AID);
                f_send(v_payload, PICS_SREM_ITS_AID);
                tc_srem.start;
                vc_ssem_timer_value.stop;
                vc_ssem_timer_value.stop;
                if (lengthof(vc_rsuMessagesValueList[vc_rsu_id].srems) != 0) {
                  tc_srem.start;
                  vc_ssem_timer_value.start;
                  vc_ssem_timer_value.start;
                } else {
                  log("*** " & testcasename() & ": DEBUG: Processing SREM: No more items in SREM list ***");
                  tc_srem.stop;
                  vc_ssem_timer_value.stop;
                }
                repeat;
                repeat;
            }
            }
            [vc_ssem == true] tc_ssem.timeout {
            [vc_ssem == true] tc_ssem.timeout {
Loading