graphviz, omnigraffle and the dot-language
Graphviz is open source
graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks.
It is a less known feature of OmniGraffle that it can process dot-files. It uses the graphviz-engine and combines it with a excellent user interface.