Loading ttcn/AtsECall_IVS_Testcases.ttcn +6 −6 Original line number Diff line number Diff line Loading @@ -1303,7 +1303,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE), PX_TIMEOUT, true); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE)), PX_TIMEOUT, true); f_clearDown(NETWORK, c_now); Loading @@ -1319,7 +1319,7 @@ module AtsECall_IVS_Testcases { f_establishCall(); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1442,7 +1442,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1491,7 +1491,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1603,7 +1603,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1705,7 +1705,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_clearDown(NETWORK, c_now); Loading ttcn/LibItsECall_Functions.ttcn +47 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,53 @@ return v_result; } /** * @desc Decodes the encoded eCallMessage if it valid and sets the decoded field of ECallMessageUnion, * otherwise the ECallMessageUnion is unchanged. * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_expandMsd(in template(present) ECallMessageUnion p_eCallMessageUnion) return template(present) ECallMessageUnion { // expand msd that was given as encoded if valid, otherwise leave as is if (ischosen(p_eCallMessageUnion.encoded) and isvalue(p_eCallMessageUnion.encoded)) { var ECallMessage v_msd; var bitstring v_encoded := oct2bit(valueof(p_eCallMessageUnion.encoded)); if (decvalue(v_encoded, v_msd) == 0) { p_eCallMessageUnion.decoded := v_msd; } } return p_eCallMessageUnion; } /** * @desc Generates a template from the given * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_toTemplate(in template(present) ECallMessageUnion p_eCallMessage) return template(present) ECallMessageUnion { p_eCallMessage := f_expandMsd(p_eCallMessage); if (ischosen(p_eCallMessage.decoded)) { p_eCallMessage.decoded.id := ?; p_eCallMessage.decoded.msd.msdStructure.messageIdentifier := ?; p_eCallMessage.decoded.msd.msdStructure.timestamp := ?; p_eCallMessage.decoded.msd.msdStructure.numberOfPassengers := *; p_eCallMessage.decoded.msd.optionalAdditionalData := *; if (PX_IGNORE_MSD_POSITION) { p_eCallMessage.decoded.msd.msdStructure.control_.positionCanBeTrusted := ?; p_eCallMessage.decoded.msd.msdStructure.vehicleLocation := ?; p_eCallMessage.decoded.msd.msdStructure.vehicleDirection := ?; p_eCallMessage.decoded.msd.msdStructure.recentVehicleLocationN1 := *; p_eCallMessage.decoded.msd.msdStructure.recentVehicleLocationN2 := *; } } return p_eCallMessage; } group altsteps { altstep a_default_ui_behaviour() runs on IvsMtc { // ignore message box selection by default Loading ttcn/LibItsECall_Templates.ttcn +1 −79 Original line number Diff line number Diff line Loading @@ -22,84 +22,6 @@ module LibItsECall_Templates { encode "MSDEncode"; }; // FIXME //import from LibItsECall_Functions {function f_toTemplate}; /** * @desc Decodes the encoded eCallMessage if it valid and sets the decoded field of ECallMessageUnion, * otherwise the ECallMessageUnion is unchanged. * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_expandMsd(in template(present) ECallMessageUnion p_eCallMessageUnion) return template(present) ECallMessageUnion { // expand msd that was given as encoded if valid, otherwise leave as is if (ischosen(p_eCallMessageUnion.encoded) and isvalue(p_eCallMessageUnion.encoded)) { var ECallMessage v_msd; var bitstring v_encoded := oct2bit(valueof(p_eCallMessageUnion.encoded)); if (decvalue(v_encoded, v_msd) == 0) { p_eCallMessageUnion.decoded := v_msd; } } return p_eCallMessageUnion; } /** * @desc Generates a template from the given * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_toTemplate(in template(present) ECallMessageUnion p_eCallMessage) return template(present) ECallMessageUnion { p_eCallMessage := f_expandMsd(p_eCallMessage); /* if (ischosen(p_eCallMessage.decoded)) { var template(present) ECallMessageUnion v_finalECallMessageTemplate; template ECallMessageUnion mw_noIdentifier modifies p_eCallMessage := { decoded := { id := ?, msd := { msdStructure := { messageIdentifier := ?, timestamp := ?, numberOfPassengers := * }, optionalAdditionalData := * } } }; v_finalECallMessageTemplate := mw_noIdentifier; if (PX_IGNORE_MSD_POSITION) { template(present) ECallMessageUnion mw_tmp modifies v_finalECallMessageTemplate := { decoded := { msd := { msdStructure := { control_ := { positionCanBeTrusted := ?//, }, vehicleLocation := ?, vehicleDirection := ?, recentVehicleLocationN1 := *, recentVehicleLocationN2 := * } } } }; v_finalECallMessageTemplate := mw_tmp; } return v_finalECallMessageTemplate; } else { return p_eCallMessage; } */ } template ECallMessageUnion ANY_DECODED_ECALL := { decoded := ? } Loading Loading @@ -245,7 +167,7 @@ module LibItsECall_Templates { inbandMsdReceived := { worker := p_worker, time := p_time, eCallMessage := f_toTemplate(p_eCallMessage) eCallMessage := p_eCallMessage } } Loading Loading
ttcn/AtsECall_IVS_Testcases.ttcn +6 −6 Original line number Diff line number Diff line Loading @@ -1303,7 +1303,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE), PX_TIMEOUT, true); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE)), PX_TIMEOUT, true); f_clearDown(NETWORK, c_now); Loading @@ -1319,7 +1319,7 @@ module AtsECall_IVS_Testcases { f_establishCall(); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1442,7 +1442,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1491,7 +1491,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1603,7 +1603,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_expectFeedback(mw_callHangUp(PX_WORKER, ?, EXTERNAL), PX_TIMEOUT, true); Loading Loading @@ -1705,7 +1705,7 @@ module AtsECall_IVS_Testcases { // Test Body f_establishCall("Trigger eCall"); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, PX_ECALL_MESSAGE)); f_expectFeedback(mw_inbandMsdReceived(PX_WORKER, ?, f_toTemplate(PX_ECALL_MESSAGE))); f_clearDown(NETWORK, c_now); Loading
ttcn/LibItsECall_Functions.ttcn +47 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,53 @@ return v_result; } /** * @desc Decodes the encoded eCallMessage if it valid and sets the decoded field of ECallMessageUnion, * otherwise the ECallMessageUnion is unchanged. * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_expandMsd(in template(present) ECallMessageUnion p_eCallMessageUnion) return template(present) ECallMessageUnion { // expand msd that was given as encoded if valid, otherwise leave as is if (ischosen(p_eCallMessageUnion.encoded) and isvalue(p_eCallMessageUnion.encoded)) { var ECallMessage v_msd; var bitstring v_encoded := oct2bit(valueof(p_eCallMessageUnion.encoded)); if (decvalue(v_encoded, v_msd) == 0) { p_eCallMessageUnion.decoded := v_msd; } } return p_eCallMessageUnion; } /** * @desc Generates a template from the given * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_toTemplate(in template(present) ECallMessageUnion p_eCallMessage) return template(present) ECallMessageUnion { p_eCallMessage := f_expandMsd(p_eCallMessage); if (ischosen(p_eCallMessage.decoded)) { p_eCallMessage.decoded.id := ?; p_eCallMessage.decoded.msd.msdStructure.messageIdentifier := ?; p_eCallMessage.decoded.msd.msdStructure.timestamp := ?; p_eCallMessage.decoded.msd.msdStructure.numberOfPassengers := *; p_eCallMessage.decoded.msd.optionalAdditionalData := *; if (PX_IGNORE_MSD_POSITION) { p_eCallMessage.decoded.msd.msdStructure.control_.positionCanBeTrusted := ?; p_eCallMessage.decoded.msd.msdStructure.vehicleLocation := ?; p_eCallMessage.decoded.msd.msdStructure.vehicleDirection := ?; p_eCallMessage.decoded.msd.msdStructure.recentVehicleLocationN1 := *; p_eCallMessage.decoded.msd.msdStructure.recentVehicleLocationN2 := *; } } return p_eCallMessage; } group altsteps { altstep a_default_ui_behaviour() runs on IvsMtc { // ignore message box selection by default Loading
ttcn/LibItsECall_Templates.ttcn +1 −79 Original line number Diff line number Diff line Loading @@ -22,84 +22,6 @@ module LibItsECall_Templates { encode "MSDEncode"; }; // FIXME //import from LibItsECall_Functions {function f_toTemplate}; /** * @desc Decodes the encoded eCallMessage if it valid and sets the decoded field of ECallMessageUnion, * otherwise the ECallMessageUnion is unchanged. * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_expandMsd(in template(present) ECallMessageUnion p_eCallMessageUnion) return template(present) ECallMessageUnion { // expand msd that was given as encoded if valid, otherwise leave as is if (ischosen(p_eCallMessageUnion.encoded) and isvalue(p_eCallMessageUnion.encoded)) { var ECallMessage v_msd; var bitstring v_encoded := oct2bit(valueof(p_eCallMessageUnion.encoded)); if (decvalue(v_encoded, v_msd) == 0) { p_eCallMessageUnion.decoded := v_msd; } } return p_eCallMessageUnion; } /** * @desc Generates a template from the given * * @return ECallMessageUnion with the decoded field set (if the input is valid), otherwise unchanged */ function f_toTemplate(in template(present) ECallMessageUnion p_eCallMessage) return template(present) ECallMessageUnion { p_eCallMessage := f_expandMsd(p_eCallMessage); /* if (ischosen(p_eCallMessage.decoded)) { var template(present) ECallMessageUnion v_finalECallMessageTemplate; template ECallMessageUnion mw_noIdentifier modifies p_eCallMessage := { decoded := { id := ?, msd := { msdStructure := { messageIdentifier := ?, timestamp := ?, numberOfPassengers := * }, optionalAdditionalData := * } } }; v_finalECallMessageTemplate := mw_noIdentifier; if (PX_IGNORE_MSD_POSITION) { template(present) ECallMessageUnion mw_tmp modifies v_finalECallMessageTemplate := { decoded := { msd := { msdStructure := { control_ := { positionCanBeTrusted := ?//, }, vehicleLocation := ?, vehicleDirection := ?, recentVehicleLocationN1 := *, recentVehicleLocationN2 := * } } } }; v_finalECallMessageTemplate := mw_tmp; } return v_finalECallMessageTemplate; } else { return p_eCallMessage; } */ } template ECallMessageUnion ANY_DECODED_ECALL := { decoded := ? } Loading Loading @@ -245,7 +167,7 @@ module LibItsECall_Templates { inbandMsdReceived := { worker := p_worker, time := p_time, eCallMessage := f_toTemplate(p_eCallMessage) eCallMessage := p_eCallMessage } } Loading