initial code commit
Signed-off-by: Eszter Susanszky <eszter.susanszky@ericsson.com>
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..162dd2f
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,57 @@
+[submodule "src/Libraries/EPTF_Applib_MQTT_CNL113860"]
+ path = src/Libraries/EPTF_Applib_MQTT_CNL113860
+ url = git://git.eclipse.org/gitroot/titan/titan.ApplicationLibraries.MQTT.git
+[submodule "src/Libraries/EPTF_Applib_COAP_CNL113858"]
+ path = src/Libraries/EPTF_Applib_COAP_CNL113858
+ url = git://git.eclipse.org/gitroot/titan/titan.ApplicationLibraries.CoAP.git
+[submodule "src/Libraries/EPTF_Applib_LWM2M_CNL113859"]
+ path = src/Libraries/EPTF_Applib_LWM2M_CNL113859
+ url = git://git.eclipse.org/gitroot/titan/titan.ApplicationLibraries.LWM2M.git
+[submodule "src/Libraries/EPTF_Applib_MBT_CNL113659"]
+ path = src/Libraries/EPTF_Applib_MBT_CNL113659
+ url = git://git.eclipse.org/gitroot/titan/titan.ApplicationLibraries.MBT.git
+[submodule "src/Libraries/EPTF_Applib_HTTP_CNL113618"]
+ path = src/Libraries/EPTF_Applib_HTTP_CNL113618
+ url = git://git.eclipse.org/gitroot/titan/titan.ApplicationLibraries.HTTP.git
+[submodule "src/Libraries/EPTF_Core_Library_CNL113512"]
+ path = src/Libraries/EPTF_Core_Library_CNL113512
+ url = git://git.eclipse.org/gitroot/titan/titan.Libraries.CLL.git
+[submodule "src/Libraries/TCCUsefulFunctions_CNL113472"]
+ path = src/Libraries/TCCUsefulFunctions_CNL113472
+ url = git://github.com/eclipse/titan.Libraries.TCCUsefulFunctions
+[submodule "src/ProtocolModules/CoAP_CNL113829"]
+ path = src/ProtocolModules/CoAP_CNL113829
+ url = git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.CoAP.git
+[submodule "src/ProtocolModules/MQTT_v3.1.1_CNL113831"]
+ path = src/ProtocolModules/MQTT_v3.1.1_CNL113831
+ url = git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MQTT.git
+[submodule "src/ProtocolModules/COMMON"]
+ path = src/ProtocolModules/COMMON
+ url = git://github.com/eclipse/titan.ProtocolModules.COMMON.git
+[submodule "src/ProtocolModules/XTDP_CNL113663"]
+ path = src/ProtocolModules/XTDP_CNL113663
+ url = git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.XTDP.git
+[submodule "src/ProtocolModules/JSON_v07_2006_CNL113676"]
+ path = src/ProtocolModules/JSON_v07_2006_CNL113676
+ url = git://github.com/eclipse/titan.ProtocolModules.JSON_v07_2006.git
+[submodule "src/TestPorts/Common_Components/Abstract_Socket_CNL113384"]
+ path = src/TestPorts/Common_Components/Abstract_Socket_CNL113384
+ url = git://github.com/eclipse/titan.TestPorts.Common_Components.Abstract_Socket.git
+[submodule "src/TestPorts/Common_Components/Socket_API_CNL113686"]
+ path = src/TestPorts/Common_Components/Socket_API_CNL113686
+ url = git://github.com/eclipse/titan.TestPorts.Common_Components.Socket-API.git
+[submodule "src/TestPorts/TELNETasp_CNL113320"]
+ path = src/TestPorts/TELNETasp_CNL113320
+ url = git://github.com/eclipse/titan.TestPorts.TELNETasp.git
+[submodule "src/TestPorts/HTTPmsg_CNL113312"]
+ path = src/TestPorts/HTTPmsg_CNL113312
+ url = git://github.com/eclipse/titan.TestPorts.HTTPmsg.git
+[submodule "src/TestPorts/IPL4asp_CNL113531"]
+ path = src/TestPorts/IPL4asp_CNL113531
+ url = git://github.com/eclipse/titan.TestPorts.IPL4asp.git
+[submodule "src/Libraries/IoT_Loadtest_Framework"]
+ path = src/Libraries/IoT_Loadtest_Framework
+ url = git://git.eclipse.org/gitroot/titan/titan.Applications.IoT_Loadtest_Framework.git
+[submodule "src/Libraries/IoT_Functiontest_Framework"]
+ path = src/Libraries/IoT_Functiontest_Framework
+ url = git://git.eclipse.org/gitroot/titan/titan.Applications.IoT_Functiontest_Framework.git
diff --git a/RIOT_LPA108661.tpd b/RIOT_LPA108661.tpd
new file mode 100644
index 0000000..6beeb51
--- /dev/null
+++ b/RIOT_LPA108661.tpd
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TITAN_Project_File_Information version="1.0">
+<!--
+ Copyright (c) 2000-2017 Ericsson Telecom AB
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ File: RIOT_LPA108661.tpd
+ Description: tpd project file
+ Rev: <RnXnn>
+ Prodnr: LPA108661
+ Updated: 2018-02-27
+ Contact: http://ttcn.ericsson.se
+-->
+ <ProjectName>RIOT_LPA108661</ProjectName>
+ <ReferencedProjects>
+ <ReferencedProject name="EPTF_Applib_COAP_CNL113858" projectLocationURI="src/Libraries/EPTF_Applib_COAP_CNL113858/EPTF_Applib_COAP_CNL113858.tpd"/>
+ <ReferencedProject name="EPTF_Applib_LWM2M_CNL113859" projectLocationURI="src/Libraries/EPTF_Applib_LWM2M_CNL113859/EPTF_Applib_LWM2M_CNL113859.tpd"/>
+ <ReferencedProject name="EPTF_Applib_MBT_CNL113659" projectLocationURI="src/Libraries/EPTF_Applib_MBT_CNL113659/EPTF_Applib_MBT_CNL113659.tpd"/>
+ <ReferencedProject name="EPTF_Applib_MQTT_CNL113860" projectLocationURI="src/Libraries/EPTF_Applib_MQTT_CNL113860/EPTF_Applib_MQTT_CNL113860.tpd"/>
+ <ReferencedProject name="EPTF_Applib_HTTP_CNL113618" projectLocationURI="src/Libraries/EPTF_Applib_HTTP_CNL113618/EPTF_Applib_HTTP_CNL113618.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Base" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Base/EPTF_CLL_Base.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Common" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Common/EPTF_CLL_Common.tpd"/>
+ <ReferencedProject name="EPTF_CLL_DataSource" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/DataSource/EPTF_CLL_DataSource.tpd"/>
+ <ReferencedProject name="EPTF_CLL_DsRestAPI" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/DsRestAPI/EPTF_CLL_DsRestAPI.tpd"/>
+ <ReferencedProject name="EPTF_CLL_ExecCtrl" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/ExecCtrl/EPTF_CLL_ExecCtrl.tpd"/>
+ <ReferencedProject name="EPTF_CLL_FreeBusyQueue" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/FreeBusyQueue/EPTF_CLL_FBQ.tpd"/>
+ <ReferencedProject name="EPTF_CLL_HashMap" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/HashMap/EPTF_CLL_HashMap.tpd"/>
+ <ReferencedProject name="EPTF_CLL_ILogBase" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/ILog/EPTF_CLL_ILog.tpd"/>
+ <ReferencedProject name="EPTF_CLL_LGenBase" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/LGenBase/EPTF_CLL_LGenBase.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Logging" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Logging/EPTF_CLL_Logging.tpd"/>
+ <ReferencedProject name="EPTF_CLL_NQueue" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/NQueue/EPTF_CLL_NQueue.tpd"/>
+ <ReferencedProject name="EPTF_CLL_RandomNArray" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/RandomNArray/EPTF_CLL_RandomNArray.tpd"/>
+ <ReferencedProject name="EPTF_CLL_RedBlackTree" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/RedBlackTree/EPTF_CLL_RedBlackTree.tpd"/>
+ <ReferencedProject name="EPTF_CLL_RingBuffer" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/RingBuffer/EPTF_CLL_RingBuffer.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Scheduler" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Scheduler/EPTF_CLL_Scheduler.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Semaphore" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Semaphore/EPTF_CLL_Semaphore.tpd"/>
+ <ReferencedProject name="EPTF_CLL_StatHandler" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/StatHandler/EPTF_CLL_StatHandler.tpd"/>
+ <ReferencedProject name="EPTF_CLL_StatManager" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/StatManager/EPTF_CLL_StatManager.tpd"/>
+ <ReferencedProject name="EPTF_CLL_StatMeasure" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/StatMeasure/EPTF_CLL_StatMeasure.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Transport_Common" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport_Common.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Transport_CommPortIPL4" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport_CommPortIPL4.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Transport_IPsecHandler" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport_IPsecHandler.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Transport_MessageBufferManager" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport_MessageBufferManager.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Variable" projectLocationURI="src/Libraries/EPTF_Core_Library_CNL113512/src/Variable/EPTF_CLL_Variable.tpd"/>
+ <ReferencedProject name="JSON_v07_2006_CNL113676_1" projectLocationURI="src/ProtocolModules/JSON_v07_2006_CNL113676/JSON_v07_2006_CNL113676_1.tpd"/>
+ <ReferencedProject name="ProtocolModules_Common" projectLocationURI="src/ProtocolModules/COMMON/ProtocolModules_Common.tpd"/>
+ <ReferencedProject name="TCCUsefulFunctions_CNL113472_Common" projectLocationURI="src/Libraries/TCCUsefulFunctions_CNL113472/TCCUsefulFunctions_CNL113472_Common.tpd"/>
+ </ReferencedProjects>
+ <Files>
+ <FileResource projectRelativePath="IFW_CoAP_Peer_Definitions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_CoAP_Peer_Definitions.ttcn"/>
+ <FileResource projectRelativePath="IFW_CoAP_Peer_Functions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_CoAP_Peer_Functions.ttcn"/>
+ <FileResource projectRelativePath="IFW_CoAP_Peer_TestSteps.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_CoAP_Peer_TestSteps.ttcn"/>
+ <FileResource projectRelativePath="IFW_Common.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_Common.ttcn"/>
+ <FileResource projectRelativePath="IFW_HTTP_Client_Definitions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_HTTP_Client_Definitions.ttcn"/>
+ <FileResource projectRelativePath="IFW_HTTP_Client_Functions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_HTTP_Client_Functions.ttcn"/>
+ <FileResource projectRelativePath="IFW_HTTP_Client_TestSteps.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_HTTP_Client_TestSteps.ttcn"/>
+ <FileResource projectRelativePath="IFW_MQTT_Client_Definitions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_MQTT_Client_Definitions.ttcn"/>
+ <FileResource projectRelativePath="IFW_MQTT_Client_Functions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_MQTT_Client_Functions.ttcn"/>
+ <FileResource projectRelativePath="IFW_MQTT_Client_TestSteps.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IFW_MQTT_Client_TestSteps.ttcn"/>
+ <FileResource projectRelativePath="IOT_App_Definitions.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/IOT_App_Definitions.ttcn"/>
+ <FileResource projectRelativePath="IOT_App_Functions.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/IOT_App_Functions.ttcn"/>
+ <FileResource projectRelativePath="IOT_LGen_Definitions.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/IOT_LGen_Definitions.ttcn"/>
+ <FileResource projectRelativePath="IOT_LGen_Functions.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/IOT_LGen_Functions.ttcn"/>
+ <FileResource projectRelativePath="IOT_LGen_Steps.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/IOT_LGen_Steps.ttcn"/>
+ <FileResource projectRelativePath="InfluxDB_Definitions.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/InfluxDB_Definitions.ttcn"/>
+ <FileResource projectRelativePath="InfluxDB_Functions.ttcn" relativeURI="src/Libraries/IoT_Loadtest_Framework/InfluxDB_Functions.ttcn"/>
+ <FileResource projectRelativePath="IoT_FT_Framework_Definitions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IoT_FT_Framework_Definitions.ttcn"/>
+ <FileResource projectRelativePath="IoT_FT_Framework_Functions.ttcn" relativeURI="src/Libraries/IoT_Functiontest_Framework/IoT_FT_Framework_Functions.ttcn"/>
+ </Files>
+ <ActiveConfiguration>Default</ActiveConfiguration>
+ <Configurations>
+ <Configuration name="Default">
+ <ProjectProperties>
+ <MakefileSettings>
+ <generateInternalMakefile>true</generateInternalMakefile>
+ <GNUMake>true</GNUMake>
+ <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+ <targetExecutable>bin/riot</targetExecutable>
+ <suppressWarnings>true</suppressWarnings>
+ <enableLegacyEncoding>true</enableLegacyEncoding>
+ <buildLevel>Level3-Creatingobjectfileswithdependencyupdate</buildLevel>
+ </MakefileSettings>
+ <LocalBuildSettings>
+ <workingDirectory>bin</workingDirectory>
+ </LocalBuildSettings>
+ </ProjectProperties>
+ </Configuration>
+ </Configurations>
+</TITAN_Project_File_Information>
diff --git a/cfg/coap_basic/coap_basic_fsms.cfg b/cfg/coap_basic/coap_basic_fsms.cfg
new file mode 100644
index 0000000..dc5bca7
--- /dev/null
+++ b/cfg/coap_basic/coap_basic_fsms.cfg
@@ -0,0 +1,814 @@
+
+[MODULE_PARAMETERS]
+tsp_IOT_LGen_FSMs := {
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (144, 311)
+@state "initiated" (739, 313)
+@parallellink "idle" -- "initiated" (159, 311) (214, 311) * (712, 313) (657, 313)
+@link "idle" -- "initiated"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP rsp: 205"
+@link "initiated" -- "idle"
+eventlist "COAP Behavior" "COAP rsp: 200" "COAP rsp: 201" "COAP rsp: 202" "COAP rsp: 203" "COAP rsp: 204"
+@link "initiated" -- "idle"
+singleevent "Special behavior for timeout reporting" "watchdog"
+*/
+ name := "TC_CORE01_GET_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initiated"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "watchdog",
+ startValue := 10.0
+ }
+ }
+ },
+ {
+ varList := {
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },//var:remoteHost
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ },//var:remotePort
+ // var:localHost
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:localPort
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 31000
+ },
+ scope := TC
+ }
+ }
+ },
+ {
+ 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: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_01_GET"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: send",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "LGenBase: StepFunction_timerStart",
+ contextArgs := {
+ timerName := "watchdog"
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initiated"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP rsp: 205",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ eventList := {
+ bName := "COAP Behavior",
+ iNameList := {
+ "COAP rsp: 200",
+ "COAP rsp: 201",
+ "COAP rsp: 202",
+ "COAP rsp: 203",
+ "COAP rsp: 204"
+ },
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "Special behavior for timeout reporting",
+ iName := "watchdog",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (100, 527)
+@state "initiated" (1019, 527)
+@parallellink "idle" -- "initiated" (115, 527) (203, 527) * (992, 527) (904, 527)
+@link "idle" -- "initiated"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initiated" -- "idle"
+eventlist "COAP Behavior" "COAP rsp: 200" "COAP rsp: 202" "COAP rsp: 203" "COAP rsp: 205"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP rsp: 201"
+@link "initiated" -- "idle"
+singleevent "Special behavior for timeout reporting" "watchdog"
+*/
+ name := "TC_CORE02_POST_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initiated"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "watchdog",
+ startValue := 10.0
+ }
+ }
+ },
+ {
+ varList := {
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },//var:remoteHost
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ },//var:remotePort
+ // var:localHost
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:localPort
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 31000
+ },
+ scope := TC
+ }
+ }
+ },
+ {
+ 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: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_02_POST"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: send",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "LGenBase: StepFunction_timerStart",
+ contextArgs := {
+ timerName := "watchdog"
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initiated"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ eventList := {
+ bName := "COAP Behavior",
+ iNameList := {
+ "COAP rsp: 200",
+ "COAP rsp: 202",
+ "COAP rsp: 203",
+ "COAP rsp: 205"
+ },
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP rsp: 201",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "Special behavior for timeout reporting",
+ iName := "watchdog",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (177, 188)
+@state "initializing" (668, 273)
+@state "serving" (393, 486)
+@selfstate "serving" (850, 668)
+@parallellink "idle" -- "initializing" (192, 191) (236, 199) * (633, 267) (589, 259)
+@link "idle" -- "initializing"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initializing" -- "idle"
+singleevent "COAP Behavior" "COAP transport: fail rsp"
+@parallellink "initializing" -- "serving" (653, 285) (629, 304) * (408, 474) (433, 455)
+@link "initializing" -- "serving"
+singleevent "COAP Behavior" "COAP transport: succ rsp"
+@parallellink "serving" -- "idle" (384, 474) (364, 447) * (186, 200) (206, 227)
+@link "serving" -- "idle"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Stop_the_traffic_case!"
+@parallellink "serving" -- "serving" (417, 496) (458, 512) * (826, 658) (785, 642)
+@link "serving" -- "serving"
+singleevent "COAP Behavior" "COAP req: GET"
+@link "serving" -- "serving"
+singleevent "COAP Behavior" "COAP req: POST"
+*/
+ name := "TC_CORE_Server_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initializing",
+ "serving"
+ }
+ },
+ {
+ varList := {
+ // var:localHost
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:localPort
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 30000
+ },
+ scope := TC
+ },
+ {
+ name := "portOffset",
+ initValue := {
+ intVal := 0
+ },
+ scope := TC
+ }//var:portOffset
+ }
+ },
+ {
+ 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",
+ "portOffset"
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: startListening",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initializing"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transport: succ rsp",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initializing"
+ },
+ cell := {
+ actionList := omit,
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP 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 := "EPTF_CLL_LGenBase",
+ iName := "LGenBase: Stop_the_traffic_case!",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP req: GET",
+ eventType := entity
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "COAP Applib: handleRequest",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "COAP Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_Server_Content"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: sendResponse",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP req: POST",
+ eventType := entity
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "COAP Applib: handleRequest",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "COAP Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_Server_Created"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: sendResponse",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }}
+
diff --git a/cfg/coap_basic/coap_basic_main.cfg b/cfg/coap_basic/coap_basic_main.cfg
new file mode 100644
index 0000000..00b31ab
--- /dev/null
+++ b/cfg/coap_basic/coap_basic_main.cfg
@@ -0,0 +1,96 @@
+[INCLUDE]
+"coap_basic_params.cfg"
+"coap_basic_fsms.cfg"
+"coap_basic_templates.cfg"
+
+[MODULE_PARAMETERS]
+tsp_LGenBase_EntityGrpDeclarators := {
+ { name := "IotClients", eType := "IOT_Entity", eCount := 100 },
+ { name := "IotServer", eType := "IOT_Entity", eCount := 1 }
+}
+
+tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
+ { scenarioName := "IotClientScenario", eGrpName := "IotClients", name := omit},
+ { scenarioName := "IotServerScenario", eGrpName := "IotServer", name := omit}
+}
+
+tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
+ {
+ name := "TC_CORE01_GET",
+ fsmName := "TC_CORE01_GET_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ },
+ {
+ name := "TC_CORE02_POST",
+ fsmName := "TC_CORE02_POST_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ },
+ {
+ name := "TC_CORE_Server",
+ fsmName := "TC_CORE_Server_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ }
+}
+
+tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
+{
+ {
+ name := "IotClientScenario",
+ tcList := {
+ {
+ tcName := "TC_CORE01_GET",
+ tcParamsList := {
+ {startDelay := 1.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ //{trafficStartFinish := {
+ // {nrOfExecStart := {count := 100, actions := {}}},
+ // {nrOfSuccesses := {count := 100, actions := {}}}
+ // }
+ //}
+ }
+ },
+ {
+ tcName := "TC_CORE02_POST",
+ tcParamsList := {
+ {startDelay := 1.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ //{trafficStartFinish := {
+ // {nrOfExecStart := {count := 100, actions := {}}},
+ // {nrOfSuccesses := {count := 100, actions := {}}}
+ // }
+ //}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ },
+ {
+ name := "IotServerScenario",
+ tcList := {
+ {
+ tcName := "TC_CORE_Server",
+ tcParamsList := {
+ {startDelay := 0.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ }
+}
diff --git a/cfg/coap_basic/coap_basic_params.cfg b/cfg/coap_basic/coap_basic_params.cfg
new file mode 100644
index 0000000..2eabba0
--- /dev/null
+++ b/cfg/coap_basic/coap_basic_params.cfg
@@ -0,0 +1,57 @@
+
+[MODULE_PARAMETERS]
+
+tsp_nrOfLGens := 1;
+
+#tsp_EPTF_UIHandler_Browser_RemotePort := 4321
+#tsp_EPTF_UIHandler_Browser_directory := "./BrowserGUI";
+
+tsp_EPTF_Var_SyncInterval := 3.0;
+
+tsp_ExecCtrl_manualControl := true;
+
+tsp_EPTF_LwM2M_CoapApplibTransport_enabled := false;
+
+//tsp_EPTF_COAP_LGen_debug := true;
+//tsp_EPTF_COAP_LGen_debugVerbose := true;
+//tsp_EPTF_COAP_LocalTransport_debug := true;
+//tsp_EPTF_LwM2M_LGen_debug := true;
+//tsp_EPTF_LwM2M_LGen_debugVerbose := true;
+//tsp_EPTF_LwM2M_CoapApplibTransport_debug := true;
+//tsp_EPTF_HTTP_Transport_loggingEnable := true;
+//tsp_EPTF_HTTP_loggingEnable := true;
+//tsp_EPTF_LGenBaseDebug := false;
+//tsp_EPTF_LGenBaseDebugTraffic := false;
+
+[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 := Single
+LogEntityName := Yes
+
+[EXECUTE]
+IOT_App_Functions.TC
+
+[MAIN_CONTROLLER]
+TCPPort := 9777
+KillTimer := 30.0
+
+[TESTPORT_PARAMETERS]
+# 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"
+
+*.IPL4_PCO.debug := "NO"
diff --git a/cfg/coap_basic/coap_basic_templates.cfg b/cfg/coap_basic/coap_basic_templates.cfg
new file mode 100644
index 0000000..775b521
--- /dev/null
+++ b/cfg/coap_basic/coap_basic_templates.cfg
@@ -0,0 +1,87 @@
+
+[MODULE_PARAMETERS]
+tsp_EPTF_COAP_LGen_templates :=
+{
+ {
+ id := "t_TC_CORE_01_GET",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := NON_CONFIRMABLE,
+ code := { class:= 0, detail := 1 },
+ message_id := 0
+ },
+ token := ''O,
+ options :=
+ {
+ {
+ uri_path := "test"
+ }
+ },
+ payload := omit
+ }
+ },
+ {
+ id := "t_TC_CORE_02_POST",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := CONFIRMABLE,
+ code := { class := 0, detail := 2 },
+ message_id := 0
+ },
+ token := ''O,
+ options :=
+ {
+ {
+ uri_path := "test"
+ },
+ {
+ content_format := 0
+ }
+ },
+ payload := '010203040506070809'O
+ }
+ },
+ {
+ id := "t_TC_CORE_Server_Content",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := ACKNOWLEDGEMENT,
+ code := { class := 2, detail := 5 },
+ message_id := 0
+ },
+ token := ''O,
+ options :=
+ {
+ {
+ content_format := 0
+ }
+ },
+ payload := '010203040506070809'O
+ }
+ },
+ {
+ id := "t_TC_CORE_Server_Created",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := ACKNOWLEDGEMENT,
+ code := { class := 2, detail := 1 },
+ message_id := 0
+ },
+ token := ''O,
+ options := {},
+ payload := omit
+ }
+ }
+}
diff --git a/cfg/func_tests/ft_coap.cfg b/cfg/func_tests/ft_coap.cfg
new file mode 100644
index 0000000..fe08d70
--- /dev/null
+++ b/cfg/func_tests/ft_coap.cfg
@@ -0,0 +1,95 @@
+[MODULE_PARAMETERS]
+tsp_addresses :=
+{
+ {
+ id := "client",
+ hostName := "127.0.0.1",
+ portNumber := 31111
+ },
+ {
+ id := "server",
+ hostName := "127.0.0.1",
+ portNumber := 5683
+ },
+ {
+ id := "ctrl",
+ hostName := "127.0.0.1",
+ portNumber := 32222
+ },
+ {
+ id := "sut_app",
+ hostName := "127.0.0.1",
+ portNumber := 33333
+ }
+}
+
+[LOGGING]
+# In this section you can specify the name of the log file and the classes of events
+# you want to log into the file or display on console (standard error).
+
+LogFile := "logs/%e.%h-%r.%s"
+FileMask := LOG_ALL | DEBUG | MATCHING
+ConsoleMask := ERROR | WARNING | TESTCASE | STATISTICS | PORTEVENT
+LogSourceInfo := Yes
+AppendFile := No
+TimeStampFormat := DateTime
+LogEventTypes := Yes
+SourceInfoFormat := Stack
+LogEntityName := Yes
+
+[TESTPORT_PARAMETERS]
+# In this section you can specify parameters that are passed to Test Ports.
+
+[DEFINE]
+# In this section you can create macro definitions,
+# that can be used in other configuration file sections except [INCLUDE] and [ORDERED_INCLUDE].
+
+[INCLUDE]
+# To use configuration settings given in other configuration files,
+# the configuration files just need to be listed in this section, with their full or relative pathnames.
+
+[ORDERED_INCLUDE]
+# To use configuration settings given in other configuration files,
+# the configuration files just need to be listed in this section, with their full or relative pathnames.
+
+[EXTERNAL_COMMANDS]
+# This section can define external commands (shell scripts) to be executed by the ETS
+# whenever a control part or test case is started or terminated.
+
+#BeginTestCase := ""
+#EndTestCase := ""
+#BeginControlPart := ""
+#EndControlPart := ""
+
+[EXECUTE]
+//CoapTestSuite_Fw.control
+//CoapTestSuite_Fw.tc_example
+//CoapTestSuite_Fw.tc_client
+//CoapTestSuite_Fw.tc_server
+//CoapTestSuite_Fw.tc_block_encdec
+CoapTestSuite_Etsi.control
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_01
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_02
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_03
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_04
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_05
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_06
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_07
+//CoapTestSuite_Etsi.tc_client_TD_COAP_CORE_08
+//CoapTestSuite_Etsi.tc_client_TD_COAP_BLOCK_01
+//CoapTestSuite_Etsi.tc_client_TD_COAP_OBS_01
+
+[GROUPS]
+# In this section you can specify groups of hosts. These groups can be used inside the
+# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.
+
+[COMPONENTS]
+# This section consists of rules restricting the location of created PTCs.
+
+[MAIN_CONTROLLER]
+# The options herein control the behavior of MC.
+
+TCPPort := 0
+KillTimer := 10.0
+# NumHCs := 0
+# LocalAddress :=
diff --git a/cfg/func_tests/ft_leshan.cfg b/cfg/func_tests/ft_leshan.cfg
new file mode 100644
index 0000000..6747e77
--- /dev/null
+++ b/cfg/func_tests/ft_leshan.cfg
@@ -0,0 +1,50 @@
+[MODULE_PARAMETERS]
+tsp_addresses :=
+{
+ {
+ id := "iot_client",
+ hostName := "127.0.0.1",
+ portNumber := 31111
+ },
+ {
+ id := "coap_server",
+ hostName := "127.0.0.1",
+ portNumber := 5683
+ },
+ {
+ id := "http_server",
+ hostName := "127.0.0.1",
+ portNumber := 8080
+ },
+ {
+ id := "http_client",
+ hostName := "127.0.0.1",
+ portNumber := 32222
+ }
+}
+
+[LOGGING]
+LogFile := "logs/%e.%h-%r.%s"
+FileMask := LOG_ALL | DEBUG | MATCHING
+ConsoleMask := ERROR | WARNING | TESTCASE | STATISTICS | PORTEVENT
+LogSourceInfo := Yes
+AppendFile := No
+TimeStampFormat := DateTime
+LogEventTypes := Yes
+SourceInfoFormat := Single
+LogEntityName := Yes
+
+[TESTPORT_PARAMETERS]
+*.IPL4_PCO.debug := "YES"
+
+[EXECUTE]
+//LeshanTestSuite.control
+//LeshanTestSuite.tc_Leshan_checkHttpInterface
+LeshanTestSuite.tc_COAP_register
+//LeshanTestSuite.tc_COAP_read
+//LeshanTestSuite.tc_LwM2M_register
+//LeshanTestSuite.tc_LwM2M_read
+
+[MAIN_CONTROLLER]
+TCPPort := 0
+KillTimer := 10.0
diff --git a/cfg/func_tests/ft_lwm2m.cfg b/cfg/func_tests/ft_lwm2m.cfg
new file mode 100644
index 0000000..d1fd668
--- /dev/null
+++ b/cfg/func_tests/ft_lwm2m.cfg
@@ -0,0 +1,45 @@
+[MODULE_PARAMETERS]
+tsp_addresses :=
+{
+ {
+ id := "client",
+ hostName := "127.0.0.1",
+ portNumber := 31111
+ },
+ {
+ id := "server",
+ hostName := "127.0.0.1",
+ portNumber := 5683
+ },
+ {
+ id := "ctrl",
+ hostName := "127.0.0.1",
+ portNumber := 32222
+ },
+ {
+ id := "sut_app",
+ hostName := "127.0.0.1",
+ portNumber := 33333
+ }
+}
+
+[LOGGING]
+LogFile := "logs/%e.%h-%r.%s"
+FileMask := LOG_ALL | DEBUG | MATCHING
+ConsoleMask := ERROR | WARNING | TESTCASE | STATISTICS | PORTEVENT
+LogSourceInfo := Yes
+AppendFile := No
+TimeStampFormat := DateTime
+LogEventTypes := Yes
+SourceInfoFormat := Stack
+LogEntityName := Yes
+
+[EXECUTE]
+//Lwm2mTestSuite.control
+//Lwm2mTestSuite.tc_client_LightweightM2M_10_int_101_102_103_regdereg
+//Lwm2mTestSuite.tc_client_LightweightM2M_10_int_101_102_103_regdereg_lwm2mPDU
+Lwm2mTestSuite.tc_json_encdec
+
+[MAIN_CONTROLLER]
+TCPPort := 0
+KillTimer := 10.0
diff --git a/cfg/func_tests/ft_mqtt.cfg b/cfg/func_tests/ft_mqtt.cfg
new file mode 100644
index 0000000..6610315
--- /dev/null
+++ b/cfg/func_tests/ft_mqtt.cfg
@@ -0,0 +1,45 @@
+[MODULE_PARAMETERS]
+tsp_addresses :=
+{
+ {
+ id := "mqtt_server",
+ hostName := "127.0.0.1",
+ portNumber := 1883
+ },
+ {
+ id := "mqtt_client",
+ hostName := "127.0.0.1",
+ portNumber := 32225
+ },
+ {
+ id := "mqtt_client2",
+ hostName := "127.0.0.1",
+ portNumber := 32226
+ }
+}
+
+[LOGGING]
+LogFile := "logs/%e.%h-%r.%s"
+FileMask := LOG_ALL | DEBUG | MATCHING
+ConsoleMask := ERROR | WARNING | TESTCASE | STATISTICS | PORTEVENT
+LogSourceInfo := Yes
+AppendFile := No
+TimeStampFormat := DateTime
+LogEventTypes := Yes
+SourceInfoFormat := Single
+LogEntityName := Yes
+
+[TESTPORT_PARAMETERS]
+*.IPL4_PCO.debug := "YES"
+
+[EXECUTE]
+//MqttTestSuite_Interop.control
+//MqttTestSuite_Interop.tc_Mqtt_client_connect_disconnect
+//MqttTestSuite_Interop.tc_Mqtt_client_subscribe
+//MqttTestSuite_Interop.tc_Mqtt_client_unsubscribe
+//MqttTestSuite_Interop.tc_Mqtt_client_publish_qos0
+MqttTestSuite_Interop.tc_Mqtt_client_publish_qos1
+
+[MAIN_CONTROLLER]
+TCPPort := 0
+KillTimer := 10.0
diff --git a/cfg/leshan_basic/leshan_basic_fsms.cfg b/cfg/leshan_basic/leshan_basic_fsms.cfg
new file mode 100644
index 0000000..ef7afae
--- /dev/null
+++ b/cfg/leshan_basic/leshan_basic_fsms.cfg
@@ -0,0 +1,982 @@
+[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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/cfg/leshan_basic/leshan_basic_main.cfg b/cfg/leshan_basic/leshan_basic_main.cfg
new file mode 100644
index 0000000..7afa157
--- /dev/null
+++ b/cfg/leshan_basic/leshan_basic_main.cfg
@@ -0,0 +1,114 @@
+[INCLUDE]
+"leshan_basic_params.cfg"
+"leshan_basic_fsms.cfg"
+"leshan_basic_templates.cfg"
+
+[MODULE_PARAMETERS]
+
+tsp_LGenBase_EntityGrpDeclarators := {
+ { name := "IotClients", eType := "IOT_Entity", eCount := 100 },
+ { name := "WebClients", eType := "IOT_Entity", eCount := 1 }
+}
+
+tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
+ { scenarioName := "IotClientScenario", eGrpName := "IotClients", name := omit},
+ { scenarioName := "WebClientScenario", eGrpName := "WebClients", name := omit}
+}
+
+tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
+ {
+ name := "TC_LWM2M_RegDereg",
+ fsmName := "LWM2M_RegDereg_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ },
+ {
+ name := "TC_HTTP_GET_FSM",
+ fsmName := "HTTP_GET_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ }
+}
+
+tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
+{
+ {
+ name := "IotClientScenario",
+ tcList := {
+ {
+ tcName := "TC_LWM2M_RegDereg",
+ tcParamsList := {
+ {startDelay := 0.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true},
+ {trafficStartFinish := {
+ {nrOfExecStart := {count := 100, actions := {}}},
+ {nrOfSuccesses := {count := 100, actions := {}}}
+ }
+ }
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ },
+ {
+ name := "WebClientScenario",
+ tcList := {
+ {
+ tcName := "TC_HTTP_GET_FSM",
+ tcParamsList := {
+ {startDelay := 3.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true},
+ {trafficStartFinish := {
+ {nrOfExecStart := {count := 100, actions := {}}},
+ {nrOfSuccesses := {count := 100, actions := {}}}
+ }
+ }
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ }
+}
+
+[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 := Single
+LogEntityName := Yes
+
+[EXECUTE]
+IOT_App_Functions.TC
+
+[MAIN_CONTROLLER]
+TCPPort := 9777
+KillTimer := 30.0
+
+[TESTPORT_PARAMETERS]
+# 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"
+
+*.IPL4_PCO.debug := "YES"
diff --git a/cfg/leshan_basic/leshan_basic_params.cfg b/cfg/leshan_basic/leshan_basic_params.cfg
new file mode 100644
index 0000000..8041c05
--- /dev/null
+++ b/cfg/leshan_basic/leshan_basic_params.cfg
@@ -0,0 +1,23 @@
+
+[MODULE_PARAMETERS]
+
+tsp_nrOfLGens := 1;
+
+#tsp_EPTF_UIHandler_Browser_RemotePort := 4321
+#tsp_EPTF_UIHandler_Browser_directory := "./BrowserGUI";
+
+tsp_EPTF_Var_SyncInterval := 3.0;
+
+tsp_ExecCtrl_manualControl := true;
+
+//tsp_EPTF_COAP_LGen_debug := true;
+//tsp_EPTF_COAP_LGen_debugVerbose := true;
+//tsp_EPTF_COAP_LocalTransport_debug := true;
+//tsp_EPTF_LwM2M_LGen_debug := true;
+//tsp_EPTF_LwM2M_LGen_debugVerbose := true;
+//tsp_EPTF_LwM2M_CoapApplibTransport_debug := true;
+//tsp_EPTF_HTTP_Transport_loggingEnable := true;
+//tsp_EPTF_HTTP_loggingEnable := true;
+//tsp_EPTF_LGenBaseDebug := false;
+//tsp_EPTF_LGenBaseDebugTraffic := false;
+
diff --git a/cfg/leshan_basic/leshan_basic_templates.cfg b/cfg/leshan_basic/leshan_basic_templates.cfg
new file mode 100644
index 0000000..7e5fccb
--- /dev/null
+++ b/cfg/leshan_basic/leshan_basic_templates.cfg
@@ -0,0 +1,43 @@
+[MODULE_PARAMETERS]
+tsp_EPTF_LwM2M_LGen_templates :=
+{
+ {
+ id := "t_LWM2M_RegDereg_FSM_register",
+ msg :=
+ {
+ Register :=
+ {
+ endpointClientName := "client",
+ lifetime := 30,
+ version := omit,
+ bindingMode := U,
+ smsNumber := omit,
+ objectsAndObjectInstances := {}
+ }
+ }
+ },
+ {
+ id := "t_LWM2M_RegDereg_FSM_update",
+ msg :=
+ {
+ Update :=
+ {
+ location := {},
+ lifetime := 30,
+ bindingMode := U,
+ smsNumber := omit,
+ objectsAndObjectInstances := {}
+ }
+ }
+ },
+ {
+ id := "t_LWM2M_RegDereg_FSM_deregister",
+ msg :=
+ {
+ Deregister :=
+ {
+ location := {}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/cfg/leshan_serverdown/leshan_basic_fsms.cfg b/cfg/leshan_serverdown/leshan_basic_fsms.cfg
new file mode 100644
index 0000000..3d417e6
--- /dev/null
+++ b/cfg/leshan_serverdown/leshan_basic_fsms.cfg
@@ -0,0 +1,1138 @@
+[MODULE_PARAMETERS]
+tsp_IOT_LGen_FSMs := {
+ {
+/**** FSM Editor layout information. ****
+@state "registered" (772, 546)
+@selfstate "registered" (1244, 550)
+@state "inititated" (568, 188)
+@state "deregistering" (573, 994)
+@state "idle" (73, 592)
+@parallellink "idle" -- "inititated" (88, 580) (134, 542) * (553, 200) (507, 238)
+@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"
+@link "inititated" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+@parallellink "inititated" -- "registered" (575, 200) (594, 233) * (765, 534) (746, 501)
+@link "inititated" -- "registered"
+singleevent "LWM2M Behavior" "LWM2M rsp: 201"
+@parallellink "registered" -- "registered" (804, 546) (845, 546) * (1213, 550) (1172, 550)
+@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" (558, 982) (511, 944) * (88, 604) (135, 642)
+@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"
+@link "deregistering" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+@parallellink "registered" -- "idle" (741, 548) (676, 552) * (88, 591) (153, 587)
+@link "registered" -- "idle"
+singleevent "LWM2M Behavior" "LWM2M rsp: 3xxto6xx"
+@link "registered" -- "idle"
+singleevent "Special behavior for timeout reporting" "userWatchdog"
+@link "registered" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+@parallellink "registered" -- "deregistering" (767, 558) (748, 600) * (578, 982) (597, 940)
+@link "registered" -- "deregistering"
+singleevent "Special behavior for timeout reporting" "dereg"
+*/
+ name := "LWM2M_RegDereg_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "inititated",
+ "registered",
+ "deregistering"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "userWatchdog",
+ startValue := 80.0
+ },
+ {
+ name := "update",
+ startValue := 25.0
+ },
+ {
+ name := "dereg",
+ startValue := 60.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 := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "deregistering"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ 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 := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "registered"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "deregistering"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transaction: timeout",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ 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 := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "deregistering"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ 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 := {
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 8080
+ },
+ scope := TC
+ },
+ // var:clientName
+ {
+ name := "clientName",
+ initValue := {
+ charstringVal := ""
+ },
+ scope := TC
+ },
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },//var:localHost
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 20000
+ },
+ scope := TC
+ }//var:localPort
+ }
+ },
+ {
+ 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 HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "reading"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ 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: openConnection_byVars",
+ contextArgs := {
+ varNames := {
+ "localHost",
+ "localPort",
+ "remoteHost",
+ "remotePort"
+ }
+ }
+ },
+ {
+ 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 HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "reading"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ 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 HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/cfg/leshan_serverdown/leshan_basic_main.cfg b/cfg/leshan_serverdown/leshan_basic_main.cfg
new file mode 100644
index 0000000..ad03dc4
--- /dev/null
+++ b/cfg/leshan_serverdown/leshan_basic_main.cfg
@@ -0,0 +1,97 @@
+[MODULE_PARAMETERS]
+
+tsp_nrOfLGens := 0;
+
+tsp_EPTF_ExecCtrl_LGenPool_Declarators :=
+{
+ {
+ name := "Pool_LWM2M_Clients",
+ lgenPoolItems := { { hostname := "localhost", num := 2, createFunctionName := "RIoT.createLGen" } }
+ },
+ {
+ name := "Pool_Web_Clients",
+ lgenPoolItems := { { hostname := "localhost", num := 2, createFunctionName := "RIoT.createLGen" } }
+ }
+}
+
+tsp_EPTF_ExecCtrl_EntityGroup2LGenPool_List :=
+{
+ {
+ eGrpName := "IotClients",
+ lgenPoolName := "Pool_LWM2M_Clients"
+ },
+ {
+ eGrpName := "WebClients",
+ lgenPoolName := "Pool_Web_Clients"
+ }
+}
+
+tsp_LGenBase_EntityGrpDeclarators := {
+ { name := "IotClients", eType := "IOT_Entity", eCount := 10 },
+ { name := "WebClients", eType := "IOT_Entity", eCount := 2 }
+}
+
+tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
+ { scenarioName := "IotClientScenario", eGrpName := "IotClients", name := omit},
+ { scenarioName := "WebClientScenario", eGrpName := "WebClients", name := omit}
+}
+
+tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
+ {
+ name := "TC_LWM2M_RegDereg",
+ fsmName := "LWM2M_RegDereg_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ },
+ {
+ name := "TC_HTTP_GET_FSM",
+ fsmName := "HTTP_GET_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ }
+}
+
+tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
+{
+ {
+ name := "IotClientScenario",
+ tcList := {
+ {
+ tcName := "TC_LWM2M_RegDereg",
+ tcParamsList := {
+ {startDelay := 0.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ },
+ {
+ name := "WebClientScenario",
+ tcList := {
+ {
+ tcName := "TC_HTTP_GET_FSM",
+ tcParamsList := {
+ {startDelay := 3.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ }
+}
+
+[INCLUDE]
+"leshan_basic_params.cfg"
+"leshan_basic_fsms.cfg"
+"leshan_basic_templates.cfg"
diff --git a/cfg/leshan_serverdown/leshan_basic_params.cfg b/cfg/leshan_serverdown/leshan_basic_params.cfg
new file mode 100644
index 0000000..f1b60fd
--- /dev/null
+++ b/cfg/leshan_serverdown/leshan_basic_params.cfg
@@ -0,0 +1,54 @@
+
+[MODULE_PARAMETERS]
+
+#tsp_EPTF_UIHandler_Browser_RemotePort := 4321
+#tsp_EPTF_UIHandler_Browser_directory := "./BrowserGUI";
+tsp_EPTF_Var_SyncInterval := 3.0;
+
+tsp_ExecCtrl_manualControl := true;
+
+tsp_EPTF_COAP_EXCHANGE_LIFETIME := 20.0;
+
+//tsp_EPTF_COAP_LGen_debug := true;
+//tsp_EPTF_COAP_LGen_debugVerbose := true;
+//tsp_EPTF_COAP_LocalTransport_debug := true;
+//tsp_EPTF_LwM2M_LGen_debug := true;
+//tsp_EPTF_LwM2M_LGen_debugVerbose := true;
+//tsp_EPTF_LwM2M_CoapApplibTransport_debug := true;
+//tsp_EPTF_HTTP_Transport_loggingEnable := true;
+//tsp_EPTF_HTTP_loggingEnable := true;
+//tsp_EPTF_LGenBaseDebug := false;
+//tsp_EPTF_LGenBaseDebugTraffic := false;
+
+[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 := Single
+LogEntityName := Yes
+
+[EXECUTE]
+IOT_App_Functions.TC
+
+[MAIN_CONTROLLER]
+TCPPort := 9777
+KillTimer := 30.0
+
+[TESTPORT_PARAMETERS]
+# 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"
+
+*.IPL4_PCO.debug := "YES"
diff --git a/cfg/leshan_serverdown/leshan_basic_templates.cfg b/cfg/leshan_serverdown/leshan_basic_templates.cfg
new file mode 100644
index 0000000..7e5fccb
--- /dev/null
+++ b/cfg/leshan_serverdown/leshan_basic_templates.cfg
@@ -0,0 +1,43 @@
+[MODULE_PARAMETERS]
+tsp_EPTF_LwM2M_LGen_templates :=
+{
+ {
+ id := "t_LWM2M_RegDereg_FSM_register",
+ msg :=
+ {
+ Register :=
+ {
+ endpointClientName := "client",
+ lifetime := 30,
+ version := omit,
+ bindingMode := U,
+ smsNumber := omit,
+ objectsAndObjectInstances := {}
+ }
+ }
+ },
+ {
+ id := "t_LWM2M_RegDereg_FSM_update",
+ msg :=
+ {
+ Update :=
+ {
+ location := {},
+ lifetime := 30,
+ bindingMode := U,
+ smsNumber := omit,
+ objectsAndObjectInstances := {}
+ }
+ }
+ },
+ {
+ id := "t_LWM2M_RegDereg_FSM_deregister",
+ msg :=
+ {
+ Deregister :=
+ {
+ location := {}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/cfg/mqtt_basic/mqtt_basic_fsms.cfg b/cfg/mqtt_basic/mqtt_basic_fsms.cfg
new file mode 100644
index 0000000..6d4a18d
--- /dev/null
+++ b/cfg/mqtt_basic/mqtt_basic_fsms.cfg
@@ -0,0 +1,664 @@
+[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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/cfg/mqtt_basic/mqtt_basic_main.cfg b/cfg/mqtt_basic/mqtt_basic_main.cfg
new file mode 100644
index 0000000..bb050ae
--- /dev/null
+++ b/cfg/mqtt_basic/mqtt_basic_main.cfg
@@ -0,0 +1,49 @@
+[INCLUDE]
+"mqtt_basic_params.cfg"
+"mqtt_basic_fsms.cfg"
+"mqtt_basic_templates.cfg"
+
+[MODULE_PARAMETERS]
+tsp_LGenBase_EntityGrpDeclarators := {
+ { name := "IotClients", eType := "IOT_Entity", eCount := 1 }
+}
+
+tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
+ { scenarioName := "IotClientScenario", eGrpName := "IotClients", name := omit}
+}
+
+tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
+ {
+ name := "TC_MQTT_RegDereg",
+ fsmName := "MQTT_RegDereg_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ }
+}
+
+tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
+{
+ {
+ name := "IotClientScenario",
+ tcList := {
+ {
+ tcName := "TC_MQTT_RegDereg",
+ tcParamsList := {
+ {startDelay := 1.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ //{trafficStartFinish := {
+ // {nrOfExecStart := {count := 100, actions := {}}},
+ // {nrOfSuccesses := {count := 100, actions := {}}}
+ // }
+ //}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ }
+}
diff --git a/cfg/mqtt_basic/mqtt_basic_params.cfg b/cfg/mqtt_basic/mqtt_basic_params.cfg
new file mode 100644
index 0000000..ae5a185
--- /dev/null
+++ b/cfg/mqtt_basic/mqtt_basic_params.cfg
@@ -0,0 +1,73 @@
+
+[MODULE_PARAMETERS]
+
+tsp_nrOfLGens := 1;
+
+#tsp_EPTF_UIHandler_Browser_RemotePort := 4321
+#tsp_EPTF_UIHandler_Browser_directory := "./BrowserGUI";
+tsp_EPTF_Var_SyncInterval := 3.0;
+
+tsp_ExecCtrl_manualControl := true;
+
+tsp_EPTF_MQTT_LGen_debug := true;
+tsp_EPTF_MQTT_LGen_debugVerbose := true;
+tsp_EPTF_MQTT_LocalTransport_debug := true;
+tsp_EPTF_MQTT_LocalTransport_debugVerbose := true;
+//tsp_EPTF_COAP_LGen_debug := true;
+//tsp_EPTF_COAP_LGen_debugVerbose := true;
+//tsp_EPTF_COAP_LocalTransport_debug := true;
+//tsp_EPTF_LwM2M_LGen_debug := true;
+//tsp_EPTF_LwM2M_LGen_debugVerbose := true;
+//tsp_EPTF_LwM2M_CoapApplibTransport_debug := true;
+//tsp_EPTF_HTTP_Transport_loggingEnable := true;
+//tsp_EPTF_HTTP_loggingEnable := true;
+tsp_EPTF_LGenBaseDebug := true;
+tsp_EPTF_LGenBaseDebugTraffic := true;
+
+[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 := Single
+LogEntityName := Yes
+
+[EXECUTE]
+IOT_App_Functions.TC
+
+[MAIN_CONTROLLER]
+TCPPort := 9777
+KillTimer := 30.0
+
+[TESTPORT_PARAMETERS]
+# 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"
+
+*.IPL4_PCO.debug := "YES"
+
+[GROUPS]
+# In this section you can specify groups of hosts. These groups can be used inside the
+# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.
+
+[COMPONENTS]
+# This section consists of rules restricting the location of created PTCs.
+
+[MAIN_CONTROLLER]
+# The options herein control the behavior of MC.
+
+TCPPort := 0
+KillTimer := 10.0
+# NumHCs := 0
+# LocalAddress :=
diff --git a/cfg/mqtt_basic/mqtt_basic_templates.cfg b/cfg/mqtt_basic/mqtt_basic_templates.cfg
new file mode 100644
index 0000000..3ae7469
--- /dev/null
+++ b/cfg/mqtt_basic/mqtt_basic_templates.cfg
@@ -0,0 +1,73 @@
+[MODULE_PARAMETERS]
+tsp_EPTF_MQTT_LGen_templates :=
+{
+ {
+ id := "t_MQTT_RegDereg_FSM_connect",
+ msg :=
+ {
+ connect_msg :=
+ {
+ header := { flags := '0000'B },
+ name := "MQTT",
+ protocol_level := 4,
+ flags := {
+ user_name_flag := '0'B,
+ password_flag := '0'B,
+ will_retain := '0'B,
+ will_qos := AT_MOST_ONCE_DELIVERY,
+ will_flag := '0'B,
+ clean_session := '1'B
+ },
+ keep_alive := 0,
+ payload := {
+ client_identifier := "",
+ will_topic := omit,
+ will_message := omit,
+ user_name := omit,
+ password := omit
+ }
+ }
+ }
+ },
+ {
+ id := "t_MQTT_RegDereg_FSM_disconnect",
+ msg :=
+ {
+ disconnect_msg := {
+ header := { flags := '0000'B }
+ }
+ }
+ },
+ {
+ id := "t_MQTT_RegDereg_FSM_publish",
+ msg :=
+ {
+ publish := {
+ header := {
+ dup_flag := '0'B,
+ qos_level := AT_MOST_ONCE_DELIVERY,
+ retain_flag := '0'B
+ },
+ topic_name := "topic",
+ packet_identifier := 0,
+ payload := ''O
+ }
+ }
+ },
+ {
+ id := "t_MQTT_RegDereg_FSM_subscribe",
+ msg :=
+ {
+ subscribe := {
+ header := { flags := '0010'B },
+ packet_identifier := 0,
+ payload := {
+ {
+ topic_filter := "topic",
+ requested_qos := AT_MOST_ONCE_DELIVERY
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/cfg/performance_californium/coap_basic_fsms.cfg b/cfg/performance_californium/coap_basic_fsms.cfg
new file mode 100644
index 0000000..59b257a
--- /dev/null
+++ b/cfg/performance_californium/coap_basic_fsms.cfg
@@ -0,0 +1,804 @@
+
+[MODULE_PARAMETERS]
+tsp_IOT_LGen_FSMs := {
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (144, 311)
+@state "initiated" (739, 313)
+@parallellink "idle" -- "initiated" (162, 311) (214, 311) * (706, 313) (657, 313)
+@link "idle" -- "initiated"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP rsp: 205"
+@link "initiated" -- "idle"
+eventlist "COAP Behavior" "COAP rsp: 200" "COAP rsp: 201" "COAP rsp: 202" "COAP rsp: 203" "COAP rsp: 204"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+*/
+ name := "TC_CORE01_GET_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initiated"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "watchdog",
+ startValue := 10.0
+ }
+ }
+ },
+ {
+ varList := {
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ },
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },//var:localHost
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 11000
+ },
+ scope := TC
+ }//var:localPort
+ }
+ },
+ {
+ 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: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_01_GET"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: send",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initiated"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP rsp: 205",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ eventList := {
+ bName := "COAP Behavior",
+ iNameList := {
+ "COAP rsp: 200",
+ "COAP rsp: 201",
+ "COAP rsp: 202",
+ "COAP rsp: 203",
+ "COAP rsp: 204",
+ "COAP rsp: 3xxto6xx"
+ },
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transaction: timeout",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (100, 527)
+@state "initiated" (1019, 527)
+@parallellink "idle" -- "initiated" (118, 527) (203, 527) * (986, 527) (904, 527)
+@link "idle" -- "initiated"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initiated" -- "idle"
+eventlist "COAP Behavior" "COAP rsp: 200" "COAP rsp: 202" "COAP rsp: 203" "COAP rsp: 205"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP rsp: 201"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+*/
+ name := "TC_CORE02_POST_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initiated"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "watchdog",
+ startValue := 10.0
+ }
+ }
+ },
+ {
+ varList := {
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ },
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },//var:localHost
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 11000
+ },
+ scope := TC
+ }//var:localPort
+ }
+ },
+ {
+ 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: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_02_POST"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: send",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initiated"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ eventList := {
+ bName := "COAP Behavior",
+ iNameList := {
+ "COAP rsp: 200",
+ "COAP rsp: 202",
+ "COAP rsp: 203",
+ "COAP rsp: 205",
+ "COAP rsp: 3xxto6xx"
+ },
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP rsp: 201",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transaction: timeout",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (177, 188)
+@state "initializing" (668, 273)
+@state "serving" (393, 486)
+@selfstate "serving" (850, 668)
+@parallellink "idle" -- "initializing" (192, 191) (236, 199) * (633, 267) (589, 259)
+@link "idle" -- "initializing"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initializing" -- "idle"
+singleevent "COAP Behavior" "COAP transport: fail rsp"
+@parallellink "initializing" -- "serving" (653, 285) (629, 304) * (408, 474) (433, 455)
+@link "initializing" -- "serving"
+singleevent "COAP Behavior" "COAP transport: succ rsp"
+@parallellink "serving" -- "idle" (384, 474) (364, 447) * (186, 200) (206, 227)
+@link "serving" -- "idle"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Stop_the_traffic_case!"
+@parallellink "serving" -- "serving" (417, 496) (458, 512) * (826, 658) (785, 642)
+@link "serving" -- "serving"
+singleevent "COAP Behavior" "COAP req: GET"
+@link "serving" -- "serving"
+singleevent "COAP Behavior" "COAP req: POST"
+*/
+ name := "TC_CORE_Server_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initializing",
+ "serving"
+ }
+ },
+ {
+ varList := {
+ // var:localHost
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:localPort
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 30000
+ },
+ scope := TC
+ },
+ {
+ name := "portOffset",
+ initValue := {
+ intVal := 0
+ },
+ scope := TC
+ }//var:portOffset
+ }
+ },
+ {
+ 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",
+ "portOffset"
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: startListening",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initializing"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transport: succ rsp",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initializing"
+ },
+ cell := {
+ actionList := omit,
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP 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 := "EPTF_CLL_LGenBase",
+ iName := "LGenBase: Stop_the_traffic_case!",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP req: GET",
+ eventType := entity
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "COAP Applib: handleRequest",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "COAP Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_Server_Content"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: sendResponse",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP req: POST",
+ eventType := entity
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "COAP Applib: handleRequest",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "COAP Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_Server_Created"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: sendResponse",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }}
+
diff --git a/cfg/performance_californium/coap_basic_fsms.cfg~ b/cfg/performance_californium/coap_basic_fsms.cfg~
new file mode 100644
index 0000000..810cea1
--- /dev/null
+++ b/cfg/performance_californium/coap_basic_fsms.cfg~
@@ -0,0 +1,802 @@
+
+[MODULE_PARAMETERS]
+tsp_IOT_LGen_FSMs := {
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (144, 311)
+@state "initiated" (739, 313)
+@parallellink "idle" -- "initiated" (162, 311) (214, 311) * (706, 313) (657, 313)
+@link "idle" -- "initiated"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP rsp: 205"
+@link "initiated" -- "idle"
+eventlist "COAP Behavior" "COAP rsp: 200" "COAP rsp: 201" "COAP rsp: 202" "COAP rsp: 203" "COAP rsp: 204"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+*/
+ name := "TC_CORE01_GET_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initiated"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "watchdog",
+ startValue := 10.0
+ }
+ }
+ },
+ {
+ varList := {
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ },
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },//var:localHost
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 11000
+ },
+ scope := TC
+ }//var:localPort
+ }
+ },
+ {
+ 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: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_01_GET"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: send",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initiated"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP rsp: 205",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ eventList := {
+ bName := "COAP Behavior",
+ iNameList := {
+ "COAP rsp: 200",
+ "COAP rsp: 201",
+ "COAP rsp: 202",
+ "COAP rsp: 203",
+ "COAP rsp: 204"
+ },
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transaction: timeout",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (100, 527)
+@state "initiated" (1019, 527)
+@parallellink "idle" -- "initiated" (118, 527) (203, 527) * (986, 527) (904, 527)
+@link "idle" -- "initiated"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initiated" -- "idle"
+eventlist "COAP Behavior" "COAP rsp: 200" "COAP rsp: 202" "COAP rsp: 203" "COAP rsp: 205"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP rsp: 201"
+@link "initiated" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+*/
+ name := "TC_CORE02_POST_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initiated"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "watchdog",
+ startValue := 10.0
+ }
+ }
+ },
+ {
+ varList := {
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ },
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },//var:localHost
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 11000
+ },
+ scope := TC
+ }//var:localPort
+ }
+ },
+ {
+ 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: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_02_POST"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: send",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initiated"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ eventList := {
+ bName := "COAP Behavior",
+ iNameList := {
+ "COAP rsp: 200",
+ "COAP rsp: 202",
+ "COAP rsp: 203",
+ "COAP rsp: 205"
+ },
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP rsp: 201",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transaction: timeout",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initiated"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** FSM Editor layout information. ****
+@state "idle" (177, 188)
+@state "initializing" (668, 273)
+@state "serving" (393, 486)
+@selfstate "serving" (850, 668)
+@parallellink "idle" -- "initializing" (192, 191) (236, 199) * (633, 267) (589, 259)
+@link "idle" -- "initializing"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Start_the_traffic_case!"
+@link "initializing" -- "idle"
+singleevent "COAP Behavior" "COAP transport: fail rsp"
+@parallellink "initializing" -- "serving" (653, 285) (629, 304) * (408, 474) (433, 455)
+@link "initializing" -- "serving"
+singleevent "COAP Behavior" "COAP transport: succ rsp"
+@parallellink "serving" -- "idle" (384, 474) (364, 447) * (186, 200) (206, 227)
+@link "serving" -- "idle"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Stop_the_traffic_case!"
+@parallellink "serving" -- "serving" (417, 496) (458, 512) * (826, 658) (785, 642)
+@link "serving" -- "serving"
+singleevent "COAP Behavior" "COAP req: GET"
+@link "serving" -- "serving"
+singleevent "COAP Behavior" "COAP req: POST"
+*/
+ name := "TC_CORE_Server_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "initializing",
+ "serving"
+ }
+ },
+ {
+ varList := {
+ // var:localHost
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:localPort
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 30000
+ },
+ scope := TC
+ },
+ {
+ name := "portOffset",
+ initValue := {
+ intVal := 0
+ },
+ scope := TC
+ }//var:portOffset
+ }
+ },
+ {
+ 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",
+ "portOffset"
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: startListening",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "initializing"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transport: succ rsp",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "initializing"
+ },
+ cell := {
+ actionList := omit,
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP 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 := "EPTF_CLL_LGenBase",
+ iName := "LGenBase: Stop_the_traffic_case!",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP req: GET",
+ eventType := entity
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "COAP Applib: handleRequest",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "COAP Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_Server_Content"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: sendResponse",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP req: POST",
+ eventType := entity
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "serving"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "COAP Applib: handleRequest",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "COAP Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_TC_CORE_Server_Created"
+ }
+ },
+ {
+ stepOrFunctionName := "COAP Applib: sendResponse",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "serving"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }}
+
diff --git a/cfg/performance_californium/coap_basic_main.cfg b/cfg/performance_californium/coap_basic_main.cfg
new file mode 100644
index 0000000..8992865
--- /dev/null
+++ b/cfg/performance_californium/coap_basic_main.cfg
@@ -0,0 +1,65 @@
+[INCLUDE]
+"coap_basic_params.cfg"
+"coap_basic_fsms.cfg"
+"coap_basic_templates.cfg"
+
+[MODULE_PARAMETERS]
+tsp_EPTF_ExecCtrl_LGenPool_Declarators :=
+{
+ {
+ name := "Pool_CoAP_Clients",
+ lgenPoolItems := { { hostname := "localhost", num := 4, createFunctionName := "RIoT.createLGen" } }
+ }
+}
+
+tsp_EPTF_ExecCtrl_EntityGroup2LGenPool_List :=
+{
+ {
+ eGrpName := "IotClients",
+ lgenPoolName := "Pool_CoAP_Clients"
+ }
+}
+
+tsp_LGenBase_EntityGrpDeclarators := {
+ { name := "IotClients", eType := "IOT_Entity", eCount := 10000 }
+}
+
+tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
+ { scenarioName := "IotClientScenario", eGrpName := "IotClients", name := omit}
+}
+
+tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
+ {
+ name := "TC_CORE02_POST",
+ fsmName := "TC_CORE02_POST_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ }
+}
+
+tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
+{
+ {
+ name := "IotClientScenario",
+ tcList := {
+ {
+ tcName := "TC_CORE02_POST",
+ tcParamsList := {
+ {startDelay := 1.0},
+ {target := { cpsToReach := 1.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ //{trafficStartFinish := {
+ // {nrOfExecStart := {count := 100, actions := {}}},
+ // {nrOfSuccesses := {count := 100, actions := {}}}
+ // }
+ //}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ }
+}
diff --git a/cfg/performance_californium/coap_basic_params.cfg b/cfg/performance_californium/coap_basic_params.cfg
new file mode 100644
index 0000000..9061b49
--- /dev/null
+++ b/cfg/performance_californium/coap_basic_params.cfg
@@ -0,0 +1,50 @@
+[MODULE_PARAMETERS]
+tsp_EPTF_Var_SyncInterval := 3.0;
+
+tsp_ExecCtrl_manualControl := true;
+
+tsp_EPTF_LwM2M_CoapApplibTransport_enabled := false;
+
+//tsp_EPTF_COAP_LGen_debug := true;
+//tsp_EPTF_COAP_LGen_debugVerbose := true;
+//tsp_EPTF_COAP_LocalTransport_debug := true;
+//tsp_EPTF_LwM2M_LGen_debug := true;
+//tsp_EPTF_LwM2M_LGen_debugVerbose := true;
+//tsp_EPTF_LwM2M_CoapApplibTransport_debug := true;
+//tsp_EPTF_HTTP_Transport_loggingEnable := true;
+//tsp_EPTF_HTTP_loggingEnable := true;
+//tsp_EPTF_LGenBaseDebug := false;
+//tsp_EPTF_LGenBaseDebugTraffic := false;
+
+[LOGGING]
+FileMask := TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_WARNING | TTCN_ACTION #| LOG_ALL #| DEBUG
+ConsoleMask := TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_WARNING #| TTCN_ACTION
+LogFile := "logs/%e.%h-%r.log"
+LogEventTypes := Yes
+SourceInfoFormat := Single
+LogEntityName := Yes
+
+[EXECUTE]
+IOT_App_Functions.TC
+
+[MAIN_CONTROLLER]
+TCPPort := 9777
+KillTimer := 30.0
+
+[TESTPORT_PARAMETERS]
+# 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"
+
+*.IPL4_PCO.debug := "NO"
diff --git a/cfg/performance_californium/coap_basic_templates.cfg b/cfg/performance_californium/coap_basic_templates.cfg
new file mode 100644
index 0000000..6335ce7
--- /dev/null
+++ b/cfg/performance_californium/coap_basic_templates.cfg
@@ -0,0 +1,87 @@
+
+[MODULE_PARAMETERS]
+tsp_EPTF_COAP_LGen_templates :=
+{
+ {
+ id := "t_TC_CORE_01_GET",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := CONFIRMABLE,
+ code := { class:= 0, detail := 1 },
+ message_id := 0
+ },
+ token := ''O,
+ options :=
+ {
+ {
+ uri_path := "test"
+ }
+ },
+ payload := omit
+ }
+ },
+ {
+ id := "t_TC_CORE_02_POST",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := CONFIRMABLE,
+ code := { class := 0, detail := 2 },
+ message_id := 0
+ },
+ token := ''O,
+ options :=
+ {
+ {
+ uri_path := "test"
+ },
+ {
+ content_format := 0
+ }
+ },
+ payload := '010203040506070809'O
+ }
+ },
+ {
+ id := "t_TC_CORE_Server_Content",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := ACKNOWLEDGEMENT,
+ code := { class := 2, detail := 5 },
+ message_id := 0
+ },
+ token := ''O,
+ options :=
+ {
+ {
+ content_format := 0
+ }
+ },
+ payload := '010203040506070809'O
+ }
+ },
+ {
+ id := "t_TC_CORE_Server_Created",
+ msg :=
+ {
+ header :=
+ {
+ version := 1,
+ msg_type := ACKNOWLEDGEMENT,
+ code := { class := 2, detail := 1 },
+ message_id := 0
+ },
+ token := ''O,
+ options := {},
+ payload := omit
+ }
+ }
+}
diff --git a/cfg/stability_leshan/leshan_basic_fsms.cfg b/cfg/stability_leshan/leshan_basic_fsms.cfg
new file mode 100644
index 0000000..8ebe8bf
--- /dev/null
+++ b/cfg/stability_leshan/leshan_basic_fsms.cfg
@@ -0,0 +1,1202 @@
+[MODULE_PARAMETERS]
+tsp_IOT_LGen_FSMs := {
+ {
+/**** FSM Editor layout information. ****
+@state "registered" (772, 546)
+@selfstate "registered" (1254, 548)
+@state "deregistering" (573, 994)
+@state "idle" (73, 592)
+@state "inititated" (568, 188)
+@parallellink "idle" -- "inititated" (88, 580) (134, 542) * (553, 200) (507, 238)
+@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"
+@link "inititated" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+@parallellink "inititated" -- "registered" (575, 200) (594, 233) * (765, 534) (746, 501)
+@link "inititated" -- "registered"
+singleevent "LWM2M Behavior" "LWM2M rsp: 201"
+@parallellink "registered" -- "registered" (811, 546) (852, 546) * (1216, 548) (1176, 548)
+@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"
+@link "registered" -- "registered"
+singleevent "Special behavior for timeout reporting" "refresh"
+@link "registered" -- "registered"
+singleevent "COAP Behavior" "COAP observe: cancel"
+@parallellink "deregistering" -- "idle" (558, 982) (511, 944) * (88, 604) (135, 642)
+@link "deregistering" -- "idle"
+singleevent "LWM2M Behavior" "LWM2M rsp: 202"
+@link "deregistering" -- "idle"
+singleevent "LWM2M Behavior" "LWM2M rsp: 3xxto6xx"
+@link "deregistering" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+@parallellink "registered" -- "idle" (734, 548) (676, 552) * (91, 591) (153, 587)
+@link "registered" -- "idle"
+singleevent "LWM2M Behavior" "LWM2M rsp: 3xxto6xx"
+@link "registered" -- "idle"
+singleevent "COAP Behavior" "COAP transaction: timeout"
+@parallellink "registered" -- "deregistering" (767, 558) (748, 600) * (578, 982) (597, 940)
+@link "registered" -- "deregistering"
+singleevent "EPTF_CLL_LGenBase" "LGenBase: Stop_the_traffic_case!"
+*/
+ name := "LWM2M_SimDevice_FSM",
+ fsmParams := {
+ {
+ stateList := {
+ "idle",
+ "inititated",
+ "registered",
+ "deregistering"
+ }
+ },
+ {
+ timerList := {
+ {
+ name := "userWatchdog",
+ startValue := 80.0
+ },
+ {
+ name := "update",
+ startValue := 25.0
+ },
+ {
+ name := "dereg",
+ startValue := 60.0
+ },
+ {
+ name := "refresh",
+ startValue := 20.0
+ }
+ }
+ },
+ {
+ varList := {
+ // var:localHost
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:localPort
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 11000
+ },
+ scope := TC
+ },
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "172.31.21.18"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 5683
+ },
+ scope := TC
+ }
+ }
+ },
+ {
+ 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 := {
+ 0
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObjectInstance",
+ contextArgs := {
+ stepContextArgs := {
+ 0
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObject",
+ contextArgs := {
+ stepContextArgs := {
+ 1
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObjectInstance",
+ contextArgs := {
+ stepContextArgs := {
+ 1
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObject",
+ contextArgs := {
+ stepContextArgs := {
+ 3
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObjectInstance",
+ contextArgs := {
+ stepContextArgs := {
+ 3
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObject",
+ contextArgs := {
+ stepContextArgs := {
+ 6
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObjectInstance",
+ contextArgs := {
+ stepContextArgs := {
+ 6
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObject",
+ contextArgs := {
+ stepContextArgs := {
+ 3303
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: createObjectInstance",
+ contextArgs := {
+ stepContextArgs := {
+ 3303
+ }
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: logDevice",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT Fsm LWM2M_SimDevice: initResourceValues",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: loadTemplate_byStringId",
+ contextArgs := {
+ charstringValue := "t_LWM2M_SimDevice_FSM_register"
+ }
+ },
+ {
+ stepOrFunctionName := "IOT App LwM2M: setClientNameInRegister",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: send",
+ contextArgs := omit
+ }
+ },
+ 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 := "refresh"
+ }
+ }
+ },
+ 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 := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "deregistering"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ 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_SimDevice_FSM_update"
+ }
+ },
+ {
+ stepOrFunctionName := "LWM2M Applib: send",
+ contextArgs := omit
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "registered"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "EPTF_CLL_LGenBase",
+ iName := "LGenBase: Stop_the_traffic_case!",
+ 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_SimDevice_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 := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "COAP Behavior",
+ iName := "COAP transaction: timeout",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ 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 := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "deregistering"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ },
+ {
+ events2Listen := {
+ events := {
+ {
+ singleEvent := {
+ bName := "Special behavior for timeout reporting",
+ iName := "refresh",
+ eventType := fsm
+ }
+ }
+ }
+ },
+ cellRow := {
+ statedCellRow := {
+ {
+ inState := {
+ state := "registered"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT Fsm LWM2M_SimDevice: updateResourceValues",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "LGenBase: StepFunction_timerStart",
+ contextArgs := {
+ timerName := "refresh"
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "registered"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+/**** 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 := {
+ // var:remoteHost
+ {
+ name := "remoteHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },
+ // var:remotePort
+ {
+ name := "remotePort",
+ initValue := {
+ intVal := 8080
+ },
+ scope := TC
+ },
+ // var:clientName
+ {
+ name := "clientName",
+ initValue := {
+ charstringVal := ""
+ },
+ scope := TC
+ },
+ {
+ name := "localHost",
+ initValue := {
+ charstringVal := "127.0.0.1"
+ },
+ scope := TC
+ },//var:localHost
+ {
+ name := "localPort",
+ initValue := {
+ intVal := 20000
+ },
+ scope := TC
+ }//var:localPort
+ }
+ },
+ {
+ 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 HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "reading"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ 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: openConnection_byVars",
+ contextArgs := {
+ varNames := {
+ "localHost",
+ "localPort",
+ "remoteHost",
+ "remotePort"
+ }
+ }
+ },
+ {
+ 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 HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := fail,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ },
+ {
+ inState := {
+ state := "reading"
+ },
+ cell := {
+ actionList := {
+ {
+ stepOrFunctionName := "IOT App HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ 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 HTTP: closeConnection",
+ contextArgs := omit
+ },
+ {
+ stepOrFunctionName := "IOT App: tcFinished_withVerdict",
+ contextArgs := {
+ verdict := {
+ verdict := pass,
+ reason := ""
+ }
+ }
+ }
+ },
+ nextStateCalculation := omit,
+ nextState := "idle"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/cfg/stability_leshan/leshan_basic_main.cfg b/cfg/stability_leshan/leshan_basic_main.cfg
new file mode 100644
index 0000000..7deb12b
--- /dev/null
+++ b/cfg/stability_leshan/leshan_basic_main.cfg
@@ -0,0 +1,61 @@
+[MODULE_PARAMETERS]
+
+tsp_EPTF_ExecCtrl_LGenPool_Declarators :=
+{
+ {
+ name := "Pool_LWM2M_Clients",
+ lgenPoolItems := { { hostname := "localhost", num := 1, createFunctionName := "RIoT.createLGen" } }
+ }
+}
+
+tsp_EPTF_ExecCtrl_EntityGroup2LGenPool_List :=
+{
+ {
+ eGrpName := "IotClients",
+ lgenPoolName := "Pool_LWM2M_Clients"
+ }
+}
+
+tsp_LGenBase_EntityGrpDeclarators := {
+ { name := "IotClients", eType := "IOT_Entity", eCount := 1000 }
+}
+
+tsp_EPTF_ExecCtrl_Scenario2EntityGroupList := {
+ { scenarioName := "IotClientScenario", eGrpName := "IotClients", name := omit}
+}
+
+tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
+ {
+ name := "TC_LWM2M_SimDevice",
+ fsmName := "LWM2M_SimDevice_FSM",
+ entityType := "IOT_Entity",
+ customEntitySucc := ""
+ }
+}
+
+tsp_LGenBase_TcMgmt_ScenarioDeclarators3 :=
+{
+ {
+ name := "IotClientScenario",
+ tcList := {
+ {
+ tcName := "TC_LWM2M_SimDevice",
+ tcParamsList := {
+ {startDelay := 0.0},
+ {target := { cpsToReach := 50.0 }},
+ {scheduler := {preDefinedName := cs}},
+ {enableEntitiesAtStart := true},
+ {enabledAtStart := true}
+ }
+ }
+ },
+ scParamsList := {
+ {enabled := true}
+ }
+ }
+}
+
+[INCLUDE]
+"leshan_basic_params.cfg"
+"leshan_basic_fsms.cfg"
+"leshan_basic_templates.cfg"
diff --git a/cfg/stability_leshan/leshan_basic_params.cfg b/cfg/stability_leshan/leshan_basic_params.cfg
new file mode 100644
index 0000000..d726336
--- /dev/null
+++ b/cfg/stability_leshan/leshan_basic_params.cfg
@@ -0,0 +1,52 @@
+
+[MODULE_PARAMETERS]
+
+tsp_EPTF_Var_SyncInterval := 3.0;
+
+tsp_ExecCtrl_manualControl := true;
+
+tsp_EPTF_COAP_EXCHANGE_LIFETIME := 20.0;
+
+//tsp_EPTF_COAP_LGen_debug := true;
+//tsp_EPTF_COAP_LGen_debugVerbose := true;
+//tsp_EPTF_COAP_LocalTransport_debug := true;
+//tsp_EPTF_LwM2M_LGen_debug := true;
+//tsp_EPTF_LwM2M_LGen_debugVerbose := true;
+//tsp_EPTF_LwM2M_CoapApplibTransport_debug := true;
+//tsp_EPTF_HTTP_Transport_loggingEnable := true;
+//tsp_EPTF_HTTP_loggingEnable := true;
+//tsp_EPTF_LGenBaseDebug := true;
+//tsp_EPTF_LGenBaseDebugTraffic := true;
+
+[LOGGING]
+FileMask := TTCN_ERROR | TTCN_ACTION | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_WARNING #| LOG_ALL | DEBUG
+ConsoleMask := TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_WARNING #| TTCN_ACTION
+LogFile := "logs/%e.%h-%r.log"
+LogEventTypes := Yes
+SourceInfoFormat := Stack //Single
+LogEntityName := Yes
+
+[EXECUTE]
+IOT_App_Functions.TC
+
+[MAIN_CONTROLLER]
+TCPPort := 9777
+KillTimer := 30.0
+
+[TESTPORT_PARAMETERS]
+# 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"
+
+*.IPL4_PCO.debug := "NO"
diff --git a/cfg/stability_leshan/leshan_basic_templates.cfg b/cfg/stability_leshan/leshan_basic_templates.cfg
new file mode 100644
index 0000000..27c0e5f
--- /dev/null
+++ b/cfg/stability_leshan/leshan_basic_templates.cfg
@@ -0,0 +1,43 @@
+[MODULE_PARAMETERS]
+tsp_EPTF_LwM2M_LGen_templates :=
+{
+ {
+ id := "t_LWM2M_SimDevice_FSM_register",
+ msg :=
+ {
+ Register :=
+ {
+ endpointClientName := "eantwuh_SimDevice",
+ lifetime := 30,
+ version := omit,
+ bindingMode := U,
+ smsNumber := omit,
+ objectsAndObjectInstances := {}
+ }
+ }
+ },
+ {
+ id := "t_LWM2M_SimDevice_FSM_update",
+ msg :=
+ {
+ Update :=
+ {
+ location := {},
+ lifetime := 30,
+ bindingMode := U,
+ smsNumber := omit,
+ objectsAndObjectInstances := {}
+ }
+ }
+ },
+ {
+ id := "t_LWM2M_SimDevice_FSM_deregister",
+ msg :=
+ {
+ Deregister :=
+ {
+ location := {}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Libraries/EPTF_Applib_COAP_CNL113858 b/src/Libraries/EPTF_Applib_COAP_CNL113858
new file mode 160000
index 0000000..14dd69f
--- /dev/null
+++ b/src/Libraries/EPTF_Applib_COAP_CNL113858
@@ -0,0 +1 @@
+Subproject commit 14dd69fc965caf72ead76b591cfae9bc94c628d4
diff --git a/src/Libraries/EPTF_Applib_HTTP_CNL113618 b/src/Libraries/EPTF_Applib_HTTP_CNL113618
new file mode 160000
index 0000000..57b6b2a
--- /dev/null
+++ b/src/Libraries/EPTF_Applib_HTTP_CNL113618
@@ -0,0 +1 @@
+Subproject commit 57b6b2ac52b13d88b9f6c7d1089160cefeea7d49
diff --git a/src/Libraries/EPTF_Applib_LWM2M_CNL113859 b/src/Libraries/EPTF_Applib_LWM2M_CNL113859
new file mode 160000
index 0000000..e8831cf
--- /dev/null
+++ b/src/Libraries/EPTF_Applib_LWM2M_CNL113859
@@ -0,0 +1 @@
+Subproject commit e8831cf49ea4bb19fce0e3b1e4f4488780e30e1c
diff --git a/src/Libraries/EPTF_Applib_MBT_CNL113659 b/src/Libraries/EPTF_Applib_MBT_CNL113659
new file mode 160000
index 0000000..78268e1
--- /dev/null
+++ b/src/Libraries/EPTF_Applib_MBT_CNL113659
@@ -0,0 +1 @@
+Subproject commit 78268e1580f7034bbd1b06550edf8ddf67b52f1f
diff --git a/src/Libraries/EPTF_Applib_MQTT_CNL113860 b/src/Libraries/EPTF_Applib_MQTT_CNL113860
new file mode 160000
index 0000000..e3a308b
--- /dev/null
+++ b/src/Libraries/EPTF_Applib_MQTT_CNL113860
@@ -0,0 +1 @@
+Subproject commit e3a308b81560ea7ddf6cb658b2eb5d962abdaae8
diff --git a/src/Libraries/EPTF_Core_Library_CNL113512 b/src/Libraries/EPTF_Core_Library_CNL113512
new file mode 160000
index 0000000..ca99b03
--- /dev/null
+++ b/src/Libraries/EPTF_Core_Library_CNL113512
@@ -0,0 +1 @@
+Subproject commit ca99b036d100e0d847a796b37ee77652703a86cf
diff --git a/src/Libraries/IoT_Functiontest_Framework b/src/Libraries/IoT_Functiontest_Framework
new file mode 160000
index 0000000..4b7cbeb
--- /dev/null
+++ b/src/Libraries/IoT_Functiontest_Framework
@@ -0,0 +1 @@
+Subproject commit 4b7cbeb80b47d67c105db65eebd448fdea268e76
diff --git a/src/Libraries/IoT_Loadtest_Framework b/src/Libraries/IoT_Loadtest_Framework
new file mode 160000
index 0000000..2a467af
--- /dev/null
+++ b/src/Libraries/IoT_Loadtest_Framework
@@ -0,0 +1 @@
+Subproject commit 2a467afcef8376383b50a2efd4d294ffdaa6ccba
diff --git a/src/Libraries/TCCUsefulFunctions_CNL113472 b/src/Libraries/TCCUsefulFunctions_CNL113472
new file mode 160000
index 0000000..27f76bb
--- /dev/null
+++ b/src/Libraries/TCCUsefulFunctions_CNL113472
@@ -0,0 +1 @@
+Subproject commit 27f76bb794af89f5ed9088317fc2e82247667f74
diff --git a/src/ProtocolModules/COMMON b/src/ProtocolModules/COMMON
new file mode 160000
index 0000000..9a52b8d
--- /dev/null
+++ b/src/ProtocolModules/COMMON
@@ -0,0 +1 @@
+Subproject commit 9a52b8dc609e18c193fbe4619aeb52d6c94e7922
diff --git a/src/ProtocolModules/CoAP_CNL113829 b/src/ProtocolModules/CoAP_CNL113829
new file mode 160000
index 0000000..f51e641
--- /dev/null
+++ b/src/ProtocolModules/CoAP_CNL113829
@@ -0,0 +1 @@
+Subproject commit f51e6415de7582d01bf725efdc5161d3533babd1
diff --git a/src/ProtocolModules/JSON_v07_2006_CNL113676 b/src/ProtocolModules/JSON_v07_2006_CNL113676
new file mode 160000
index 0000000..e35500b
--- /dev/null
+++ b/src/ProtocolModules/JSON_v07_2006_CNL113676
@@ -0,0 +1 @@
+Subproject commit e35500b27b65532cfbe71236bf13292071f8dedd
diff --git a/src/ProtocolModules/MQTT_v3.1.1_CNL113831 b/src/ProtocolModules/MQTT_v3.1.1_CNL113831
new file mode 160000
index 0000000..79bf722
--- /dev/null
+++ b/src/ProtocolModules/MQTT_v3.1.1_CNL113831
@@ -0,0 +1 @@
+Subproject commit 79bf722301ba5e2bb7da9a55de974c1beb1a8f5e
diff --git a/src/ProtocolModules/XTDP_CNL113663 b/src/ProtocolModules/XTDP_CNL113663
new file mode 160000
index 0000000..9461de5
--- /dev/null
+++ b/src/ProtocolModules/XTDP_CNL113663
@@ -0,0 +1 @@
+Subproject commit 9461de5d5b6821481fe1b537b293eda15f59ebf8
diff --git a/src/TestPorts/Common_Components/Abstract_Socket_CNL113384 b/src/TestPorts/Common_Components/Abstract_Socket_CNL113384
new file mode 160000
index 0000000..271fe0a
--- /dev/null
+++ b/src/TestPorts/Common_Components/Abstract_Socket_CNL113384
@@ -0,0 +1 @@
+Subproject commit 271fe0a55de9139b8510063e922174632e4df8f0
diff --git a/src/TestPorts/Common_Components/Socket_API_CNL113686 b/src/TestPorts/Common_Components/Socket_API_CNL113686
new file mode 160000
index 0000000..9e4ac13
--- /dev/null
+++ b/src/TestPorts/Common_Components/Socket_API_CNL113686
@@ -0,0 +1 @@
+Subproject commit 9e4ac13486f084e6eca74b976daf21b0028c44c1
diff --git a/src/TestPorts/HTTPmsg_CNL113312 b/src/TestPorts/HTTPmsg_CNL113312
new file mode 160000
index 0000000..df921b0
--- /dev/null
+++ b/src/TestPorts/HTTPmsg_CNL113312
@@ -0,0 +1 @@
+Subproject commit df921b00fb9ba907825bc8646c36a1eacdcb6ffa
diff --git a/src/TestPorts/IPL4asp_CNL113531 b/src/TestPorts/IPL4asp_CNL113531
new file mode 160000
index 0000000..aebef02
--- /dev/null
+++ b/src/TestPorts/IPL4asp_CNL113531
@@ -0,0 +1 @@
+Subproject commit aebef02419af81a81434738248d67981e7398a26
diff --git a/src/TestPorts/TELNETasp_CNL113320 b/src/TestPorts/TELNETasp_CNL113320
new file mode 160000
index 0000000..defacd4
--- /dev/null
+++ b/src/TestPorts/TELNETasp_CNL113320
@@ -0,0 +1 @@
+Subproject commit defacd420c5d267d79c26b989859edf0a96fb046