Currently there are more than 5600 RFCs that have been published by the IETF. When you have to understand a particular topic, e.g., TCP you usually will start with RFC 793 which specifies the transport layer protocol. But this is not enough. To get the full and up-to-date information about TCP you also have to read RFC 1122 and 3168 that update the original RFC. Further on, RFC 1122 is updated by RFC 4379, which is updated by RFC 5462. So you see, the RFCs have several interdependencies. Several of these interpendencies are apparent as each RFC defines which other RFCs are either updated or deprecated by this document while others are a little bit more hidden.
We developed a tool RFC-Browser to create a dependency graph where the edges represent updates or deprecation. The prototype works well, but we like to have an interactive tool to browse the graph resp. show particular subgraphs given a set of conditions.
The graphs are currently created using the graphviz tools which introduces some problems. While these open source tools are very nice, in large graphs edges are lost and have to be inserted manually. Further on, the provided layouts are not really fitting to visualize the RFC dependencies in a historical context.
- Get familiar with the prototype implementation
- Add feature to visualize all references (not just updates and deprecations)
- Develop interactive tool
- Write a layout engine that is suited for our application scenario