Project for the experimental comparison of multiple implementations of the SLCS logic in FCPP.
All commands below are assumed to be issued from the cloned git repository folder. For any issues with reproducing the experiments, please contact Giorgio Audrito.
- FCPP main website: https://fcpp.github.io.
- FCPP documentation: http://fcpp-doc.surge.sh.
- FCPP presentation paper: http://giorgio.audrito.info/static/fcpp.pdf.
- FCPP sources: https://github.com/fcpp/fcpp.
The next sections contain the setup instructions based on the CMake build system for the various supported OSs and virtual containers. Jump to the section dedicated to your system of choice and ignore the others.
Pre-requisites:
At this point, run "MSYS2 MinGW x64" from the start menu; a terminal will appear. Run the following commands:
pacman -Syu
After updating packages, the terminal will close. Open it again, and then type:
pacman -Sy --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-make git
The build system should now be available from the "MSYS2 MinGW x64" terminal.
Pre-requisites:
- Xorg-dev package (X11)
- G++ 9 (or higher)
- CMake 3.18 (or higher)
- Asymptote (for building the plots)
- Doxygen (for building the documentation)
To install these packages in Ubuntu, type the following command:
sudo apt-get install xorg-dev g++ cmake asymptote doxygen
In Fedora, the xorg-dev
package is not available. Instead, install the packages:
libX11-devel libXinerama-devel.x86_6 libXcursor-devel.x86_64 libXi-devel.x86_64 libXrandr-devel.x86_64 mesa-libGL-devel.x86_64
Pre-requisites:
- Xcode Command Line Tools
- CMake 3.18 (or higher)
- Asymptote (for building the plots)
- Doxygen (for building the documentation)
To install them, assuming you have the brew package manager, type the following commands:
xcode-select --install
brew install cmake asymptote doxygen
Executing a graphical simulation will open a window displaying the simulation scenario, initially still: you can start running the simulation by pressing P
(current simulated time is displayed in the bottom-left corner). While the simulation is running, network statistics may be periodically printed in the console, and be possibly aggregated in form of an Asymptote plot at simulation end. You can interact with the simulation through the following keys:
Esc
to end the simulationP
to stop/resumeO
/I
to speed-up/slow-down simulated timeL
to show/hide connection links between nodesG
to show/hide the grid on the reference plane and node pinsM
enables/disables the marker for selecting nodesleft-click
on a selected node to open a window with node detailsC
resets the camera to the starting positionQ
,W
,E
,A
,S
,D
to move the simulation area along orthogonal axesright-click
+mouse drag
to rotate the cameramouse scroll
for zooming in and outleft-shift
added to the camera commands above for precision control- any other key will show/hide a legenda displaying this list
Hovering on a node will also display its UID in the top-left corner.
TODO