///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
//                                                                           //
// All rights reserved. This program and the accompanying materials          //
// are made available under the terms of the Eclipse Public License v2.0     //
// which accompanies this distribution, and is available at                  //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
///////////////////////////////////////////////////////////////////////////////


[MODULE_PARAMETERS]
//tsp_EPTF_UIHandler_headlessmode := false;

//tsp_EPTF_TTCN3Profiler_usedModules := "*_Variable*.ttcn"//"*Definitions *Functions" 
//tsp_EPTF_TTCN3Profiler_usedModules := "*_Base_Functions *Regulator_Functions"//"*Definitions *Functions" 
//tsp_EPTF_TTCN3Profiler_disabled := true;
//tsp_EPTF_TTCN3Profiler_disableStack := true;
//tsp_EPTF_TTCN3Profiler_noAggregate :=  true;

//tsp_EPTF_TTCN3Coverage_usedModules := "*.ttcn"//"*Definitions *Functions" 
//tsp_EPTF_TTCN3Coverage_disabled := true;

tsp_testDuration := 4000.0;
tsp_nrOfLGens := 3;
//tsp_EPTF_ExecCtrlClient_UIHandler_createClientTab := false;

//tsp_ExecCtrl_manualControl := true;
//tsp_EPTF_Var_debug := true;
//tsp_EPTF_Var_maxWaitTime := 11.0;
//tsp_EPTF_Var_SyncInterval := 3.05;
//tsp_debug_EPTF_ExecCtrl_UIHandler := true;
//tsp_debug_EPTF_ExecCtrl_Functions := true;
//tsp_debug_EPTF_ExecCtrlClient_Functions := true;

//tsp_EPTF_ExecCtrlClient_terminateIfExecCtrlTerminates := false
//tsp_EPTF_Base_serialStopAllComponents := false;

//tsp_EPTF_ExecCtrl_UIHandler_noCPSChart :=true;
//tsp_EPTF_ExecCtrl_UIHandler_noDensityChart := true;
//tsp_EPTF_ExecCtrl_UIHandler_CPSChart_maxPointsCurrent:=10;
//tsp_EPTF_ExecCtrl_UIHandler_CPSChart_maxPointsTarget:=10;
//tsp_ExecCtrl_UIHandler_densityChartOrientation := horizontal;
//tsp_ExecCtrl_UIHandler_densityChartLabelType := mixedType;
tsp_EPTF_ExecCtrl_UIHandler_generateReport := true;
tsp_EPTF_ExecCtrl_finalTestReportFile := "FinalTestReport.txt"

//tsp_debug_EPTF_StatMeasure_Functions := true;
//tsp_debug_EPTF_StatHandler := true;
//tsp_debug_EPTF_UIHandler_Functions := true;

tsp_EPTF_ExecCtrl_StartStopScenarioDisable := {
  {
    scIdName:= {eGrpName:="grp1",scName:="scenario_1_declarator2"},disabled:=true
  }
}

tsp_EPTF_ExecCtrl_StartStopTCDisable := {
  {
    tcIdName:= {eGrpName:="grp0_2",scName:="scenario_0_declarator2", tcName := "TC0_declarator2"},disabled:=true
  }
}

tsp_EPTF_ExecCtrl_TimeProfileDescrList := {
  {
    name := "monday",
    timeProfileData := {
      {time:=6.0,targetValue:=2.0},
      {time:=12.0,targetValue:=100.0},
      {time:=20.0,targetValue:=150.0},
      {time:=24.0,targetValue:=0.0}
    }
  },
  {
    name := "tuesday",
    timeProfileData := {
      {time:=3.0,targetValue:=1.0},
      {time:=12.0,targetValue:=150.0},
      {time:=20.0,targetValue:=300.0},
      {time:=24.0,targetValue:=10.0},
      {time:=25.0,targetValue:=0.0}
    }
  }
}

tsp_EPTF_ExecCtrl_TimeProfileList := {
  {
    name := "Mondays_1",
    timeProfileList := {
      {
        timeProfileDescrName := "monday",
        startTime := 0.0,
        periodOfRepetition := 24.0, // one week
        nofRepetition := 0
      }
    }
  },
  {
    name := "Mondays_Infty",
    timeProfileList := {
      {
        timeProfileDescrName := "monday",
        startTime := 0.0,
        periodOfRepetition := 24.0, // one week
        nofRepetition := -1
      }
    }
  },
  {
    name := "Tuesdays_2",
    timeProfileList := {
      {
        timeProfileDescrName := "tuesday",
        startTime := 10.0,
        periodOfRepetition := 24.0, // one week
        nofRepetition := 1
      }
    }
  },
  {
    name := "MonTue_3",
    timeProfileList := {
      {
        timeProfileDescrName := "monday",
        startTime := 0.0,
        periodOfRepetition := 48.0,
        nofRepetition := 2
      },
      {
        timeProfileDescrName := "tuesday",
        startTime := 24.0,
        periodOfRepetition := 48.0, // one week
        nofRepetition := 2
      }
    }
  }
}

tsp_EPTF_ExecCtrl_TimeProfile2TcList := {
  {
    tcId := {
      eGrpName := "grp0",
      scName := "scenario_0_declarator2",
      tcName := "TC0_declarator2"
    },
    timeProfileName := "Mondays_1"
  },
  {
    tcId := {
      eGrpName := "grp0",
      scName := "scenario_0_declarator2",
      tcName := "TC1_declarator2"
    },
    timeProfileName := "Mondays_Infty"
  }/*,
  {
    tcId := {
      eGrpName := "",
      scName := "scenario_1_declarator2",
      tcName := "TC0_declarator2"
    },
    timeProfileName := "Mondays_Infty"
  }*/,
  {
    tcId := {
      eGrpName := "grp2",
      scName := "scenario_2_declarator2",
      tcName := "TC2_declarator2"
    },
    timeProfileName := "Tuesdays_2"
  },
  {
    tcId := {
      eGrpName := "grp1",
      scName := "scenario_1_declarator2",
      tcName := "TC1_declarator2"
    },
    timeProfileName := "MonTue_3"
  },
  {
    tcId := {
      eGrpName := "grp3",
      scName := "scenario_2_declarator3",
      tcName := ""
    },
    timeProfileName := "Tuesdays_2"
  }
}

tsp_EPTF_ExecCtrl_RegulatorNames := {
  "Regulator 1",
  "Regulator 2",
  "Regulator 3"
}

tsp_EPTF_ExecCtrl_RegulatedItems := {
  {
    idName := {
      cps_TC := {
        eGrpName := "grp1",
        scName := "scenario_1_declarator2",
        tcName := "TC0_declarator2"
      }
    },
    weight := 1.0,          // used to determine part of the total value
    enabled := true,       // regulation enabled
    regulatorName := "Regulator 1" // name in EPTF_ExecCtrl_Regulators: this regulator regulates this item
  },
  {
    idName := {
      cps_TC := {
        eGrpName := "grp1",
        scName := "scenario_1_declarator2",
        tcName := "TC1_declarator2"
      }
    },
    weight := 0.5,          // used to determine part of the total value
    enabled := true,       // regulation enabled
    regulatorName := "Regulator 1" // name in EPTF_ExecCtrl_Regulators: this regulator regulates this item
  },
  {
    idName := {
      cps_SC := {
        eGrpName := "grp3",
        scName := "scenario_2_declarator3"
      }
    },
    weight := 1.0,          // used to determine part of the total value
    enabled := true,       // regulation enabled
    regulatorName := "Regulator 2" // name in EPTF_ExecCtrl_Regulators: this regulator regulates this item
  },
  {
    idName := {
      cps_TCInPhase := {
        eGrpName := "grp0_2",
        scName := "SC_PH_0",
        tcName := "TC1_declarator2",
        phase := "loadgen"
      }
    },
    weight := 0.5,          // used to determine part of the total value
    enabled := true,       // regulation enabled
    regulatorName := "Regulator 1" // name in EPTF_ExecCtrl_Regulators: this regulator regulates this item
  },
  {
    idName := {
      cps_SCInPhase := {
        eGrpName := "grp0_2",
        scName := "SC_PH_3",
        phase := "preamble"
      }
    },
    weight := 0.5,          // used to determine part of the total value
    enabled := true,       // regulation enabled
    regulatorName := "Regulator 2" // name in EPTF_ExecCtrl_Regulators: this regulator regulates this item
  }
}

//tsp_debug_EPTF_SchedulerFunctions := true

tsp_LGenBase_EntityGrpDeclarators := {
  {name := "grp0", eType := "Entity_A", eCount := 20},
  {name := "grp1", eType := "Entity_A", eCount := 20},
  {name := "grp0_2", eType := "Entity_A", eCount := 3},
  {name := "grp1_2", eType := "Entity_A", eCount := 10},
  {name := "grpA", eType := "Entity_A", eCount := 100},
  {name := "grp2", eType := "Entity_B", eCount := 100},
  {name := "grp3", eType := "Entity_B", eCount := 3},
  {name := "grp4", eType := "Entity_AB", eCount := 10},
  {name := "grpDUMMY", eType := "DUMMY", eCount := 10},          // this group is not used anywhere
  {name := "grpA_on_Pool_1", eType := "Entity_A", eCount := 2}, // This group is in a pool with scenario declared on it, but one LGen gets 0 entity
  {name := "grpA_on_Pool_2", eType := "Entity_A", eCount := 10}, // this group is in a pool, but has no LGen supporting it
  {name := "grpA2_on_Pool_2", eType := "Entity_A", eCount := 10},// this group is in a pool, has a scenario, but has no LGen supporting it
  {name := "grpB_on_Pool_2", eType := "Entity_B", eCount := 10}, // this group has an LGen, but has no scenario uses it
  {name := "grp0_onPoolEmpty", eType := "Entity_A", eCount := 10}, // this group will have no LGen with suitable entity type
  {name := "grp0_onPoolNull", eType := "Entity_A", eCount := 10} // this group will have no LGen at all (pool cannot be created)
}

tsp_LGenBase_ScenarioDeclarators := {
  {
    name := "scenario_0",
    tcList := {
      {
        tcName := "TC0",
        startDelay := 0.0,
        cpsToReach := 1.0,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
          {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9}
        }
      },
      {
        tcName := "TC1",
        startDelay := 0.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := false,
        ranges := {}
      },
      {
        tcName := "TC2",
        startDelay := 0.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := false,
        ranges := {
          {name := "myRange_2", enableSplit := true, baseOffset := 10, count := 30}
        }
      }
    }
  },
  { 
    name := "scenario_1",
    tcList := {
      {
        tcName := "TC0",
        startDelay := 2.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 100, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 10, count := 90}
        }
      },
      {
        tcName := "TC1",
        startDelay := 0.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := true,
        ranges := {}
      }
    }  
  }
//  , 
//  { 
//    name := "scenario_DUMMY",
//    tcList := {}  
//  }
}

tsp_LGenBase_Scenarios2Grps := {
  {eGrpName := "grp0", scenarioNames := {"scenario_0", "scenario_0_declarator2"}},
  {eGrpName := "grp1", scenarioNames := {"scenario_1_declarator2"}}, // moved to tsp_EPTF_ExecCtrl_Scenario2EntityGroupList
  {eGrpName := "grp2", scenarioNames := {"scenario_2_declarator2"}}, // moved to tsp_EPTF_ExecCtrl_Scenario2EntityGroupList - custom instance name
  {eGrpName := "grp3", scenarioNames := {"scenario_2_declarator3"}},
  {eGrpName := "grp0_2", scenarioNames := {"scenario_0_declarator2"}},
  {eGrpName := "grp1_2", scenarioNames := {"scenario_0_declarator2"}},
  {eGrpName := "grp1", scenarioNames := {"scenario_1_declarator3"}},
  {eGrpName := "grpA", scenarioNames := {"scenario_0", "scenario_0_declarator2", "scenario_1_declarator2", "scenario_3_declarator_3"}}
}

tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
  {scenarioName:="scenario_1_declarator2", eGrpName:="grp0",name:=omit},
  {scenarioName:="scenario_2_declarator2", eGrpName:="grp3",name:="grp3/scenario_2_declarator2"},
//  {scenarioName:="scenario_1_declarator2", eGrpName:="grp1",name:=omit},
//  {scenarioName:="scenario_2_declarator2", eGrpName:="grp2",name:="grp2/scenario_2_declarator2"}
  {scenarioName:="SC_PH_0", eGrpName:="grp0_2",name:="grp0_2_SC_PH_0"},
  {scenarioName:="SC_PH_1", eGrpName:="grp0_2",name:="grp0_2_SC_PH_1"},
  {scenarioName:="SC_PH_3", eGrpName:="grp0_2",name:="grp0_2_SC_PH_3"},
  {scenarioName:="scenario_0", eGrpName:="grpA_on_Pool_1",name:=omit},
  {scenarioName:="scenario_0_declarator2", eGrpName:="grpA2_on_Pool_2",name:="EGroupWithNoLGens"},
  {scenarioName:="scenario_0", eGrpName:="grp0_onPoolNull",name:=omit},
  {scenarioName:="scenario_3_declarator_3", eGrpName:="grp0",name:=omit}
}

tsp_LGenBase_tcTypeDeclarators := {
  {
    name := "TC0",
    fsmName := "FSM for outgoing call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicOutgoingCall := "FSM for outgoing call";'

    entityType := "Entity_A",
    customEntitySucc := "",
    groupFinishConditions := {
      nrOfExecStart := 20,
      nrOfSuccesses := 50,
      nrOfFails := 1,
      nrOfGrpLoop := 1,
      nrOfRangeLoop := omit,
      execTime := 20.0,
      customFinishCondition := omit
    },
    entityFinishConditions := {
      nrOfExecStart := omit,
      nrOfSuccesses := omit,
      nrOfFails := omit,
      customFinishCondition := omit
    },
    groupFinishActions := {
      {enableTc := {tcName := "TC1", aMode := available}}//,
//      {enableAllTc := {aMode := enableIfPreviousSuccess}}
//      {customFinishFunction := "myFunctionNameForGrpFinish"}
    },
    entityFinishActions := {
//      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
//      {disableEntity4Tc := {tcName := "TC0"}},
//      {generateFsmEvent := {iIdx := -1}} //,
//      {customFinishFunction := "myFunctionNameForEntityFinish"}
    },
    params := {
      {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
      {aName := "myApplication2", pName := "boost", pValue := "true"}
    }
  },
  { // Almost nothing...
   name := "TC1",
    fsmName := "FSM for incoming call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicIncomingCall := "FSM for incoming call";'

    entityType := "Entity_A",
    customEntitySucc := "",
    groupFinishConditions := {
      nrOfExecStart := 1100,
      nrOfSuccesses := 1150,
      nrOfFails := 1,
      nrOfGrpLoop := omit,
      nrOfRangeLoop := omit,
      execTime := 230.0,
      customFinishCondition := omit
    },
    entityFinishConditions := {
      nrOfExecStart := omit,
      nrOfSuccesses := omit,
      nrOfFails := omit,
      customFinishCondition := omit
    },
    groupFinishActions :=  {
      {enableTc := {tcName := "TC2", aMode := available}}
    },
    entityFinishActions := {},
    params := {}
  },
{
    name := "TC2",
    fsmName := "FSM for outgoing call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicOutgoingCall := "FSM for outgoing call";'

    entityType := "Entity_A",
    customEntitySucc := "",
    groupFinishConditions := {
      nrOfExecStart := 250,
      nrOfSuccesses := 250,
      nrOfFails := 1,
      nrOfGrpLoop := 1,
      nrOfRangeLoop := omit,
      execTime := 130.0,
      customFinishCondition := omit
    },
    entityFinishConditions := {
      nrOfExecStart := omit,
      nrOfSuccesses := omit,
      nrOfFails := omit,
      customFinishCondition := omit
    },
    groupFinishActions := {
      {enableTc := {tcName := "TC0", aMode := available}}
//      {customFinishFunction := "myFunctionNameForGrpFinish"}
    },
    entityFinishActions := {
//      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
//      {disableEntity4Tc := {tcName := "TC0"}},
//      {generateFsmEvent := {iIdx := -1}} //,
//      {customFinishFunction := "myFunctionNameForEntityFinish"}
    },
    params := {
      {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
      {aName := "myApplication2", pName := "boost", pValue := "true"}
    }
  }  
}



////////
// Declarator2
tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
  {
    name := "TC0_declarator2",
    fsmName := "FSM for outgoing call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicOutgoingCall := "FSM for outgoing call";'
    entityType := "Entity_A",
    customEntitySucc := ""
  },
  { // Almost nothing...
   name := "TC1_declarator2",
    fsmName := "FSM for incoming call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicIncomingCall := "FSM for incoming call";'
    entityType := "Entity_A",
    customEntitySucc := ""
  },
  { // Almost nothing...
   name := "TC2_declarator2",
    fsmName := "FSM for incoming call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicIncomingCall := "FSM for incoming call";'
    entityType := "Entity_B",
    customEntitySucc := ""
  },
  { // Almost nothing...
   name := "TC3_declarator2",
    fsmName := "FSM for incoming call", // Declared in AppLib_A_Definitions as: 'const charstring c_A_fsmName_basicIncomingCall := "FSM for incoming call";'
    entityType := "Entity_B",
    customEntitySucc := ""
  }
}


tsp_LGenBase_TcMgmt_ScenarioDeclarators2 := {
  {
    name := "scenario_0_declarator2",
    tcList := {
      {
        tcName := "TC0_declarator2",
        startDelay := 0.0,
        cpsToReach := 1.0,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
          {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 5,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := 62.3,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
            {enableTc := {tcName := "TC1_declarator2", aMode := available}},
            {disableTc := {tcName := "TC0_declarator2"}}
      //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          } }
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      },
      {
        tcName := "TC1_declarator2",
        startDelay := 0.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := false,
        ranges := {},
        params := {},
        groupFinishConditions := {
          nrOfExecStart := 3,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := 12.0,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
            {enableTc := {tcName := "TC0_declarator2", aMode := available}},
            {disableTc := {tcName := "TC1_declarator2"}}
        } }
        },
        entityFinishActions := {}      
      }
    }
  },
  { 
    name := "scenario_1_declarator2",
    tcList := {
      {
        tcName := "TC0_declarator2",
        startDelay := 2.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 100, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 10, count := 90}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 5,
          nrOfSuccesses := 5,
          nrOfFails := omit,
          nrOfGrpLoop := 1,
          nrOfRangeLoop := omit,
          execTime := 12.3,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
              {enableTc := {tcName := "TC1_declarator2", aMode := available}}//,
//              {disableTc := {tcName := "TC0_declarator2"}}
        //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          }}
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      },
      {
        tcName := "TC1_declarator2",
        startDelay := 0.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := false,
        ranges := {},
        params := {},
        groupFinishConditions := {
          nrOfExecStart := 8,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := 5.2,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := {},
        entityFinishActions := {}
      }
    }  
  },
  { 
    name := "scenario_2_declarator2",
    tcList := {
      {
        tcName := "TC2_declarator2",
        startDelay := 20.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 100, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 10, count := 90}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 80,
          nrOfSuccesses := 50,
          nrOfFails := omit,
          nrOfGrpLoop := 1,
          nrOfRangeLoop := omit,
          execTime := 60.0,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
              {enableTc := {tcName := "TC3_declarator2", aMode := available}}
        //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          }},
          {
          actionsType := onLaunchFinish,
          actions := {
              {disableTc := {tcName := "TC3_declarator2"}}
        //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          }}
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      },
      {
        tcName := "TC3_declarator2",
        startDelay := 0.0,
        cpsToReach := 2.0,
        enableEntities := true,
        enable := false,
        ranges := {},
        params := {},
        groupFinishConditions := {
          nrOfExecStart := 40,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := omit,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := {},
        entityFinishActions := {}
      }
    }  
  }
}

tsp_LGenBase_TcMgmt_WeightedScenarioDeclarators := {
  {
    name := "scenario_0_declarator3",
    enabled := true ,
    cpsToReach := 1.0,
    lockCPS := false,
    weightedScData := { deterministicMix := true },
    tcList := {
      {
        tcName := "TC0_declarator2",
//        startDelay := 0.0,
        tcWeight := 1.1,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
          {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 5,
          nrOfSuccesses := 5,
          nrOfFails := omit,
          nrOfGrpLoop := 1,
          nrOfRangeLoop := omit,
          execTime := 12.3,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
            {enableTc := {tcName := "TC1_declarator2", aMode := enableIfPreviousSuccess}},
            {disableTc := {tcName := "TC0_declarator2"}},
            {enableAllTc := {aMode := available}},
            {disableAllTc := {aMode := enableIfPreviousSuccess}} //,
      //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          } }
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      },
      {
        tcName := "TC1_declarator2",
//        startDelay := 0.0,
        tcWeight := 2.1,
        enableEntities := true,
        enable := true,
        ranges := {},
        params := {},
        groupFinishConditions := {
          nrOfExecStart := 10,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := omit,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := {},
        entityFinishActions := {}      
      },
      { // this would generate configuration error if this scenario was added to an entity group:
        tcName := "TC0_declarator2",
//        startDelay := 0.0,
        tcWeight := 2.1,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_2", enableSplit := true, baseOffset := 10, count := 30}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 5,
          nrOfSuccesses := 5,
          nrOfFails := omit,
          nrOfGrpLoop := 1,
          nrOfRangeLoop := omit,
          execTime := 12.3,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
            {enableTc := {tcName := "TC1_declarator2", aMode := enableIfPreviousSuccess}},
            {disableTc := {tcName := "TC0_declarator2"}},
            {enableAllTc := {aMode := available}},
            {disableAllTc := {aMode := enableIfPreviousSuccess}} //,
      //      {customFinishFunction := "myFunctionNameForGrpFinish"}
        }}
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      }
    }
  },
  { 
    name := "scenario_1_declarator3",
    enabled := true ,
    cpsToReach := 2.0,
    lockCPS := false,
    weightedScData := { deterministicMix := true },
    tcList := {
      {
        tcName := "TC0_declarator2",
//        startDelay := 2.0,
        tcWeight := 2.1,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 100, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 10, count := 90}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 20,
          nrOfSuccesses := 5,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := 12.3,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
              {enableTc := {tcName := "TC1_declarator2", aMode := enableIfPreviousSuccess}},
              {disableTc := {tcName := "TC0_declarator2"}},
              {enableAllTc := {aMode := available}},
              {disableAllTc := {aMode := enableIfPreviousSuccess}} //,
        //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          }}
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      },
      {
        tcName := "TC1_declarator2",
//        startDelay := 0.0,
        tcWeight := 2.1,
        enableEntities := true,
        enable := true,
        ranges := {},
        params := {},
        groupFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := omit,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := {},
        entityFinishActions := {}
      }
    }  
  },
  { 
    name := "scenario_2_declarator3",
    enabled := true ,
    cpsToReach := 2.0,
    lockCPS := false,
    weightedScData := { deterministicMix := true },
    tcList := {
      {
        tcName := "TC2_declarator2",
//        startDelay := 2.0,
        tcWeight := 2.1,
        enableEntities := true,
        enable := true,
        ranges := {
          {name := "myRange_MSB", enableSplit := true, baseOffset := 100, count := 30},
          {name := "myRange_LSB", enableSplit := false, baseOffset := 10, count := 90}
        },
        params := {
          {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
          {aName := "myApplication2", pName := "boost", pValue := "true"}
        },
        groupFinishConditions := {
          nrOfExecStart := 20,
          nrOfSuccesses := 5,
          nrOfFails := omit,
          nrOfGrpLoop := 2,
          nrOfRangeLoop := omit,
          execTime := omit,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := { {
          actionsType := onGroupFinishCondition,
          actions := {
              {disableTc := {tcName := "TC3_declarator2"}}
        //      {customFinishFunction := "myFunctionNameForGrpFinish"}
          }}
        },
        entityFinishActions := {
    //      {enableEntity4Tc := {tcName := "TC1", aMode := enableIfPreviousSuccess}},
    //      {disableEntity4Tc := {tcName := "TC0"}},
    //      {generateFsmEvent := {iIdx := -1}} //,
    //      {customFinishFunction := "myFunctionNameForEntityFinish"}
        }
      },
      {
        tcName := "TC3_declarator2",
//        startDelay := 0.0,
        tcWeight := 2.1,
        enableEntities := true,
        enable := true,
        ranges := {},
        params := {},
        groupFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          nrOfGrpLoop := omit,
          nrOfRangeLoop := omit,
          execTime := omit,
          entitiesFinished := omit,
          customFinishCondition := omit
        },
        entityFinishConditions := {
          nrOfExecStart := omit,
          nrOfSuccesses := omit,
          nrOfFails := omit,
          customFinishCondition := omit
        },
        tcFinishActions := {},
        entityFinishActions := {}
      }
    }  
  }
}

tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
{
  {
    name := "SC_PH_0",
    tcList := {
      {
        tcName := "TC1_declarator2",
        tcParamsList := {
          {startDelay := 0.0},
          {target := { cpsToReach := 1.0 }},
          {scheduler := {preDefinedName := poisson}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {ranges := {
              {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
              {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
              {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9} 
            }
          },
          {params := {
              {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
              {aName := "myApplication2", pName := "boost", pValue := "true"}
            }
          },
          {trafficStartFinish := {
              {nrOfExecStart := {count := 500, actions := {}}},
              {nrOfSuccesses := {count := 500,actions := {}}},
              //{nrOfGrpLoop := {count := 1,actions := {}}},
              {execTime := {time := 22.3,actions := {}}},
              {anythingFinished := {actions := {
                    {enableTc := {tcName := "TC0_declarator2", aMode := available}},
                    {disableTc := {tcName := "TC1_declarator2"}}
                  }}}
            }
          }
        }
      },
      {
        tcName := "TC0_declarator2",
        tcParamsList := {
          {startDelay := 0.0},
          {target := { cpsToReach := 2.0 }},
          {scheduler := {preDefinedName := imst2}},
          {entitySelection := random},
          {enableEntitiesAtStart := true},
          {enabledAtStart := false},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 500,actions := {}}},
              {execTime := {time := 15.0,actions := {}}}
            }
          }
        }
      }
    },
    scParamsList := {
      {enabled := true},
      {phaseListName := "BasicPhases"},
      {phaseFinishConditions := {
          {
            phase := "preamble",
            conditions := {
              {
                tcFinished := "TC0_declarator2"
              }
            }
          }
        }
      },
      {phaseStateChangeActions := {
          {
            phase := "preamble",
            state := RUNNING,
            actions := {
              {
                startScenario := "This should have been implemented :)"
              }
            }
          },
          {
            phase := "loadgen",
            state := RUNNING,
            actions := {
              {
                startTc := "TC1_declarator2"
              }
            }
          },
          {
            phase := "postamble",
            state := RUNNING,
            actions := {
              {
                startTc := "TC1_declarator2"
              }
            }
          }
        }
      }
    }
  },
  {
    name := "SC_PH_1",
    tcList := {
      {
        tcName := "TC0_declarator2",
        tcParamsList := {
          {target := { cpsToReach := 1.0 }},
          {scheduler := {preDefinedName := imst}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {ranges := {
              {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
              {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
              {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9}
            }},
          {params := {
              {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
              {aName := "myApplication2", pName := "boost", pValue := "true"}
            }},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 500,actions := {}}},
              {execTime := {time := 18.3,actions := {}}},
              {nrOfSuccesses := {count := 500,actions := {}}},
              //nrOfGrpLoop := 1,
              {anythingFinished := {actions := {
                    {enableTc := {tcName := "TC1_declarator2", aMode := available}},
                    {disableTc := {tcName := "TC0_declarator2"}}//,
//                    {enableAllTc := {aMode := available}},
//                    {disableAllTc := {aMode := enableIfPreviousSuccess}}
                  }}}
            }}
        }
      },
      {
        tcName := "TC1_declarator2",
        tcParamsList := {
          {target := { cpsToReach := 2.0 }},
          {scheduler := {preDefinedName := orig}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 500,actions := {}}},
              {execTime := {time := 12.3,actions := {}}}
          }}
        }
      }
    },
    scParamsList := {
      {phaseListName := "BasicPhases"},
      {phaseFinishConditions := {
          {
            phase := "preamble",
            conditions := {
              {
                tcFinished := "TC0_declarator2"
              }
            }
          }
        }
      },
      {phaseStateChangeActions := {
          {
            phase := "preamble",
            state := RUNNING,
            actions := {
              {
                startScenario := "This should have been implemented :)"
              }
            }
          },
          {
            phase := "preamble",
            state := STOPPING,
            actions := {
              {
                stopTc := "TC0_declarator2"
              }
            }
          },
          {
            phase := "loadgen",
            state := RUNNING,
            actions := {
              {
                startTc := "TC0_declarator2"
              }
            }
          },
          {
            phase := "postamble",
            state := RUNNING,
            actions := {
              {
                startTc := "TC0_declarator2"
              }
            }
          }
        }
      }
    }
  },
  {
    name := "SC_PH_3", // this is weighted
    tcList := {
      {
        tcName := "TC0_declarator2",
        tcParamsList := {
          {target := { trafficWeight := 1.0 }},
          {scheduler := {preDefinedName := poisson}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {ranges := {
              {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
              {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
              {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9}
            }},
          {params := {
              {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
              {aName := "myApplication2", pName := "boost", pValue := "true"}
            }},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 200,actions := {}}},
              {execTime := {time := 30.0,actions := {}}},
              {nrOfSuccesses := {count := 500,actions := {}}}//,
              //nrOfGrpLoop := 1,
              //{anythingFinished := {actions := {
              //      {enableTc := {tcName := "TC1_declarator2", aMode := available}}
                    //{disableTc := {tcName := "TC3_declarator2"}}//,
//                    {enableAllTc := {aMode := available}},
//                    {disableAllTc := {aMode := enableIfPreviousSuccess}}
              //    }}}
            }}
        }
      },
      {
        tcName := "TC1_declarator2",
        tcParamsList := {
          {target := { trafficWeight := 2.0 }},
          {scheduler := {preDefinedName := cs}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 100,actions := {}}},
              {execTime := {time := 60.0,actions := {}}}//,
              //{anythingFinished := {actions := {
              //      {enableTc := {tcName := "TC0_declarator2", aMode := available}}
              //  //{testFinished:={}}
              //}}}
          }}
        }
      }
    },
    scParamsList := {
      {enabled := true},
      {phaseListName := "BasicPhases"},
      {weightedScData := {
          cpsToReach := 10.0,
          lockCPS := false,
          deterministicMix := true,
          scheduler := {preDefinedName := cs}
        }
      },
      {phaseFinishConditions := {
          {
            phase := "preamble",
            conditions := {
              {
                tcFinished := "TC1_declarator2"
              }
            }
          }
        }
      },
      {phaseStateChangeActions := {
          {
            phase := "preamble",
            state := RUNNING,
            actions := {
              {
                startScenario := "This should have been implemented :)"
              }
            }
          },
          {
            phase := "preamble",
            state := FINISHED,
            actions := {
              {
                restoreScenario := "This should have been implemented :)"
              }
            }
          },
          {
            phase := "loadgen",
            state := RUNNING,
            actions := {
              {
                startScenario := "This should have been implemented :)"
                //startTc := "TC0_declarator2"
              }
            }
          },
          {
            phase := "loadgen",
            state := FINISHED,
            actions := {
              {
                restoreScenario := "This should have been implemented :)"
              }
            }
          },
          {
            phase := "postamble",
            state := FINISHED,
            actions := {
              {
                restoreScenario := "This should have been implemented :)"
              }
            }
          }
        }
      }
    }
  },
  {
    name := "scenario_3_declarator_3", // this is weighted, not in phase group
    tcList := {
      {
        tcName := "TC0_declarator2",
        tcParamsList := {
          {target := { trafficWeight := 1.0 }},
          {scheduler := {preDefinedName := poisson}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {ranges := {
              {name := "myRange_MSB", enableSplit := true, baseOffset := 10, count := 30},
              {name := "myRange_middle", enableSplit := false, baseOffset := 10, count := 30},
              {name := "myRange_LSB", enableSplit := false, baseOffset := 0, count := 9}
            }},
          {params := {
              {aName := "myApplication1", pName := "header", pValue := "$EXTPATH/sip_support/templates/deregister.header"},
              {aName := "myApplication2", pName := "boost", pValue := "true"}
            }},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 200000,actions := {}}},
              {execTime := {time := 30000.0,actions := {}}},
              {nrOfSuccesses := {count := 500000,actions := {}}},
              //nrOfGrpLoop := 1,
              {anythingFinished := {actions := {
                    {enableTc := {tcName := "TC1_declarator2", aMode := available}}
                    //{disableTc := {tcName := "TC3_declarator2"}}//,
//                    {enableAllTc := {aMode := available}},
//                    {disableAllTc := {aMode := enableIfPreviousSuccess}}
                  }}}
            }}
        }
      },
      {
        tcName := "TC1_declarator2",
        tcParamsList := {
          {target := { trafficWeight := 2.0 }},
          {scheduler := {preDefinedName := cs}},
          {enableEntitiesAtStart := true},
          {enabledAtStart := true},
          {trafficStartFinish := {
              {nrOfExecStart := {count := 100000,actions := {}}},
              {execTime := {time := 60000.0,actions := {}}},
              {anythingFinished := {actions := {
                    {enableTc := {tcName := "TC0_declarator2", aMode := available}}
                //{testFinished:={}}
              }}}
          }}
        }
      }
    },
    scParamsList := {
      {weightedScData := {
          cpsToReach := 10.0,
          lockCPS := false,
          deterministicMix := true,
          scheduler := {preDefinedName := cs}
        }
      }
    }
  }
}

tsp_EPTF_ExecCtrl_PhaseList_Declarators :=
{
  {
    name := "BasicPhases",
    phases := 
    {
      { name := "preamble", enabled := true },
      { name := "loadgen" , enabled := true },
      { name := "postamble",enabled := true }
    }
  },
  {
    name := "AdvancedPhases",
    phases := 
    {
      { name := "init",     enabled := true },
      { name := "preamble", enabled := true },
      { name := "loadgen" , enabled := true },
      { name := "postamble",enabled := true },
      { name := "delete",   enabled := true }
    }
  }
}

tsp_EPTF_ExecCtrl_ScenarioGroup_Declarators :=
{
  {
    name := "ScGroup1",
    execMode := AUTOMATIC,
    scenarioNames := { "grp0_2_SC_PH_0", "grp0_2_SC_PH_1", "grp0_2_SC_PH_3"},
    phaseListName := "BasicPhases"
  }
}

tsp_EPTF_ExecCtrl_LGenPool_Declarators := {
  {
    name := "Pool_0",
    lgenPoolItems := {
      {
        hostname := "BasicCall",
        num := 2,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGenBasicCall"
      }
    }
  },
  {
    name := "Pool_1",
    lgenPoolItems := {
      {
        hostname := "localhost",
        num := 1,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateExitingLGen" // these LGens will exit
      },
      {
        hostname := "localhost",
        num := 1,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGen"
      },
//      {
//        hostname := "BasicCall",
//        num := 1,
//        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGenBasicCall"
//      },
      {
        hostname := "rhea",
        num := 1,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGenB"
      },
      {
        hostname := "localhost", // this host is already in pool, using same creator fn too:
        num := 1,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateExitingLGen" // these LGens will exit
      }
    }
  },
  {
    name := "Pool_2",
    lgenPoolItems := {
      {
        hostname := "rhea",
        num := 1,
        createFunctionName := "f_lgenCreatorB" // same as "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGenB"
      }
    }
  },
  {
    name := "Pool_3", // the LGens of this pool will all terminate
    lgenPoolItems := {
      {
        hostname := "localhost",
        num := 3,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateExitingLGen" // these LGens will exit
      }
    }
  },
  {
    name := "Pool_4",
    lgenPoolItems := {
      {
        hostname := "127.0.0.1",
        num := 10,
        createFunctionName := "f_noSuchFunction" // this function is not registered
      }
    }
  },
  {
    name := "Pool_Empty",
    lgenPoolItems := {
      {
        hostname := "rhea",
        num := 1,
        createFunctionName := "f_lgenCreatorEmpty" // same as "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGenEmpty"
      }
    }
  },
  {
    name := "Pool_null", // this pool cannot be created
    lgenPoolItems := {
      {
        hostname := "rhea",
        num := 3,
        createFunctionName := "ExecCtrlUIHandler_Demo.f_EPTF_myCreateLGenNull"
      }
    }
  }
}

tsp_EPTF_ExecCtrl_EntityGroup2LGenPool_List := {
  {
    eGrpName := "grpA_on_Pool_1",
    lgenPoolName := "Pool_1"
  },
  {
    eGrpName := "grpB_on_Pool_2",
    lgenPoolName := "Pool_2"
  },
  {
    eGrpName := "grpA_on_Pool_2",
    lgenPoolName := "Pool_2"
  },
  {
    eGrpName := "grpA2_on_Pool_2",
    lgenPoolName := "Pool_2"
  },
  {
    eGrpName := "grp0_onPoolEmpty",
    lgenPoolName := "Pool_Empty"
  },
  {
    eGrpName := "grp0_onPoolNull",
    lgenPoolName := "Pool_null"
  },
  {
    eGrpName := "grp1",
    lgenPoolName := "Pool_1"
  },
  {
    eGrpName := "grp0_2",
    lgenPoolName := "Pool_0"
  },
  {
    eGrpName := "grp3",
    lgenPoolName := "Pool_1"
  },
  {
    eGrpName := "grp1_2",
    lgenPoolName := "Pool_3"
  },
  {
    eGrpName := "grpA",
    lgenPoolName := "Pool_0"
  }
}

EPTF_CLL_UIHandler_WidgetFunctions.tsp_xtdp_listen_addr := "127.0.0.1"; // RuntimeGUI is running on localhost
EPTF_CLL_UIHandler_WidgetFunctions.tsp_xtdp_listen_port := 55678;

tsp_EPTF_GUI_Main_Window_Height := 780.0;

[LOGGING]
FileMask :=  TTCN_ERROR | TTCN_ACTION | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_WARNING | LOG_ALL #| DEBUG
ConsoleMask := TTCN_ERROR | TTCN_ACTION | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_WARNING
LogFile := "logs/%e.%h-%r.log"
LogEventTypes := Yes
SourceInfoFormat := Stack
LogEntityName := Yes

[DEFINE]

[INCLUDE]

[EXTERNAL_COMMANDS]

[EXECUTE]
ExecCtrlUIHandler_Demo.TC

[COMPONENTS]

[MAIN_CONTROLLER]
TCPPort := 9876
KillTimer := 30.0
NumHCs := 1

[TESTPORT_PARAMETERS]
*.EPTF_guiPortIf.socket_debugging := "no"
*.EPTF_guiPortIf.server_mode := "NO"
*.EPTF_guiPortIf.halt_on_connection_reset := "NO"
*.EPTF_guiPortIf.packet_hdr_length_offset := "0"
*.EPTF_guiPortIf.packet_hdr_nr_bytes_in_length := "4"
*.EPTF_guiPortIf.packet_hdr_byte_order := "MSB"
*.EPTF_guiPortIf.use_connection_ASPs := "yes"

#*.EPTF_pinger.localPort := "11228"
#*.EPTF_pinger.mode := "advanced"

# EPTF CLL CLI TELNET interface
*.EPTF_CLI_TELNET_PCO.CTRL_PORTNUM := "17100"
*.EPTF_CLI_TELNET_PCO.CTRL_LOGIN_SKIPPED := "yes"
*.EPTF_CLI_TELNET_PCO.CTRL_USERNAME_CLIENT := "ttcn"
*.EPTF_CLI_TELNET_PCO.CTRL_PASSWORD_CLIENT := "ttcn"
*.EPTF_CLI_TELNET_PCO.CTRL_SERVER_PROMPT := "TTCN> "
*.EPTF_CLI_TELNET_PCO.CTRL_MODE := "server"

*.EPTF_CLI_displayTELNET_PCO.CTRL_PORTNUM := "17101"
*.EPTF_CLI_displayTELNET_PCO.CTRL_LOGIN_SKIPPED := "yes"
*.EPTF_CLI_displayTELNET_PCO.CTRL_USERNAME_CLIENT := "ttcn"
*.EPTF_CLI_displayTELNET_PCO.CTRL_PASSWORD_CLIENT := "ttcn"
*.EPTF_CLI_displayTELNET_PCO.CTRL_SERVER_PROMPT := "TTCN> "
*.EPTF_CLI_displayTELNET_PCO.CTRL_MODE := "server"
