Internet of Things Interactions’ Simulator
IoTIS (initially developed under the name of MobileJINQS), is an open-source library for building simulations encompassing constraints of IoT applications. IoTIS is an extension of JINQS, a Java simulation library for multiclass queueing networks, developed by Tony Field in the Imperial College London. JINQS provides a suite of primitives that allow developers to rapidly build simulations for a wide range of QNMs.
IoTIS retains the generic model specificationpower of JINQS, while it provides additional features of IoT systems such as: (i) lifetime limitation for each message entering a queue; (ii) intermittently available (on-off) queue server or server with variable service rate over time to represent the mobile IoT devices behavior across multiple layers; (iii) probabilistic dropping based on the message importance or the IoT devices intermitent connectivity; (iv) message prioritization depending the message importance, the message size and the available network bandwitch; and (iv) arrival rates with variable message rate over time to represent real-traces.
The above individual queueing models are leveraged to develop performance modeling patterns. These patterns can be utilized from IoT system designers to model the performance of their applications. Such applications may employ different middleware protocols following different interaction paradigms such as Client/Server, Publish/Subscribe and Data Streaming. Thus, an application designer is able to use IoTIS to define the QoS semantics (lifetime, ON/OFF connectivity, IoT protocol, etc) and requirements of the end-IoT devices. Then, IoTIS composes the corresponding performance pattern that simulates its perfomance.