Graphviz определенно подходит для того, что вы просите.На данный момент основной сайт graphviz.org недоступен, но кто-то любезно отразил примеры галереи (с источником) на Flickr.
http://www.flickr.com/photos/kentbye/sets/72157601523153827/
Насколько мне известновы не можете создавать «шаблоны», но вы можете сделать что-то вроде этого для кругов:
node[shape=circle, color=white, style=solid];
node1;node2;node3;
Это определит узел (думайте о нем как о «состоянии» при оценке файла построчно -линия), а затем вы можете определить узлы окружности в этом «состоянии» перед переключением на свои прямоугольники.
В зависимости от вашей платформы, вы также можете импортировать файл .dot и настроить его для публикации.,Существует также большое количество генераторов и преобразователей для этого формата.
Обратите внимание, что если вы работаете на Mac OS X 10.7 "Lion", я не смог найти или собрать рабочую версию Graphviz.еще.В таком случае я бы сказал, что это еще не соответствует вашим потребностям.