Skip to Main Content
Umple adds UML abstractions to base programming languages such as Java, PHP and Ruby. The resulting program can be seen as both model and code at the same time. Umplification is the process of converting a base language program to Umple by a series of refactorings. The result is a program semantically equivalent to the original, but which can be rendered and edited as UML diagrams by a modeling tool or manipulated as a textual program for those who prefer. In this paper we discuss the principles of Umple, the process of umplification, and two examples including umplification of the Umple compiler itself.