# The Plan/Roadmap for DOFS
> Plans turn fear into focus, risk into reach, and steps into a path.

This plan has been modified in the course of the development of DOFS.
And that was also in the plan itself: you plan at every step.  See the
end for the changes made to the plan.

## The roadmap
This is a rough summary of what I did and what I plan to do.

### [DONE] Core single instance simulator features
Implement an event driven simulator and logging to console and output
features.

### [DONE] Core networking components
Implement links, switches, and NICs, and leave enough but simple
interfaces for the hosts and the simulator orchestration system to
interact with them.

### [DONE] Core hosts with examples
Simple publisher/subscriber model with simple policies as examples to
how to build hosts in DOFS

### [TODO] Topology generation
Define how topology factories should work, and implement a concrete
fat-tree example.

### [TODO] Configuration of simulations using YAML
Define the format of configuration.

### [TODO] Multithreaded simulation orchestrator
Implement a system that can spin up multiple simulations with
different configurations to allow parallel and queued processing.

### [TODO] Configuration and results manager
Using databases to store configurations and simulation results and
access them in a git-like fashion.
