Welcome to FogExplorer, an interactive simulation tool for the Quality of Service (QoS) and cost evaluation of fog-based IoT applications during the design phase.
Designing an application for the fog is complex, as developers typically have to consider the application architecture, the runtime infrastructure and the deployment mapping from application modules to infrastructure machines. FogExplorer simulates how changes to any of these three aspects affects QoS and cost metrics.
The FogExplorer UI comprises three areas. In the top left, you see and explore the current infrastructure model (machines and their interconnections). The bottom left contains the current application model (application modules and inter-module data streams). The right hand side shows metrics and properties, depending on the selections made in any of the model graphs.
To place an application module on an infrastructure machine, simply select a module first and then click on any machine. When all machines are placed, metrics are calculated. If a placement is invalid, e.g., a missing infrastructure connection disrupts data streams or a resource has insufficient memory, FogExplorer will highlight the issue.
In the pre-loaded scenario, a company wishes to control the cooling in one of their buildings based on sensor readings to reduce energy cost. Multiple possible designs for such a smart building application exist, so the company needs to understand effects on QoS and cost to decide which design should be implemented.
The main concern of the scenario is selecting a suitable runtime infrastructure for the IoT application controlling the cooling. Two possible runtime infrastructures shall be evaluated: decentralized and centralized. In the decentralized setup, edge devices exchange information directly, whereas they only communicate with a (central) server that also does most of the processing in the centralized setup.
By using the buttons in the top right, the centralized and decentralized model can be loaded - we have already placed the application modules on the infrastructure machines.