[MODULE_PARAMETERS]
tsp_IOT_LGen_FSMs := {
  {
/**** FSM Editor layout information. ****
@state "registered" (775, 477)
@selfstate "registered" (1256, 480)
@state "deregistering" (544, 813)
@state "idle" (62, 475)
@state "inititated" (587, 173)
@parallellink "idle" -- "inititated" (77, 466) (126, 438) * (566, 185) (517, 213)
@link "idle" -- "inititated"
singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
@link "inititated" -- "idle"
singleevent "LWM2M Behavior" "LWM2M rsp: 3xxto6xx"
@link "inititated" -- "idle"
singleevent "Special behavior for timeout reporting" "userWatchdog"
@parallellink "inititated" -- "registered" (594, 185) (611, 213) * (768, 465) (751, 437)
@link "inititated" -- "registered"
singleevent "LWM2M Behavior" "LWM2M rsp: 201"
@parallellink "registered" -- "registered" (807, 477) (849, 477) * (1225, 480) (1183, 480)
@link "registered" -- "registered"
singleevent "LWM2M Behavior" "LWM2M rsp: 204"
@link "registered" -- "registered"
singleevent "LWM2M Behavior" "LWM2M req: Read"
@link "registered" -- "registered"
singleevent "LWM2M Behavior" "LWM2M req: Write"
@link "registered" -- "registered"
singleevent "LWM2M Behavior" "LWM2M req: Execute"
@link "registered" -- "registered"
singleevent "Special behavior for timeout reporting" "update"
@parallellink "deregistering" -- "idle" (527, 801) (482, 770) * (77, 486) (122, 518)
@link "deregistering" -- "idle"
singleevent "LWM2M Behavior" "LWM2M rsp: 202"
@link "deregistering" -- "idle"
singleevent "LWM2M Behavior" "LWM2M rsp: 3xxto6xx"
@link "deregistering" -- "idle"
singleevent "Special behavior for timeout reporting" "userWatchdog"
@parallellink "registered" -- "idle" (744, 477) (677, 477) * (77, 475) (144, 475)
@link "registered" -- "idle"
singleevent "LWM2M Behavior" "LWM2M rsp: 3xxto6xx"
@link "registered" -- "idle"
singleevent "Special behavior for timeout reporting" "userWatchdog"
@parallellink "registered" -- "deregistering" (767, 489) (746, 520) * (552, 801) (574, 770)
@link "registered" -- "deregistering"
singleevent "Special behavior for timeout reporting" "dereg"
*/
    name := "LWM2M_RegDereg_FSM",
    fsmParams := {
      {
        stateList := {
          "idle",
          "inititated",
          "registered",
          "deregistering"
        }
      },
      {
        timerList := {
          {
            name := "userWatchdog",
            startValue := 180.0
          },
          {
            name := "update",
            startValue := 25.0
          },
          {
            name := "dereg",
            startValue := 110.0
          }
        }
      },
      {
        varList := {
          {
            name := "localHost",
            initValue := {
              charstringVal := "127.0.0.1"
            },
            scope := TC
          },//var:localHost
          {
            name := "localPort",
            initValue := {
              intVal := 30000
            },
            scope := TC
          },//var:localPort
          {
            name := "remoteHost",
            initValue := {
              charstringVal := "127.0.0.1"
            },
            scope := TC
          },//var:remoteHost
          {
            name := "remotePort",
            initValue := {
              intVal := 5683
            },
            scope := TC
          }//var:remotePort
        }
      },
      {
        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 := "COAP Applib: init", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "IOT App COAP: setLocalAddress_byVars", 
                      contextArgs := {
                        varNames := {
                          "localHost", 
                          "localPort"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "COAP Applib: setRemoteAddress_byVars", 
                      contextArgs := {
                        varNames := {
                          "remoteHost", 
                          "remotePort"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "COAP Applib: reportCoapEventForEntity", 
                      contextArgs := {
                        stepContextArgs := {
                          0
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: createDevice", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: createObject", 
                      contextArgs := {
                        stepContextArgs := {
                          3
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: createObjectInstance", 
                      contextArgs := {
                        stepContextArgs := {
                          3
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT Fsm LWM2M_RegDereg: initResourceValues", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: logDevice", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_LWM2M_RegDereg_FSM_register"
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App LwM2M: setClientNameInRegister", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: send", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "userWatchdog"
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "inititated"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M rsp: 201",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "inititated"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "update"
                      }
                    },
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "dereg"
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "registered"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M rsp: 204",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "update"
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "registered"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M rsp: 202",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "deregistering"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := pass,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M rsp: 3xxto6xx",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "inititated"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "deregistering"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M req: Read",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "COAP Applib: handleRequest", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: handleReadRequest", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "registered"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M req: Write",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "COAP Applib: handleRequest", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: handleWriteRequest", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "registered"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "LWM2M Behavior",
                  iName := "LWM2M req: Execute",
                  eventType := entity
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "COAP Applib: handleRequest", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: handleExecuteRequest", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "registered"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "update",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "LWM2M Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_LWM2M_RegDereg_FSM_update"
                      }
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: send", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "registered"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "dereg",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerCancelIfRunning", 
                      contextArgs := {
                        timerName := "update"
                      }
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: loadTemplate_byStringId", 
                      contextArgs := {
                        charstringValue := "t_LWM2M_RegDereg_FSM_deregister"
                      }
                    },
                    {
                      stepOrFunctionName := "LWM2M Applib: send", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "deregistering"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "userWatchdog",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "inititated"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "registered"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "deregistering"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        }
      }
    }
  },
  {
/**** FSM Editor layout information. ****
@state "initiated" (541, 159)
@state "reading" (991, 519)
@state "idle" (78, 521)
@parallellink "initiated" -- "idle" (526, 171) (483, 205) * (93, 509) (136, 475)
@link "initiated" -- "idle"
singleevent "HTTP Behavior" "HTTP Message arrived, Result Code: 4XX"
@link "idle" -- "initiated"
singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
@link "initiated" -- "idle"
singleevent "Special behavior for timeout reporting" "userWatchdog"
@parallellink "reading" -- "idle" (966, 519) (879, 519) * (93, 521) (180, 521)
@link "reading" -- "idle"
singleevent "HTTP Behavior" "HTTP Message arrived, Result Code: 4XX"
@link "reading" -- "idle"
singleevent "Special behavior for timeout reporting" "userWatchdog"
@link "reading" -- "idle"
singleevent "HTTP Behavior" "HTTP Message arrived, Result Code: 200 Ok"
@parallellink "initiated" -- "reading" (556, 171) (598, 205) * (976, 507) (934, 473)
@link "initiated" -- "reading"
singleevent "HTTP Behavior" "HTTP Message arrived, Result Code: 200 Ok"
*/
    name := "HTTP_GET_FSM",
    fsmParams := {
      {
        stateList := {
          "idle",
          "initiated",
          "reading"
        }
      },
      {
        timerList := {
          {
            name := "userWatchdog",
            startValue := 10.0
          }
        }
      },
      {
        varList := {
          {
            name := "remoteHost",
            initValue := {
              charstringVal := "127.0.0.1"
            },
            scope := TC
          },//var:remoteHost
          {
            name := "remotePort",
            initValue := {
              intVal := 8080
            },
            scope := TC
          },//var:remotePort
          {
            name := "clientName",
            initValue := {
              charstringVal := ""
            },
            scope := TC
          }//var:clientName
        }
      },
      {
        statHandlerStatList := { }
      }
    },// fsmParams
    table := {
      extendedTable := {
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "HTTP Behavior",
                  iName := "HTTP Message arrived, Result Code: 4XX",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "initiated"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "reading"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "EPTF_CLL_LGenBase",
                  iName := "LGenBase: Start_the_traffic_case!",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "idle"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App HTTP: initEntityContext", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "IOT App HTTP: setMethod_stringParam", 
                      contextArgs := {
                        charstringValue := "GET"
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App HTTP: setUri_stringParam", 
                      contextArgs := {
                        charstringValue := "/api/clients"
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App HTTP: addHostHeader_byVars", 
                      contextArgs := {
                        varNames := {
                          "remoteHost", 
                          "remotePort"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "EPTF HTTP: Sends HTTP Request", 
                      contextArgs := omit
                    },
                    {
                      stepOrFunctionName := "LGenBase: StepFunction_timerStart", 
                      contextArgs := {
                        timerName := "userWatchdog"
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "initiated"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "Special behavior for timeout reporting",
                  iName := "userWatchdog",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "initiated"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              },
              {
                inState := {
                  state := "reading"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := fail,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        },
        {
          events2Listen := {
            events := {
              {
                singleEvent := {
                  bName := "HTTP Behavior",
                  iName := "HTTP Message arrived, Result Code: 200 Ok",
                  eventType := fsm
                }
              }
            }
          },
          cellRow := {
            statedCellRow := {
              {
                inState := {
                  state := "initiated"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App Leshan: getClientFromResponse_intoVar", 
                      contextArgs := {
                        varNames := {
                          "clientName"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App HTTP: setUri_stringParam", 
                      contextArgs := {
                        charstringValue := "/api/clients/"
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App HTTP: addToUri_byVars", 
                      contextArgs := {
                        varNames := {
                          "clientName"
                        }
                      }
                    },
                    {
                      stepOrFunctionName := "IOT App HTTP: addToUri_stringParam", 
                      contextArgs := {
                        charstringValue := "/3/0/0?format=JSON"
                      }
                    },
                    {
                      stepOrFunctionName := "EPTF HTTP: Sends HTTP Request", 
                      contextArgs := omit
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "reading"
                }
              },
              {
                inState := {
                  state := "reading"
                },
                cell := {
                  actionList := {
                    {
                      stepOrFunctionName := "IOT App: tcFinished_withVerdict", 
                      contextArgs := {
                        verdict := {
                          verdict := pass,
                          reason := ""
                        }
                      }
                    }
                  },
                  nextStateCalculation := omit,
                  nextState := "idle"
                }
              }
            }
          }
        }
      }
    }
  }
}

