Скоро (как получится) надеюсь выложить своё решение по этой тематике (и для русского и английского языков).
Собственно схемку самого движка давно сделал, застрял с компонентом визуализации графов, что не является необходимым условием.

...Для красоты - рюшечки, бантики.