Итак, хотя я не могу дать вам рабочую демонстрацию, поскольку у меня просто нет времени, чтобы выяснить все связи, это то, что я предлагаю;
На самом деле вам нужна сложная блок-схема, основанная на необработанных данных из вашей системы. Сделать так, чтобы он создавал структуру, подобную вашему примеру, невозможно. Соединения, которые могут быть сделаны, слишком сложны для того, чтобы предоставить ограниченные данные, которые вы предоставляете ...
Однако возможно создание html-структуры (сетки), которая может содержать все элементы и отношения (строки).
Сами строки достаточно просты вот плагин , который позволит вам устанавливать реальные соединения не менее чем с 3 популярными библиотеками JS (jQuery, Mootools, YUI3). Оттуда вы можете построить необходимые структуры между узлами HTML.
Я бы сохранил узлы в таблице, вы можете назначить положение по умолчанию в 2-мерной сетке оттуда на основе уровня, который они имеют, но оттуда потребуется некоторый человеческий вклад, возможно, система перетаскивания, которая перемещает узлы на разных позициях в сетке, делайте грубые действия.
Это определенно возможно, но много работы. Проблема в том, что вы пытаетесь делать вещи, которые почти соответствуют функциональности Visio.
Если вы не справляетесь с этой задачей, я предлагаю вам по-другому взглянуть на отношения. Что-то вроде @Jedidiah сделало хорошее начало.
Если кто-то еще хочет что-то сделать с этим плагином / идеей, я желаю им удачи, у меня просто нет времени сейчас, извините.