The long term goal of this project is to build a tool which can be used to help researchers and students perform all the tasks in a network simulation workflow:
- layout the network topology: describe the network nodes and their physical-layer connectivity
- add capabilities to nodes:
- mobility models which describe node movements over time.
- ipv4/udp/tcp stack
- MAC bridging stack
- traffic generation and reception applications
- routing daemons
- configure each object in the system to setup its attributes to various values (set PHY tx level of node 4, etc.)
- setup trace events you want to log
- run simulation
- analyse trace logs:
- simple text-based analysis of packet traces
- simple pcap-based analysis of packet traces
- simple graphical analysis: ability to compute averages, distributions of observed variables, etc.
Some tools already exist which attempt to handle some or all of the above steps for some other network simulators:
- omnet++ has an eclipse-based gui
- opnet is a commercial tool with a free-for-research version which has a strong gui
Since building such a large tool is really a long-term project, the student should focus on identifying parts of the above workflow for which he wants to provide a gui. Special care should be put to:
- figure out how the student's gui will fit in the long-term gui. i.e., ideally, the student would be able to describe what the long-term gui should look like and show how his component will fit in later.
- figure out how the student's gui will fit in today's workflow.