# Effects of Transport Network Slicing on 5G Applications
## 4 The SimTalk Architecture  
The purpose of SimTalk [21], an extended feature based on the framework of IoTalkTM, is to develop a time-driven simulation that can automatically translate simulation codes into software codes running on physical IoT devices and vice versa. SimTalk is available in both simulation and emulation modes. In the simulation mode, the developer should specify the overall packet interval contributed by a group of devices; that is, a single probability distribution drives the total traffic generated by \(n\) devices (e.g., fixed, exponential, or gamma). In the emulation mode, the developer should specify the packet interval for a single device as those of its real counterparts; that is, the total traffic generated by \(n\) devices with the same packet interval is driven by \(n\) probability distributions, one per device. Therefore, SimTalk emulates the application not only in behavior but also in traffic patterns. The IoTalk application consists of various IoT devices and an IoTtalk service that manipulates these devices through wired or wireless technologies, including WiFi, LTE, NB-IoT, RoLa, and more. To facilitate the development of IoT applications, the IoTalk server provides an IoTalk GUI (Figure 5g) and a SimTalk GUI (Figure 5k) that allow the developers to create configurations of IoTalk services and associated device models. Without actual coding, the IoTalk server can provision the IoTalk application from those configurations; that is, the IoTalk server produces software components for IoT devices from the device models' configurations, deploys the produced software components on the physical IoT devices or device simulators/emulators, creates instances of the IoTalk services from the IoTalk service's configurations, and runs all active IoTalk service instances accordingly. In the IoTalk platform, IoT devices with the same properties are modeled by a device model--an abstraction of the physical device. Two forms of device model, the input and output device models, accommodate one or more Input Device Features (IDFs) and Output Device Features (ODFs), respectively. For example, an input device model for a weather station may include two IDFs-- one for the humidity sensor and the other for  
Figure 4: The MapTalk interface allows users to observe all sensor data through Google Maps. For example, users can view the pH values of cespools or the locations of the NCTU farms by merely clicking the “pH” button (**1**) or the “Farm” button (**2**). (**a**) The pH values of cespools. (**b**) The NCTU farms. the luminance sensor; an output device model for a farming actuator may consist of an ODF for the sprayer actuator. According to the device models' configuration, the AutoGen Subsystem (Figure 5i) automatically derives the software components of IoT devices, i.e., the Sensor and Actuator Application (SA) and the Device Application (DA). The SA implements device functionalities such as the PM2.5 algorithm or the light intensity and color circuit software. The DA processes communications with the IoTtalk server. These can either be automatically generated (AG) (Figure 5a,b) or manually created (Figure 5c). The SA and DA can be bound to a physical device or a device emulator/simulator. An input device's emulator/simulator is a traffic generator that implements the device behavior through two probability distributions, one for the value generation and the other for the packet interval generation. The details for the output device's emulator/simulator are omitted since this article focuses on the traffic generation feature. The IoTtalk service can be represented by a graph detailing the control and data dependencies among IoT devices. For example, a smart farm service may consist of a sequence of actions: (1) receiving luminance and humidity data from the sensors of the weather stations, (2) storing the received data in the IoTtalk database (DB; Figure 5f) for data analysis and visualization, and (3) sending instructions to the relevant light and sprayer actuators under certain conditions.