Exploring a hybrid approach to generating maintainable diagrams with PUML and Graphviz