# Simulating Fog and Edge Computing Scenarios: An Overview and Research Challenges
## 1 Introduction
Like cloud computing, researchers and developers seeking to test resource placement and management strategies for fog and edge computing face several significant challenges. Firstly, commercial service providers typically do not give the necessary infrastructure access or control to third parties [10]. Secondly, establishing a test bed with a high degree of verisimilitude is both complex, costly, resource and time-intensive. Thirdly, from a research perspective, the use of commercial third party services and proprietary test beds limit the extent to which experiments can be validated and results reproduced. Cloud computing researchers have overcome these issues through a range of modelling techniques. Petri Nets [11], Markov Chains [12], Fault Tree (FT), Reliability Graphs (RG) and Reliability Block Diagrams (RBD) [13] have all been used as analytical modelling techniques in distributed system research. A _Petri Net_ is a mathematical modelling language that is commonly used to describe dynamic and parallel system behaviour in order to analyse the performance and availability metrics of systems capable of being clearly described using mathematical definitions [14]. In _Markov chains_, system models are defined as a sequence of stochastic events that can be used for estimating system behaviour using complex probability distributions. The increasing scale, complexity and heterogeneity of C2T systems renders the use of traditional mathematical modelling techniques difficult to utilise, leading to adoption of other approaches such as simulation. More recently, the use of simulation frameworks [15; 16] has come to greater prominence in cloud computing research. Service configuration and resource placement and management strategies can be simulated prior to infrastructure deployment, performance can be optimised, technical and commercial hypotheses tested, and research results validated and reproduced in a low cost, low risk and often time-sensitive manner [10]. Research on fog and edge computing is still at a relatively early stage of development. Unsurprisingly, research on simulation frameworks to support fog and edge computing and the multitude of use cases that 4 IR and IoT represent is lagging. While there are several research surveys and articles exploring the challenges of fog computing (e.g., [17; 18]), edge computing (e.g., [19; 20]), simulation frameworks for cloud computing (e.g., [15; 16]) and IoT data analytics (e.g., [21]), there is a paucity of publications addressing the challenges in modelling and simulating fog and edge computing specifically. This paper complements existing works on fog and edge computing by presenting the challenges and design considerations for simulation frameworks of fog and edge infrastructures. Our aim is to support both computing and simulation researchers entering this field in determining the requirements of the simulation platform that they would need to develop or employ to evaluate their technical proposals. The remainder of this paper is organised as follows. The next section discusses challenges of fog and edge computing modelling and simulation. This is followed by a review of existing simulation frameworks for fog and edge computing and a gap analysis against support for four key criteria--(a) infrastructure level modelling, (b) application-level modelling, (c) resource management modelling, (d) mobility, and (e) scalability. Our analysis suggest significant gaps in relation to requirements to model mobility and scalability, after which the article concludes.