COGRE is the COnnected GRaph Editor, by EricLudlam.
From the web page:
COGRE is pronounced similarly to cougar. It is a base library for editing and manipulating connected graphs. Additional tools will be available using COGRE for managing diagrams for UML flavors, such as a class hierarchy diagrams.
The short term goal of COGRE is just to be able to create and manipulate a few boxes linked together with lines in an Emacs buffer (or in an external graphical editor, if an appropriate solution can be found.)
The long term goal of COGRE is to have additional libraries based on the COGRE engine for managing Class Hierarchies. Unlike some tools, the hierarchy would be autogenerated using Semantic to reverse-engineer your source-code. If you modify the diagram, the magic of EIEIO will allow the specialized diagram write out new source code using Semantic’s language overload functions and token reversing mechanism, replacing the old code with the new definition, or adding in new classes as needed.
This pie in the sky will not be possible without help. Consider creating and maintaining a language definition for Semantic, or helping define the proper blocks and link routing code for COGRE, the base graph editor. If coding is not your thing, consider making a spiffy graphic cougar for a logo, testing, or helping to document COGRE.
For quick and dirty diagrams for in your source code, you might also like to take a look at ArtistMode, which comes as part of Emacs