## Appendix A VirtFogSim: Supported Dual-Mode User Interfaces
### The VirtFogSimGUI Interface  
The GUI interface is open by entering the command: VirtFogSimGUI in the command line of a running MATLAB session. The screen-shoot of the displayed graphic window is reported in Figure 12.  
This interface is supported by the MATLAB code: _VirtFogSim_Run_, which acts as the main script of the overall simulator.  
An examination of Figure 12 points out that the GUI interface of the simulator supports seven pre-built functions (namely, _Help_, _Algorithm_, _Archived DAG_, _Edit DAG_, _Save DAG_, _Run_, and _Close_ ), which may be activated by the user by clicking on the corresponding buttons. Table 12 lists these native GUI functions and points out their meaning and associated actions.  
\begin{table}
\begin{tabular}{p{113.8 pt} p{113.8 pt}} \hline \hline
**Available GUI Functions** & **Associated Actions** \\ \hline \multirow{2}{*}{_Help_} & Allows access to the User Guide of the simulator by opening a dedicated PDF file. \\ \hline \multirow{2}{*}{_Algorithm_} & Allows selecting any subset of the natively-supported optimization algorithms by clicking the corresponding labels. \\ \hline \multirow{2}{*}{_Archived DAG_} & Allows retrieving an already archived DAG with the corresponding simulation setup, in order to run it. \\ \hline \multirow{2}{*}{_Edit DAG_} & Allows editing a new DAG and/or a new simulation setup by compiling the list of input parameters of Table 11. \\ \hline \multirow{2}{*}{_Save DAG_} & Allows saving the last edit of DAG and assigning it an identification label. \\ \hline \multirow{2}{*}{_Run_} & Allows running the selected optimization algorithm under the retrieved/edit DAG and associated simulation setup. \\ \hline \multirow{2}{*}{_Close_} & Shuts down the current working session of the _VirtFogSim_ simulator and closes all the figure windows. \\ \hline \hline \end{tabular}
\end{table}
Table 12: A synoptic overview of the functionalities offered to the user by the GUI interface.  
From the user perspective, a typical _VirtFogGUI_-enabled working session should proceed according to the following ordered list of steps:  
1. enter _VirtFogGUI_ at the MATLAB prompt, in order to open the GUI interface;
2. click the _Help_ button, in order to access the PDF version of the User Guide. This step is optional;
3. select any desired subset of the supported optimization procedures by clicking the corresponding labels in the _Algorithm_ window. This step is mandatory;
4. retrieve an already stored DAG in \({}^{*}.\)mat format and the associated list of input parameters by accessing the _Archived DAG_. Alternatively, build a new DAG and set the desired input parameters of Table A by clicking the _Edit DAG_ button. This step is mandatory;
5. store in the _Archived DAG_ database the last edit of DAG in \({}^{*}.\)mat format by clicking the _Save DAG_ button. An identification label for the _Save DAG_ is required. This step is optional;
6. click the _Run_ button, in order to start the execution of the selected algorithms under the (retrieved or edit) selected DAG. At the end of the execution, the attained results are returned in tabular form, and/or as colored time-plots, and/or as colored bar plots, and/or as colored DAG maps (see Section 5 for additional details about the graphic rendering capabilities and related options supported by the simulator);
7. after finishing the current working session of the simulator, click the _Close_ button, in order to shut down the _VirtFogSimGUI_ interface.