Files
eden-sim/README.md
2025-12-01 13:50:33 +01:00

70 lines
2.5 KiB
Markdown

#Eden-sim
## Description
This repository contains a ns-3 library implementation to simulate embedded TSN networks. In addition to the implementation, this library comes with examples and non-regression tests for the implemented TSN mechanisms. This library is a result of the EDEN2 project and is **still under development**.
## Prerequisites
- A ns-3 3.40 installation. See [ns-3 GitLab](https://gitlab.com/nsnam/ns-3-dev).
- Clone the Git repository and checkout `ns-3.40`
- Note that ns-3 doesn't need to be build at this step as this will be done when adding the simulator add-ons (cf. next subsection).
## Installation
```console
git clone https://sahara.irt-saintexupery.com/embedded-systems/eden-sim.git
cp -r eden-sim/contrib/* <path to your ns-3 installation>/contrib/
cd <path to your ns-3 installation>
./ns3 clean
./ns3 configure --enable-tests --enable-examples
./ns3 build
```
## Usage
To test the installation :
```console
cd <path to your ns-3 installation>
./test.py
```
or to run a specific test suite (e.g ethernet) or test example (e.g. ethernet-point2point-withPropagationDelay) :
```console
cd <path to your ns-3 installation>
./test.py --list
./test.py --suite ethernet --text test-logs
./test.py --example ethernet-point2point-withPropagationDelay
```
To run an example (e.g. "ethernet-point2point.cc") :
```console
cd <path to your ns-3 installation>
mkdir output
cp contrib/ethernet/examples/ethernet-point2point.cc scratch/
./ns3 run scratch/ethernet-point2point.cc --cwd output/
```
Note that ns-3 examples can be run with "./ns3 run \<example name\>" but we recommand to use the above method in order to modify/experiment with the example.
To run a simulation script you have written :
```console
cd <path to your ns-3 installation>
mkdir output
./ns3 run scratch/<your simulation script> --cwd output/
```
To run a simulation script with gdb :
```console
cd <path to your ns-3 installation>
mkdir output
./ns3 run scratch/<your simulation script> --cwd output/ --command-template="gdb --args %s"
```
## Documentation
Before attempting to understand this library, we recommend reading the [ns-3 documentation](https://www.nsnam.org/releases/ns-3-40/documentation/). A very good entry point is the [ns-3 tutorial](https://www.nsnam.org/docs/release/3.40/tutorial/html/index.html).
Next, a set of commented simulation scripts illustrating the use of the libraries can be found at the following paths :
- contrib/ethernet/examples/
- contrib/traffic-generator/examples/
- contrib/tsn/examples/
## Contact
Contact: embedded-systems@irt-saintexupery.com