## 2 State of the Art
### A Note on IoT Network Modelling  
As a number of techniques exist for IoT network modelling this section acts as a brief discussion on the objectives of each alternate solution and highlights the differences between these techniques and that which is proposed in this article. A survey of modelling techniques is undertaken [18] detailing the type and scope of modelling available for IoT networks. The models range from modelling node components [19; 20; 21], to channel modelling [22], to whole system modelling [23]. The node based techniques aim to model all components to present a layer of abstraction from particular architecture or operating systems upon which applications can be designed. The modelling approach for the entire system presented in the survey focuses again on component analysis and how each component works together without eluding to how different components can effect the overall network performance. A number of techniques use Markov chains to model the link and route behaviour within a network [24; 25] with a focus on network performance. [PERSON] et al. presents a fine grained model of links using a multi-level approach to model both long and short term dynamics on the links. Empirical data is used when building the model and the approach proves effective for modelling packet reception rates over a range of link factors including channel fading and packet frequency. [PERSON] and [PERSON] [25] present a network model based on Markov chains. The approach is agnostic of the routing protocol used but assumes a consistent protocol throughout. The system consists of three individual components: the sensor model, the network model and the interference model. The network model is based on a queueing network where each sensor holds a buffer of packets to be forwarded. The model does not consider the possibility of dropped packets focusing solely on energy cost and time delay through each queue. The model proves effective at determining time delay of packets through the network. However, as reliability is considered a vital evaluation metric, the proposed model cannot be used for direct comparison of communication solutions. Analysis and modelling of Media Access Control (MAC) and routing protocol interaction in IoT networks is also achieved using Markov chains [26; 27]. The results from these papers focus on further advising of the best routing parameters to achieve the best reliability and latency in the network. The experiments and analysis are based on the DODAG network structure also used in the RPL protocol. The analysis performed in these papers are quite specific to this particular network structure and cannot be applied to a wider range of protocol. A fundamental difference exists between the modelling suggested in the literature and the modelling undertaken in this article. The literature describes a number of techniques to determine a generic model of an IoT network usually based on component, link characteristics and modelling forwarding mechanics. The models presented are useful for higher level application development or even improving simulation precision for IoT networks. The models presented focus on modellingthe mechanics within a network using particular assumptions about MAC and routing protocol or network structure. This article describes a method to determine a performance model for a range of communication solutions based on the physical characteristics of the network. The focus is placed on modelling how a solution performs as a whole in a network, rather than modelling the mechanics exhibited within the network. The benefit of which is to directly compare otherwise disparate solutions within the same network conditions. This can directly advise on a communications solution for a deployment without the need for extensive testing or network specific knowledge. While some of the presented models do perform experiments, all models presented in the literature are based on theoretical reasoning where as the models presented in this article are derived explicitly from simulated testing data.