Umple allows generation of code in Java, PHP and other languages from a textual representation of UML state machines, associations and other modeling constructs, thus saving coding effort. It can generate UML diagrams, entity-relationship diagrams, state tables, formal methods code and other outputs. Class diagrams can be edited to update the textual format. Code in Java and other languages can be embedded, allowing generation of complete systems. Software models are also analysed to find many kinds of defects. It runs on the command line, on the web and in IDE plugins. It is fully open source targeted to open-source developers and for educational use in software engineering and computer science.


University of Ottawa

Research Subject:

Software and development

Support Email:


Self deployed



Release Date (UTC):




Code Generation Software Modeling State Machines UML

How to Cite:

Timothy C. Lethbridge, Andrew Forward, Omar Badreddin, Dusan Brestovansky, Miguel Garzon, Hamoud Aljamaan, Sultan Eid, Ahmed Husseini Orabi, Mahmoud Husseini Orabi, Vahdat Abdelzad, Opeyemi Adesina, Aliaa Alghamdi, Abdulaziz Algablan, Amid Zakariapour, "Umple: Model-Driven Development for Open Source and Education", Science of Computer Programming, 2021,