Umple is a tool for what we call model-oriented programming. It allows you to a) embed UML class diagram concepts (e.g. associations) and state machines into languages like Java; b) generate high quality code from UML; c) generate diagrams, metrics and other products from your software.
UmpleOnline is a web interface for Umple, designed for experimentation with Umple and learning about modeling. You can edit Umple code (including a textual form of UML) and embedded Java code. Generated diagrams appear as you edit the code. You can also edit class diagrams and see the textual Umple code instantly update.
This repository allows anyone to run UmpleOnline locally on their own computer, instead of using the website http://try.umple.org.
To use, simply
1) Pull the latest: docker pull umple/umpleonline
2) Run the command: docker run --rm -ti -p 8000:80 umple/umpleonline
3) Point your web browser at http://localhost:8000/umple.php .
More details, including how to edit code on your local computer, and persistently save your models, can be found at http://dl.umple.org . Unless you take steps to ensure your files persist, FILES WILL BE DELETED at the end of each session. You can even use the persistence mechanism to save to Dropbox, Google Drive or or some similar service.
Umple is released as open source under the MIT license http://license.umple.org . Code is available at https://github.com/umple/umple . For larger-scale use of Umple, andseparately from this Docker image, you can also integrate Umple into your command-line or Eclipse workflow at http://dl.umple.org
Umple is targeted particularly to small companies and open source developers, and for use in teaching software engineering in schools and universities. Umple is written in itself using model-driven development and test-driven development. The lead institution is the University of Ottawa, although there have been over 60 contributors from universities throughout Canada and elsewhere (mostly PhD, Masters and 4th year students).
It is also possible to pull any git branch or tag that has been built by Umple's Travis continuous integration server.
For more information about Umple, visit http://www.umple.org