University of Ottawa logo / Université d'Ottawa

UmpleOnline  Manual  Download  Code   News  Donate 

Advanced Model-Oriented Programming Using Umple

An online tutorial (T3) at MODELS 2020

Presented by: Timothy Lethbridge , School of Electrical Engineering and Computer Science, University of Ottawa, Ottawa, Canada.

(for other presentations about Umple, click here)

Abstract Umple is celebrating 10 years as an open source modeling and code generation technology. In this tutorial, we will introduce the technology to those new to Umple and also demonstrate some of its newer features. Umple is designed to allow modeling abstractions such as state machines and associations to be blended seamlessly with code in multiple programming languages. Umple also incorporates mixins, product line technology, traits, tracing, generation templates, and aspects. All of these capabilities work synergistically with models, with each other and with traditional code. Umple can be used with any IDE, since it has been designed to have few dependencies. For exploratory use, only a browser is needed. For more serious use a JVM (V8-14) is required. A Docker image is also available. The tutorial will be hands-on. Participants will build some small applications involving state machine models, feature models and aspects. Since Umple is written fully in itself, we will also demonstrate how an open-source, model-driven, test-driven agile project can be managed.

This tutorial is now in the past. Below is the video

(see more on the Umple YouTube channel)


This tutorial walks through a variety of features of Umple, demonstrating how programs in Java, PHP and other languages can be created with much less work by incorporating models with the code. Both graphical (UML) and textual forms of Umple will be used.

Umple has a wide array of features, but the focus will be on state machines and product lines.

Numerous papers have been published about Umple


The tutorial was 3h (1:30-3 and 3:30-5 on October 20th). I have taught versions of this as graduate courses in several universities. There is a vast array of features.

The tutorial is designed for people who are knowledgeable about programming and UML concepts such as associations and state machines. As such it should be accessible by anyone attending this conference.

Pdf of slides, for you to follow if you wish

Basic Umple file for the Bank case study: BasicBankExample.ump

Mixset multibranch Umple file: Mixset-Multibranch-Alt.ump

Target audiences

Funding for Umple

Funding for Umple has been received from NSERC. Over the years, funding has also been received from the Ontario Research Fund, IBM, Google and Facebook (the latter two through travel support for contributors)


Required tools to attend

Participants only need a web browser for the basic work, but would benefit from having a JDK installed so as to be able to run the software they create. The web-based and command-line versions of Umple will be used, and MacOS, Windows or Linux computers will all work. Having Docker installed would be a plus (see