[MODULE_PARAMETERS]
tsp_IOT_LGen_FSMs := {
  {
/**** FSM Editor layout information. ****
@state "idle" (44, 255)
@state "connecting" (641, 433)
@state "initializing" (915, 120)
@state "connected" (362, 755)
@selfstate "connected" (984, 753)
@parallellink "idle" -- "initializing" (59, 253) (141, 240) * (880, 125) (798, 138)
@link "idle" -- "initializing"
singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
@link "initializing" -- "idle"
singleevent "Special behavior for timeout reporting" "watchdog"
@link "initializing" -- "idle"
singleevent "MQTT Behavior" "MQTT transport: fail rsp"
@parallellink "connecting" -- "idle" (608, 423) (553, 407) * (59, 259) (114, 275)
@link "connecting" -- "idle"
singleevent "Special behavior for timeout reporting" "watchdog"
@link "connecting" -- "idle"
singleevent "MQTT Behavior" "MQTT rsp: CONNACK Refused"
@parallellink "connected" -- "idle" (354, 743) (324, 695) * (52, 267) (82, 315)
@link "connected" -- "idle"
singleevent "Special behavior for timeout reporting" "watchdog"
@link "connected" -- "idle"
singleevent "Special behavior for timeout reporting" "dereg"
@parallellink "initializing" -- "connecting" (904, 132) (879, 161) * (652, 421) (677, 392)
@link "initializing" -- "connecting"
singleevent "MQTT Behavior" "MQTT transport: succ rsp"
@parallellink "connecting" -- "connected" (631, 445) (605, 475) * (372, 743) (398, 713)
@link "connecting" -- "connected"
singleevent "MQTT Behavior" "MQTT rsp: CONNACK Accepted"
@parallellink "connected" -- "connected" (393, 755) (449, 755) * (953, 753) (897, 753)
@link "connected" -- "connected"
singleevent "Special behavior for timeout reporting" "publish"
@link "connected" -- "connected"
singleevent "MQTT Behavior" "MQTT req: PUBLISH"
*/
    name := "MQTT_RegDereg_FSM",
    fsmParams := {
      {
        stateList := {
          "idle",
          "initializing",
          "connecting",
          "connected"
        }
      },
      {
        timerList := {
          {
            name := "watchdog",
            startValue := 60.0
          },
          {
            name := "dereg",
            startValue := 50.0
          },
          {
            name := "publish",
            startValue := 3.0
          }
        }
      },
      {
        varList := {
          {
            name := "remoteHost",
            initValue := {
              charstringVal := "127.0.0.1"
            },
            scope := TC
          },//var:remoteHost
          {
            name := "remotePort",
            initValue := {
              intVal := 1883
            },
            scope := TC
          },//var:remotePort
          // var:localHost
          {
            name := "localHost",
            initValue := {
              charstringVal := "127.0.0.1"
            },
            scope := TC
          },
          // var:localPort
          {
            name := "localPort",
            initValue := {
              intVal := 20000
            },
            scope := TC
          },
          {
            name := "publishSent",
            initValue := {
              intVal := 0
            },
            scope := TC
          },//var:publishSent
          {
            name := "publishReceived",
            initValue := {
              intVal := 0
            },
            scope := TC
          }//var:publishReceived
        }
      },
      {
        statisticList := {
          {
            name := "Published",
            providersList := {
              {"publishSent"}
            },
            statMethod := "Max",
            statResetValue := {
              intVal := 0
            },
            scope := TC
          },//statistic:Published
          {
            name := "Received",
            providersList := {
              {"publishReceived"}
            },
            statMethod := "Max",
            statResetValue := {
              intVal := 0
            },
            scope := TC
          }//statistic:Received
        }
      },
      {
        statHandlerStatList := { }
      }
    },// fsmParams
    table := {
      extendedTable := {
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "EPTF_CLL_LGenBase",
                  iName := "LGenBase: Start_the_traffic_case!",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "idle"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: init", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "IOT App MQTT: setLocalAddress_byVars", 
                      contextArgs := {
                        varNames := {
                          "localHost", 
                          "localPort"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: setRemoteAddress_byVars", 
                      contextArgs := {
                        varNames := {
                          "remoteHost", 
                          "remotePort"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App MQTT: setClientId_stringParam", 
                      contextArgs := {
                        charstringValue := "SmartMeter_"
                      }
                    },
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "watchdog"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: transportConnect", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "initializing"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "watchdog",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "initializing"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: transportClose", 
                      contextArgs := {
                        stepContextArgs := {
                          0
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "connecting"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: transportClose", 
                      contextArgs := {
                        stepContextArgs := {
                          0
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "connected"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: transportClose", 
                      contextArgs := {
                        stepContextArgs := {
                          0
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "MQTT Behavior",
                  iName := "MQTT transport: fail rsp",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "initializing"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "MQTT Behavior",
                  iName := "MQTT transport: succ rsp",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "initializing"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_MQTT_RegDereg_FSM_connect"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: send", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "connecting"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "MQTT Behavior",
                  iName := "MQTT rsp: CONNACK Refused",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "connecting"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: transportClose", 
                      contextArgs := {
                        stepContextArgs := {
                          0
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "MQTT Behavior",
                  iName := "MQTT rsp: CONNACK Accepted",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "connecting"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "dereg"
                      }
                    },
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "publish"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_MQTT_RegDereg_FSM_subscribe"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: setTopic_stringParam", 
                      contextArgs := {
                        charstringValue := "control"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: send", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "connected"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "dereg",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "connected"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "MQTT Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_MQTT_RegDereg_FSM_disconnect"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: send", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: transportClose", 
                      contextArgs := {
                        stepContextArgs := {
                          0
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := pass,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "publish",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "connected"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "publish"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_MQTT_RegDereg_FSM_publish"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: setTopic_stringParam", 
                      contextArgs := {
                        charstringValue := "report"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: setPublishMessage_add_clientId", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: setPublishMessage_add_stringParam", 
                      contextArgs := {
                        charstringValue := ":"
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: setPublishMessage_add_varParams", 
                      contextArgs := {
                        varNames := {
                          "publishSent"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "LGenBase: Increment variable", 
                      contextArgs := {
                        varNames := {
                          "publishSent"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "MQTT Applib: send", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "connected"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "MQTT Behavior",
                  iName := "MQTT req: PUBLISH",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "connected"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: print_stringParam", 
                      contextArgs := {
                        charstringValue := "PUBLISH received :-)"
                      }
                    },
                    {
                      stepOrFunctionName := "LGenBase: Increment variable", 
                      contextArgs := {
                        varNames := {
                          "publishReceived"
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "connected"
                }
              }
            }
          }
        }
      }
    }
  }
}
