The fourth industrial revolution heralds a paradigm shift in how people, processes, things, data and networks communicate and connect with each other. Conventional computing infrastructures are struggling to satisfy dramatic growth in demand from a deluge of connected heterogeneous end points located at the edge of networks while, at the same time, meeting quality of service levels. The complexity of computing at the edge makes it increasingly difficult for infrastructure providers to plan for and provision resources to meet this demand. While simulation frameworks are used extensively in the modelling of cloud computing environments in order to test and validate technical solutions, they are at a nascent stage of development and adoption for fog and edge computing. This paper provides an overview of challenges posed by fog and edge computing in relation to simulation.
It is commonly accepted that society is on the brink of what is termed the fourth industrial revolution (4IR), whereby cyber-physical systems will disrupt and transform entire industries and associated systems of production, management, and governance . Authors in  posit that this revolution differs from the previous three revolutions because it is not based on breakthroughs in technology but rather communication and connectivity. At its core, 4IR is not a new concept and is couched in the concept of a networked society whose social structures and activities, to a greater or lesser extent, are organised around digital information networks that connect people, processes, things, data and networks . As such, 4IR, Industry 4.0, and the Internet of Things (IoT) are often discussed in juxtaposition. 4IR is disruptive because it has the potential to radically redefine industrial performance trajectories and how, who, and where value is created, delivered and captured. Current exuberance about 4IR, Industry 4.0 and IoT is driven by both the advances and widespread adoption of a number of underlying technologies namely cloud computing, ubiquitous sensing, and mobile technologies, connected across a cloud-to-things (C2T) continuum. In conventional cloud computing, processing and storage typically takes place within the boundaries of a cloud and its underlying infrastructure. It is not designed to cater for the scale of geographically dispersed, heterogeneous end points and low latency required for many 4IR, Industry 4.0 and IoT use cases. As such, conventional paradigms of computing need to be rethought to cater for the scale of data processing and storage needed to support the requirements of 4IR, Industry 4.0 and IoT to function in a distributed, coordinated way at minimum latency.
Figure 1, Cloud, fog and edge domains (based on ).
While there are a number of research surveys and articles exploring the challenges of fog computing, edge computing, simulation frameworks for cloud computing and IoT data analytics, 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 increasing ubiquity of mobile technologies and low-cost connected sensors has resulted in a deluge of computational and networking end points at several orders of magnitude than previous decades. Conventional computing infrastructures, including cloud computing, leverage geographical centralised data centres using relatively homogeneous commoditized hardware. Such infrastructures were not designed to cater for the processing, storage and data generated by billions of distributed end points operating in often dynamic environments with intermittent network connectivity. Unsurprisingly, service providers have faced unprecedented challenges planning and managing for greater demands while meeting minimum service levels. Fog computing has emerged to complement cloud computing. As discussed earlier, fog computing is located between smart end-devices at the edge of networks and traditional cloud or data centres . It plays an important role in reducing network congestion and facilitating location awareness, mobility support, real-time interactions, scalability and interoperability . In contrast, edge computing, in its purest sense, defined by the exclusion of cloud and fog, and is limited to a small number of peripheral network layers . Both fog and edge computing present significant challenges for service providers and researchers including application architecture design and deployment, infrastructure and network management, mobility, resource management, and scalability.
According to , in order to enable real-time analytics in fog and edge computing at the software-level, we must be concerned about different resource management and scheduling techniques including resource distribution, load balancing, migration, and consolidation. At the physical layer, fog and edge systems have many additional requirements that need to be addressed, such as network connectivity and capacity. This scale and complexity of C2T systems makes the use of realistic prototypes unfeasible. Similarly, commercial service providers typically do not give the necessary infrastructure access or control to third parties to test aforementioned techniques  and constructing a test bed with a high degree of verisimilitude is both complex, costly, resource and time-intensive. To overcome these issues, simulation frameworks provide a relatively low cost means to understand and evaluate fog and edge systems and eliminate ineffective policies and strategies .
Simulation has been used extensively to simulate traditional network infrastructures, such as the mainstream Wireless Sensor Networks (WSNs). Some examples of these simulators are NS-2, TOSSIM, EmStar, OMNeT++, J-Sim, ATEMU, and Avrora. These simulators are universally used to develop and test network protocols, especially in the initial design stage. They were not designed with fog and edge computing environments in mind; as such, they are outside the scope of this paper. We redirect the reader to a detailed survey by  for further information on these simulators.
While there are a wide range of simulators for cloud computing, there are relatively few that can be used to simulate fog and edge computing scenarios. Next, we briefly describe a selection of prominent simulators used for fog and edge modelling and compare them in qualitative terms.
The emergence of the fourth industrial revolution and the Internet of Things is quickly becoming a reality. For the developer and research community, the availability of a means to test, validate, compare and reproduce technical proposals efficiently and cost-effectively is central to commercialisation and the scientific method. Like cloud computing, public clouds and test beds do not provide sufficient control of resources and infrastructure to validate technical solutions for fog and edge computing at the appropriate level of granularity. While modelling and simulation can address these issues, early attempts at simulation frameworks have significant gaps in their capability to model the complexity and specific requirements of fog and edge computing scenarios at the scale facing key stakeholders in the chain of service provision today, let alone the future.
Indeed, many existing fog and edge computing simulators derive from cloud computing simulation frameworks and may be inflected towards the cloud layer rather than the nuances of a multi-layered C2T continuum. This review of existing simulation frameworks and challenges in modelling and simulating fog and edge computing use cases provides a landscape of existing options but also a roadmap for future research in both fog and edge computing and the design of associated simulation frameworks.
The article has been published on 10.3390/fi11030055.