uOttawaUniversity of Ottawa - Canadas University
list of dots

Umple User Manual    [Next]   


Getting Started

Umple is a technology for Model-Oriented Programming.

The Umple home page is http://www.umple.org. To download Umple for the command line or Eclipse, go to http://dl.umple.org. To use Umple online as a web app, go to http://try.umple.org

Umple allows you to do the following things:

  1. Create UML models textually. It can often be faster to create UML class diagrams and state machines using Umple's textual format that looks just like programming-language code. Editing, comparing and many other tasks can often be faster using this textual form. Umple has tools that allow you to edit the model textually (and see changes appear in a UML diagram) or to edit a UML diagram (and see changes appear in the textual code)

  2. Add UML modeling constructs directly into your programs, when you are programming in Java, PHP, C++ or Ruby. For example, when programming in Java, you can directly add a UML state machine into your code. This can save you a lot of coding. The Umple compiler acts as a pre-processor, first compiling the state machine to Java, and then compiling the Java into an executable program.

  3. Generate high quality code from UML models. The Umple compiler creates code in languages like Java, C++ and PHP that is of top quality. It is a goal of the Umple team to create the best open-source code-generation tool available. The generated code never needs to be edited and never should be edited, since if the generator doesn't create code of the type you would like, you can always embed native (i.e. Java, Php, etc.) methods in the Umple, or else use Umple's aspect oriented capabilities to achieve what you need. As a last resort, you can edit the code generator, since it is open source. As a result the concept of 'round tripping' is obsolete in Umple. You should treat Umple-generated code just lke you would treat bytecode-or machine code, i.e. as a development artifact that can be thrown away and recreated. Nevertheless, we have endeavoured to make the generated code as clean and readable as possible so you can verify its correctness and learn how it works.

  4. Incrementally Umplify a program. A program in a base language like Java should pass through the Umple compiler unchanged. As a result you can incrementally refactor such a program, stripping off complex code for such things as associations, state machines and patterns, and replacing it by simple Umple code. This can be done bit-by-bit, while testing thoroughly at each step. When you are done, you will have a program that should not only be more compact, but also more reliable and more maintainable. In addition, you have the benefit of being able to view UML diagrams of your program.

The term "Umple" derives from "UML Programming Language", "Simple" and "Ample".

The quickest way to get started with Umple is to go to UmpleOnline, and select an example listed under 'Select Example'. Each of these user manual pages also allows you to instantly load the examples into UmpleOnline.

To learn more about Umple, read the links on the left of this page, or go to the Umple Home page. In particular, you should browse the tutorials and videos about Umple

See here for the statement regarding privacy and other risks when using Umple.

If you are an ordinary user and notice an error in this manual, please report it using our issue tracking system here Flag it as a defect in the user documentation. If you still have trouble after reading this manual, please contact our help mailing list and post a request for help. If you are a contributer, instructions on how to edit this manual are here.