UML drawing engine