ItsIvim_TpFunctions.ttcn 82.1 KB
Newer Older
            function f_IS_IVI_GEN_TEXT_BV_04() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_TEXT_BV_04
        
        } // End of group iviTextContainer
        
        group iviGenerationFrequency {
            function f_IS_IVI_GEN_GFQ_TI_01() runs on ItsIvim {
                
                // Local variables
                const integer c_maxLoopValue := 10;
                timer t_minTransInterval := PICS_T_GENIVIMMIN * 0.90;
                var integer v_counter := 0;
                var IviIdentificationNumber v_iviIdentificationNumber;
                var IvimInd v_rcvdMsg;
                
                // Test control
                if (not PICS_IVIM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent(float2int(PICS_T_GENIVIMMIN)));
                ivimPort.clear;
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer(
                                        -, 
                                        -, 
                                        IviStatus_new_
                    ))))) { 
                        tc_ac.stop;
                        t_minTransInterval.start;
                        log("*** " & testcasename() & ": INFO: Initial conditions: First IVIM received ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Initial conditions: IVIM not received ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout);
                    }
                }
                
                // Test Body
                tc_ac.start;
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer
                    )))) {
                        tc_ac.stop;
                        if (t_minTransInterval.running) {
                            log("*** " & testcasename() & ": FAIL: IVIM received BEFORE expiry of the minimum generation timer interval ***");
                            f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                        } else {
                            v_counter := v_counter + 1;
                            if (v_counter < c_maxLoopValue) {
                                repeat;
                            } else {
                                log("*** " & testcasename() & ": PASS: Generation of IVIMs was successful ***");
                                f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                            }
                        }
                    }
                    [] tc_ac.timeout {
                        t_minTransInterval.stop;
                        log("*** " & testcasename() & ": INCONC: IVIM not received ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_GFQ_TI_01
            function f_IS_IVI_GEN_GFQ_TI_02() runs on ItsIvim {
                
                // Local variables
                const integer c_maxLoopValue := 10;
                timer t_maxTransInterval := PICS_T_GENIVIMMAX * 1.10;
                var integer v_counter := 0;
                var IviIdentificationNumber v_iviIdentificationNumber;
                var IvimInd v_rcvdMsg;
                
                // Test control
                if (not PICS_IVIM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent(float2int(PICS_T_GENIVIMMIN)));
                ivimPort.clear;
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer(
                                        -, 
                                        -, 
                                        IviStatus_new_
                    ))))) { 
                        tc_ac.stop;
                        t_maxTransInterval.start;
                        log("*** " & testcasename() & ": INFO: Initial conditions: First IVIM received ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Initial conditions: IVIM not received ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout);
                // Test Body
                tc_ac.start;
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer
                    )))) {
                        tc_ac.stop;
                        t_maxTransInterval.stop;
                        t_maxTransInterval.start;
                        v_counter := v_counter + 1;
                        if (v_counter < c_maxLoopValue) {
                            t_maxTransInterval.start;
                            repeat;
                        } else {
                                log("*** " & testcasename() & ": PASS: Generation of IVIMs was successful ***");
                                f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                        }
                    }
                    [] t_maxTransInterval.timeout {
                        log("*** " & testcasename() & ": FAIL:  No IVIM received BEFORE expiry of the maximum generation timer interval ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_ac.timeout {
                        t_maxTransInterval.stop;
                        log("*** " & testcasename() & ": INCONC: IVIM not received ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_GFQ_TI_02
            
        } // End of group iviGenerationFrequency
        
        group iviEventRepetition {
            
            function f_IS_IVI_GEN_EVRP_BV_01() runs on ItsIvim {
                
                // Local variables
                const integer c_maxLoopValue := 10;
                const TimestampIts c_repetitionInterval := c_duration_4sec;
                var integer v_counter := 0;
                var boolean v_ivimReceived := false;
                const float c_minTransInterval := int2float(c_repetitionInterval) * 0.90;
                const float c_maxTransInterval := int2float(c_repetitionInterval) * 1.10;
                var Times v_times := {};
                var IviIdentificationNumber v_iviIdentificationNumber;
                var IvimInd v_rcvdMsg;
                
                // Test control
                if (not PICS_IVIM_UPDATE) {
                    log("*** " & testcasename() & ": PICS_IVIM_UPDATE required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent(c_repetition_interval_deactivated));
                f_awaitIviMessage(
                    mw_ivimInd(
                        mw_anyIvimPdu(
                            mw_itsPduHeader,
                            mw_ivimStructure(
                                mw_iviManagementContainer(
                                    -, 
                                    v_iviIdentificationNumber, 
                                    IviStatus_new_
                    )))),
                    v_rcvdMsg
                );
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                f_utUpdateEvent(m_utIvimUpdateEvent(v_iviIdentificationNumber, c_duration_4sec));
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer(
                                        -, 
                                        v_iviIdentificationNumber, 
                                        IviStatus_update_
                    ))))) {
                        v_times[v_counter] := tc_ac.read;
                            v_counter := v_counter + 1;
                            if (v_counter < c_maxLoopValue) {
                                repeat;
                        }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": FAIL: Timeout while awaiting the reception of a message. ***");
                                f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                            }
                        }
                
                if (v_counter==c_maxLoopValue) {
                    for (v_counter:=1; v_counter<c_maxLoopValue; v_counter:=v_counter + 1) {
                        var float v_timeDiff := v_times[v_counter]-v_times[v_counter-1];
                        if (not match(v_timeDiff, (c_minTransInterval..c_maxTransInterval))) {
                            log("*** " & testcasename() & ": FAIL: IUT did NOT send IVIM with respect to the 'repetition interval' RI_1. ***");
                            f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                            break;
                    }
                    }
                    if (v_counter==c_maxLoopValue) {
                        log("*** " & testcasename() & ": FAIL: IUT sends IVIM with respect to the 'repetition interval' RI_1. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                }
                
                // Postamble
                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_EVRP_BV_01
            function f_IS_IVI_GEN_EVRP_BV_02() runs on ItsIvim {
                
                // Local variables
                var IviIdentificationNumber v_iviIdentificationNumber;
                var IvimInd v_rcvdMsg;
                
                // Test control
                if (not PICS_IVIM_UPDATE) {
                    log("*** " & testcasename() & ": PICS_IVIM_UPDATE required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent());
                f_awaitIviMessage(
                    mw_ivimInd(
                        mw_anyIvimPdu(
                            mw_itsPduHeader,
                            mw_ivimStructure(
                                mw_iviManagementContainer(
                                    -, 
                                    v_iviIdentificationNumber, 
                                    IviStatus_new_
                    )))),
                    v_rcvdMsg
                );
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                f_utUpdateEvent(m_utIvimUpdateEvent(v_iviIdentificationNumber, c_repetition_interval_deactivated));
Yann Garcia's avatar
Yann Garcia committed
                tc_noac.start;
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer(
                                        -, 
                                        v_iviIdentificationNumber, 
                                        IviStatus_update_
                    ))))) {
                        tc_noac.stop;
                        log("*** " & testcasename() & ": FAIL: No more IVIM shall be sent. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_noac.timeout {
                        log("*** " & testcasename() & ": PASS: No more IVIM was sent. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                }
                
                // Postamble
                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_EVRP_BV_02
        } // End of group iviEventRepetition
            function f_IS_IVI_GEN_EVTR_BV_01() runs on ItsIvim {
garciay's avatar
garciay committed
                
                // Local variables
                var IviIdentificationNumber v_iviIdentificationNumber;
                var IvimInd v_rcvdMsg;
                var integer v_timeOffset := 4 * c_duration_4sec; //at most 4 repetitions
garciay's avatar
garciay committed
                
                // Test control
                if (not PICS_IVIM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent(c_duration_4sec, -, f_getCurrentTime() + 1000 /* to milliseconds */ * v_timeOffset));
                f_awaitIviMessage(
                    mw_ivimInd(
                        mw_anyIvimPdu(
                            mw_itsPduHeader,
                            mw_ivimStructure(
                                mw_iviManagementContainer(
                                    -, 
                                    v_iviIdentificationNumber, 
                                    IviStatus_new_
                    )))),
                    v_rcvdMsg
                );
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                f_sleep(int2float(v_timeOffset));
                ivimPort.clear; //remove repeated events
                
                tc_noac.start;
garciay's avatar
garciay committed
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer(
                                        -, 
garciay's avatar
garciay committed
                                        IviStatus_new_
                    ))))) {
                        log("*** " & testcasename() & ": INFO: No more IVIM shall be sent. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    [] tc_noac.timeout {
                        log("*** " & testcasename() & ": PASS: No more IVIM was sent. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
garciay's avatar
garciay committed
                    }
                }
                
                // Postamble
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_EVTR_BV_01
            function f_IS_IVI_GEN_EVTR_BV_02() runs on ItsIvim {
garciay's avatar
garciay committed
                
                // Local variables
                var IviIdentificationNumber v_iviIdentificationNumber;
                var IvimInd v_rcvdMsg;
                
                // Test control
                if (not PICS_IVIM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent());
                f_awaitIviMessage(
                    mw_ivimInd(
                        mw_anyIvimPdu(
                            mw_itsPduHeader,
                            mw_ivimStructure(
                                mw_iviManagementContainer(
                                    -, 
                                    v_iviIdentificationNumber, 
                                    IviStatus_new_
                    )))),
                    v_rcvdMsg
                );
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                f_utTerminateEvent(m_utEventCancellation(v_iviIdentificationNumber));
                
                tc_noac.start;
garciay's avatar
garciay committed
                alt {
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer(
                                        -, 
garciay's avatar
garciay committed
                                        IviStatus_new_
                    ))))) {
                        log("*** " & testcasename() & ": INFO: No more IVIM shall be sent. ***");
garciay's avatar
garciay committed
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_noac.timeout {
                        log("*** " & testcasename() & ": PASS: No more IVIM was sent. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
garciay's avatar
garciay committed
                    }
                }
                
                // Postamble
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_EVTR_BV_02
            function f_IS_IVI_GEN_EVTR_BV_03() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_EVTR_BV_03
            
            function f_IS_IVI_GEN_EVTR_BV_04() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_EVTR_BV_04
            
        } // End of group iviEventTermination
            function f_IS_IVI_GEN_COM_BV_01() runs on ItsIvim {
                
                // Local variables
                const UInt8 c_gnNhBtpB := 2;
garciay's avatar
garciay committed
                var IviIdentificationNumber v_iviIdentificationNumber;
garciay's avatar
garciay committed
                // Test control
                if (not PICS_IVIM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Test adapter configuration
                
                // Preamble
                f_prInitialState();
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent());
                        
                tc_ac.start;
                alt {
                    [] ivimPort.receive(
                        mw_ivimIndWithGnParameters(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer
                            )),
                            c_gnNhBtpB
                    )) {
                        tc_ac.stop;
garciay's avatar
garciay committed
                        log("*** " & testcasename() & ": PASS: Expected IVIM encapsultated in BTP-B packet received. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] ivimPort.receive(
                        mw_ivimIndWithGnParameters(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer
                            )),
                            omit
                    )) {
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: no GN NH information in IvimInd. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu
                    )) {
                        tc_ac.stop;
garciay's avatar
garciay committed
                        log("*** " & testcasename() & ": FAIL: Expected IVIM received, but not encapsulated in BTP-B packet. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_COM_BV_01
//            function f_IS_IVI_COMM_BV_01_02() runs on ItsIvim {
//                
//                // Local variables
//                const UInt16 c_gnNhBtpBPort := 2006;
//                var IviIdentificationNumber v_iviIdentificationNumber;
//                
//                // Test control
//                if (not PICS_IVIM_GENERATION) {
//                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
//                    setverdict(inconc);
//                    stop;
//                }
//                
//                // Test component configuration
//                f_cfUp();
//                
//                // Test adapter configuration
//                
//                // Preamble
//                f_prInitialState();
//                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
//                
//                // Test Body
//                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent());
//                        
//                tc_ac.start;
//                alt {
//                    [] ivimPort.receive(
//                        mw_ivimIndWithBtpParameters(
//                            mw_anyIvimPdu(
//                                mw_itsPduHeader,
//                                mw_ivimStructure(
//                                    mw_iviManagementContainer
//                            )),
//                            c_gnNhBtpBPort,
//                            0
//                    )) {
//                        tc_ac.stop;
//                        log("*** " & testcasename() & ": Expected IVIM encapsultated in BTP packet with port value 2006 received. ***");
//                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
//                    }
//                    [] ivimPort.receive(
//                        mw_ivimInd(
//                            mw_anyIvimPdu(
//                                mw_itsPduHeader,
//                                mw_ivimStructure(
//                                    mw_iviManagementContainer
//                    )))) {
//                        tc_ac.stop;
//                        log("*** " & testcasename() & ": FAIL: Expected IVIM received, but not addressed to the correct destination port. ***");
//                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
//                    }
//                    [] ivimPort.receive(
//                        mw_ivimInd(
//                            mw_anyIvimPdu
//                    )) {
//                        tc_ac.stop;
//                        log("*** " & testcasename() & ": FAIL: Expected IVIM received, but not encapsulated in BTP-B packet. ***");
//                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
//                    }
//                    [] tc_ac.timeout {
//                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
//                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
//                    }
//                }
//                
//                // Postamble
//                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
//                f_cfDown();
//                
//            } // End of function f_IS_IVI_COMM_BV_01_02
            function f_IS_IVI_GEN_COM_BV_02 () runs on ItsIvim {
garciay's avatar
garciay committed
                
                // Local variables
                const UInt8 c_gnHtUnc := 2;
                var IviIdentificationNumber v_iviIdentificationNumber;
                
                // Test control
Yann Garcia's avatar
Yann Garcia committed
                if (not PICS_IVIM_GENERATION) {
garciay's avatar
garciay committed
                    log("*** " & testcasename() & ": PICS_IVIM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                v_iviIdentificationNumber := f_utTriggerEvent(m_utTriggerEvent());
                
                tc_ac.start;
                alt {
                    [] ivimPort.receive(
                        mw_ivimIndWithGnParameters(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer
                            )),
                            c_gnHtUnc
                    )) {
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Expected IVIM encapsulated in GBC packet received. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] ivimPort.receive(
                        mw_ivimIndWithGnParameters(
                            mw_anyIvimPdu(
                                mw_itsPduHeader,
                                mw_ivimStructure(
                                    mw_iviManagementContainer
                            )),
                            omit
                    )) {
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: no GN NH information in IvimInd. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] ivimPort.receive(
                        mw_ivimInd(
                            mw_anyIvimPdu
                    )) {
                        tc_ac.stop;
garciay's avatar
garciay committed
                        log("*** " & testcasename() & ": FAIL: Expected IVIM received, but not encapsulated in BTP-B packet. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poCancelEvent(e_iut, v_iviIdentificationNumber);
                f_cfDown();
                
            } // End of function f_IS_IVI_GEN_COM_BV_02
        group iviSecurityParameters{
            
            function f_IS_IVI_GEN_SEC_BV_01() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SEC_BV_01
            
            function f_IS_IVI_GEN_SEC_BV_02() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SEC_BV_02
            
            function f_IS_IVI_GEN_SSP_BV_01() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BV_01
            
            function f_IS_IVI_GEN_SSP_BV_02() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BV_02
            
            function f_IS_IVI_GEN_SSP_BV_03() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BV_03
            
            function f_IS_IVI_GEN_SSP_BV_04() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BV_04
            
            function f_IS_IVI_GEN_SSP_BV_05() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BV_05
            
            function f_IS_IVI_GEN_SSP_BV_06() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BV_06
            
            function f_IS_IVI_GEN_SSP_BO_01() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BO_01
            
            function f_IS_IVI_GEN_SSP_BO_02() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BO_02
            
            function f_IS_IVI_GEN_SSP_BO_03() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BO_03
            
            function f_IS_IVI_GEN_SSP_BO_04() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BO_04
            
            function f_IS_IVI_GEN_SSP_BO_05() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BO_05
            
            function f_IS_IVI_GEN_SSP_BO_06() runs on ItsIvim {
                
                // TODO
                
            } // End of function f_IS_IVI_GEN_SSP_BO_06
        
        } // End of group iviSecurityParameters
        
    } // End of group iviMessageTransmission
    
    group iviMessageReception {
        
         * @desc    TP Function for TC_IS_IVI_RCV_MSGF_BV_01
         */
        function f_IS_IVI_RCV_MSGF_BV_01() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_MSGF_BV_01
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_DATA_BV_01
         */
        function f_IS_IVI_RCV_DATA_BV_01() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_DATA_BV_01
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_DATA_BV_02
         */
        function f_IS_IVI_RCV_DATA_BV_02() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_DATA_BV_02
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_DATA_BV_03
         */
        function f_IS_IVI_RCV_DATA_BV_03() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_DATA_BV_03
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_DATA_BV_04
         */
        function f_IS_IVI_RCV_DATA_BV_04() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_DATA_BV_04
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_DATA_BV_05
         */
        function f_IS_IVI_RCV_DATA_BV_05() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_DATA_BV_05
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_EVUP_BV_01
         */
        function f_IS_IVI_RCV_EVUP_BV_01() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_EVUP_BV_01
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_EVUP_BV_02
         */
        function f_IS_IVI_RCV_EVUP_BV_02() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_EVUP_BV_02
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_EVUP_BV_03
         */
        function f_IS_IVI_RCV_EVUP_BV_03() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_EVUP_BV_03
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_EVUP_BV_04
         */
        function f_IS_IVI_RCV_EVUP_BV_04() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_EVUP_BV_04
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_EVUP_BV_05
        function f_IS_IVI_RCV_EVUP_BV_05() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_EVUP_BV_05
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_EVUP_BV_06
         */
        function f_IS_IVI_RCV_EVUP_BV_06() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_EVUP_BV_06
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BV_01
         */
        function f_IS_IVI_RCV_SSP_BV_01() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BV_01
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_01
         */
        function f_IS_IVI_RCV_SSP_BO_01() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_01
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_02
         */
        function f_IS_IVI_RCV_SSP_BO_02() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_02
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_03
         */
        function f_IS_IVI_RCV_SSP_BO_03() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_03
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_04
         */
        function f_IS_IVI_RCV_SSP_BO_04() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_04
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_05
         */
        function f_IS_IVI_RCV_SSP_BO_05() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_05
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_06
         */
        function f_IS_IVI_RCV_SSP_BO_06() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_06
        
        /**
         * @desc    TP Function for TC_IS_IVI_RCV_SSP_BO_07
         */
        function f_IS_IVI_RCV_SSP_BO_07() runs on ItsIvim {
            
            // TODO
            
        } // End of function f_IS_IVI_RCV_SSP_BO_07
//        
//        /**
//         * @desc    TP Function for TC_IS_IVI_MSGF_BV_02
//         */
//        function f_IS_IVI_MSGF_BV_02() runs on ItsIvim {
//            
//            // Local variables
//            var IvimReq v_ivimReq;
//            var integer i;
//            
//            // Test control
//            if (not PICS_IVIM_RECEPTION) {
//                log("*** " & testcasename() & ": PICS_IVIM_RECEPTION required for executing the TC ***");
//                setverdict(inconc);