UMLX is a pragmatic solution for documenting design that allows: 1) Keeping design (UML) and code better synchronized through a single point of definition and separate views from models. 2) Documenting design information in plain text files embedded directly in code using a simple XML format. 3) Generating initial UML diagrams and source code from the UMLX files using external tools.