Skip to content

Latest commit

 

History

History
44 lines (37 loc) · 1.71 KB

README.md

File metadata and controls

44 lines (37 loc) · 1.71 KB

nxUML

Purpose: nxUML is a Python package for user driven

easily tunable parsing source codes into unified representation of collaborations between classes based on UML standard. for further analysis, as well as automated creating and visualization of UML diagrams.

Currently only C++ sources are supported. It can be easily used as an extension to Doxygen for tunable generating collaboration diagrams.

Features:

  • easily tunable parsing of C++ sources
  • extended mapping of classes collaborations into networkx.MultiGraph object
  • tunable visualization of class diagrams with Graphviz

TODO list:

  • urgent

    • avoid double-parsing in C++ due to relying on CppHeaderParser with poor implementation of parsing facilities
    • extended support of qualifiers and templated classes
    • support of Markdown and XML in Doxy-comments
    • export to UFX and XMI
  • conceptual

    • complete system of classes for representation of parsed objects that utilizes UML standard
    • unified representation of Artifacts and Classifiers in UML pool
    • parser for Python codes, as well as UFX and XMI files
    • efficient caching of parsed data
    • broad support for middleware classes which can intervene at various stages of source code processing by parsers and carry out custom functions, dispatcher system for parsers
    • a diverse and deep serialization system which can produce and read XML and/or JSON representations of UML element instances
    • a template system for document outputs
    • an interface to Django framework and Jinja2
    • integration with numba for faster parsing and output

Copyright (C) 2014 nxUML, All Right Reserved License: GPL

Sergiy Gogolenko [email protected]