This project is part of a university group assignment focused on developing a simulation of a drone-based network.
The Simulation Controller (SC) is responsible for managing the state and behavior of the drones, clients, and hosts within the simulation. It ensures that the drones operate as intended, facilitating communication between network components while responding dynamically to changes in the environment.
There are two main parts:
- Graphical User Interface (GUI) – Provide an interactive visual representation of the simulation. Developed with
eguiandeframe. Act as a wrapper for theSC. - Simulation Controller (SC) – It's the real controller of the simulation and implements all the feature described in the protocol plus the ones that our group has implemented to interact with the hosts.
- Sends DroneCommands to the drone.
- Sends HostCommands to the hosts.
- Keeps the integrity of the network during the simulation.
- Provides an interface to simplify user interaction.
- Receives and manage all the events from the nodes (drones and hosts)
- Programming Language: [Rust]
- Libraries & Frameworks: [egui, eframe, egraph]
- Clone the repository:
git clone https://github.com/Rustbusters/simulation-controller.git
- Install dependencies:
cargo update
- Run the simulation:
To run the simulation you need the network initializer as this projects is created a lib - Run the tests:
cargo test
- University of Trento. Bachelor degree in Computer Science
- Course: Advanced programming hosted by Marco Patrignani.