///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2021 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
///////////////////////////////////////////////////////////////////////////////
//  File:               IOT_LGen_Definitions.ttcn
//  Description:
//  Rev:                R1B
//  Prodnr:             CNL 113 909
//  Updated:            2021-02-03
//  Contact:            http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////
//  Module: IOT_LGen_Definitions
// 
//  Purpose:
//    This module contains the definitions for an IoT load generator component
//
//  Detailed comments:
//    RIoT is a load generator built on top of the TitanSim load generator framework. It is
//    capable of simulating devices using some IoT protocols (CoAP, LwM2M, MQTT, HTTP). RIoT
//    (and the TitanSim framework) was created to support non-functional tests, where load generation
//    is required like performance, stability, scalability.
//
//  Events, TestSteps:
//    <IOT_LGen_Steps>
// 
//  Module Parameters:
//    tsp_IOT_LGen_FSMs - <EPTF_LGenBase_FsmTableDeclaratorList> - FSM declarations that can be instantiated for the traffic cases
//
//  Module depends on:
//    - <EPTF_MQTT_LGen_Definitions>
//    - <EPTF_MQTT_LocalTransport_Definitions>
//    - <EPTF_COAP_LGen_Definitions>
//    - <EPTF_COAP_LocalTransport_Definitions>
//    - <EPTF_LwM2M_LGen_Definitions>
//    - <EPTF_LwM2M_CoapApplibTransport_Definitions>
//    - <EPTF_LwM2M_Object_Definitions>
//    - <EPTF_HTTP_Definitions>
//    - <EPTF_HTTP_Transport_Definitions>
//    - <EPTF_CLL_LGenBase_Definitions>
//    - <EPTF_CLL_LGenBase_ConfigDefinitions>
//    - <EPTF_CLL_ExecCtrl_Definitions>
//
//  Component Diagram:
//   (see IOT_App_Definitions.components.jpg)
//
//  Related Types:
//    - <IOT_App_CT>
//    - <IOT_LGen_CT>
//    - <EPTF_ExecCtrl_CT>
///////////////////////////////////////////////////////////////
module IOT_LGen_Definitions
{
  import from EPTF_MQTT_LGen_Definitions all;
  import from EPTF_MQTT_LocalTransport_Definitions all;
  import from EPTF_COAP_LGen_Definitions all;  
  import from EPTF_COAP_LocalTransport_Definitions all;
  import from EPTF_LwM2M_LGen_Definitions all;
  import from EPTF_LwM2M_CoapApplibTransport_Definitions all;
  import from EPTF_LwM2M_Object_Definitions all;
  import from EPTF_HTTP_Definitions all;
  import from EPTF_HTTP_Transport_Definitions all;
  import from EPTF_CLL_LGenBase_Definitions all;
  import from EPTF_CLL_LGenBase_ConfigDefinitions all;
  import from EPTF_CLL_ExecCtrl_Definitions all;
  import from InfluxDB_Definitions all;

  modulepar boolean tsp_IOT_LGen_debug := false;
  modulepar boolean tsp_IOT_LGen_debugVerbose := false;

  ///////////////////////////////////////////////////////////
  //  Module parameter: tsp_IOT_LGen_FSMs
  // 
  //  Purpose:
  //    FSM declarations that can be instantiated for the traffic cases
  //
  //  Type:
  //     <EPTF_LGenBase_FsmTableDeclaratorList>
  ///////////////////////////////////////////////////////////
  modulepar EPTF_LGenBase_FsmTableDeclaratorList tsp_IOT_LGen_FSMs := {}
  
  ///////////////////////////////////////////////////////////
  //  Module parameter: tsp_IOT_LGen_dataSamples
  // 
  //  Purpose:
  //   Data sample declarations that can be used to simulate the changing
  //  values of smart object and resources.
  //
  //  Type:
  //     <LwM2M_DataSamples_List>
  ///////////////////////////////////////////////////////////
  modulepar LwM2M_DataSamples_List tsp_IOT_LGen_dataSamples := {}

  ///////////////////////////////////////////////////////////
  //  const: c_IOT_entityType
  //
  //  Purpose:
  //    Constant for the simulated IoT entity type
  ///////////////////////////////////////////////////////////
  const charstring c_IOT_entityType := "IOT_Entity";

  ///////////////////////////////////////////////////////////
  //  const: c_IOT_behaviorType
  //
  //  Purpose:
  //    Constant for the simulated IoT behavior type
  ///////////////////////////////////////////////////////////
  const charstring c_IOT_behaviorType := "IOT_Behavior";

  const integer c_IOT_LGen_Logging_WARNING := 0;
  const integer c_IOT_LGen_Logging_DEBUG := 1;
  const integer c_IOT_LGen_Logging_DEBUGV := 2;
  const integer c_IOT_LGen_Logging_ERROR := 3;

  const integer c_FSM_inconclusive := 0;
  const integer c_FSM_pass := 1;
  const integer c_FSM_fail := 2;
  const integer c_FSM_timeout := 3;

  ///////////////////////////////////////////////////////////
  // Type: IOT_LGen_CT
  //
  // Purpose:
  //   IoT load generator component
  //
  // Class:
  //   (see EPTF_COAP_LGen_Definitions.EPTF_COAP_LGen_CT.jpg)
  //
  // Extensions:
  //  - <EPTF_LGenBase_CT>
  //  - <EPTF_ExecCtrlClient_CT>
  //  - <EPTF_MQTT_LGen_CT>
  //  - <EPTF_MQTT_LocalTransport_CT>
  //  - <EPTF_COAP_LGen_CT>
  //  - <EPTF_COAP_LocalTransport_CT>
  //  - <EPTF_LwM2M_LGen_CT>
  //  - <EPTF_LwM2M_CoapApplibTransport_CT>
  //  - <EPTF_HTTP_LGen_CT>
  //  - <EPTF_HTTP_LocalTransport_CT>
  //  - <InfluxDB_CT>
  //
  // Variables:
  //   v_IOT_LGen_name  - *charstring* - name of the current load generator instance
  //   v_IOT_LGen_idx  - *integer* - unique index of the current load generator instance
  //   v_IOT_bIdx - *integer* - id of the IOT behavior defined by RIoT
  //   v_IOT_LGen_loggingMaskId - *integer* - id for RioT logging functions
  // 
  // Instance databases:
  //   v_IOT_LGen_DataSamples_DB - <LwM2M_DataSamples_DB> - Storing data samples for LwM2M smart objects
  //
  //  Events, TestSteps:
  //    <IOT_LGen_Steps>
  //
  // Related Functions:
  //   - <f_IOT_LGen_init> (in *charstring* pl_selfName, in *integer* p_idx, in <EPTF_ExecCtrl_CT> pl_ExecCtrlRef)
  //   - <f_IOT_LGen_initSamples> (in *charstring* p_selfName)
  //   - <f_IOT_LGen_behavior> (in *charstring* pl_selfName, in *integer* p_idx, in <EPTF_ExecCtrl_CT> pl_ExecCtrlRef)
  //   - <f_IOT_LGen_Logging_VERBOSE> (in @lazy *charstring* pl_message)
  //   - <f_IOT_LGen_Logging_DEBUG> (in @lazy *charstring* pl_message)
  //   - <f_IOT_LGen_Logging_WARNING> (in @lazy *charstring* pl_message)
  //   - <f_IOT_LGen_Logging_ERROR> (in @lazy *charstring* pl_message)
  //   - <f_IOT_COAP_LocalTransport_send> (in <EPTF_COAP_PDU> pl_msg)
  //   - <f_IOT_COAP_LGen_receiveMessage> (in <EPTF_COAP_PDU> pl_message)
  //   - <f_EPTF_COAP_PDU_to_Influx> ()
  ///////////////////////////////////////////////////////////
  type component IOT_LGen_CT 
  extends EPTF_LGenBase_CT, EPTF_ExecCtrlClient_CT, 
  		EPTF_MQTT_LGen_CT, EPTF_MQTT_LocalTransport_CT,
  		EPTF_COAP_LGen_CT, EPTF_COAP_LocalTransport_CT,
  		EPTF_LwM2M_LGen_CT, EPTF_LwM2M_CoapApplibTransport_CT,
  		EPTF_HTTP_LGen_CT, EPTF_HTTP_LocalTransport_CT,
  		InfluxDB_CT
  {
    var charstring v_IOT_LGen_name;
    var integer v_IOT_LGen_idx;
    
    var integer v_IOT_bIdx;
    var integer v_IOT_LGen_loggingMaskId;
    
    var LwM2M_DataSamples_DB v_IOT_LGen_DataSamples_DB := c_LwM2M_DataSamples_DB_init;
  }
  
  /*  
  const LwM2M_DataSamples c_DataSamples_Latitude :=
  {
    name := "Latitude",
    values :=
    {
      { floatValue := 47.475902 },
      { floatValue := 47.476758 },
      { floatValue := 47.477048 },
      { floatValue := 47.477657 },
      { floatValue := 47.478266 },
      { floatValue := 47.478730 },
      { floatValue := 47.479571 },
      { floatValue := 47.480325 },
      { floatValue := 47.481456 },
      { floatValue := 47.482646 },
      { floatValue := 47.484241 },
      { floatValue := 47.484589 },
      { floatValue := 47.485740 },
      { floatValue := 47.485262 },
      { floatValue := 47.484682 },
      { floatValue := 47.484102 },
      { floatValue := 47.483536 },
      { floatValue := 47.482579 },
      { floatValue := 47.482028 },
      { floatValue := 47.481390 },
      { floatValue := 47.480520 },
      { floatValue := 47.479519 },
      { floatValue := 47.478243 },
      { floatValue := 47.477286 },
      { floatValue := 47.476097 },
      { floatValue := 47.475241 },
      { floatValue := 47.474324 },
      { floatValue := 47.473134 }
    }
  }
  
  const LwM2M_DataSamples c_DataSamples_Longitude :=
  {
    name := "Longitude",
    values :=
    {
      { floatValue := 19.057703 },
      { floatValue := 19.059430 },
      { floatValue := 19.060122 },
      { floatValue := 19.061195 },
      { floatValue := 19.062311 },
      { floatValue := 19.063405 },
      { floatValue := 19.065144 },
      { floatValue := 19.066989 },
      { floatValue := 19.068276 },
      { floatValue := 19.068877 },
      { floatValue := 19.069435 },
      { floatValue := 19.069521 },
      { floatValue := 19.070077 },
      { floatValue := 19.071772 },
      { floatValue := 19.073231 },
      { floatValue := 19.074798 },
      { floatValue := 19.076600 },
      { floatValue := 19.079325 },
      { floatValue := 19.080892 },
      { floatValue := 19.082694 },
      { floatValue := 19.085033 },
      { floatValue := 19.087780 },
      { floatValue := 19.091127 },
      { floatValue := 19.093788 },
      { floatValue := 19.096727 },
      { floatValue := 19.098938 },
      { floatValue := 19.097714 },
      { floatValue := 19.096813 }
    }
  }
  */
}
