Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Model-Oriented Programming; code generation for UML class diagrams and state machines
Java HTML PHP GAP JavaScript Ruby Other

adding traits to abstract classes.

git-svn-id: 6ebf9d09-8eb1-0036-9d08-68c07d1b990a
latest commit 8b80e98f32 authored
Failed to load latest commit information.
ExternalTextEditorPlugins Updating Readme files in various directories
UmpleEditorAndCompiler Fix so we don't require parentheses on constraints
UmpleToCpp Restoring unintentional modifications.
UmpleToJava [691][692] Added public state machine enums (by Kevin Brightwell)
UmpleToPhp Restoring unintentional modifications.
UmpleToRTCpp CompositeStructure - {
UmpleToSDL Updating some ReadMe files
UmpleToSql issue 437's fix: nested state machine guards were causing an error
UmpleToTemplate Restoring unintentional modifications.
UmpleUIGenerator Fix so we don't require parentheses on constraints
UmpleUIJSFProvider Fix so we don't require parentheses on constraints
UmpleUIModel/src/cruise Fix so we don't require parentheses on constraints
UmpleUIResources Fix so we don't require parentheses on constraints
UmpleUpdateSite Fix so we don't require parentheses on constraints
Umplificator a simple fix
build Added language-specific skip compile tags for the exampletests ant sc…
cruise.umple.eclipse Cleaning up importers (by Kevin Brightwell)
cruise.umple.nebula Restoring unintentional modifications.
cruise.umple.validator Updating patch committed by Tommy Chan - 535
cruise.umple.xtext.ui Cleaning up importers (by Kevin Brightwell)
cruise.umple.xtext Introduces the Xtext generator, which automatically generatest "Umple…
cruise.umple adding traits to abstract classes.
cruise.umplificator.eclipse building rule drools engine for umplificator.
cruise.umplificator Refactoring EnumDeclaration => TopConstructs
dev-tools Updating some ReadMe files
examples Fix so we don't require parentheses on constraints
experiments [mgarzon_thesis] moving experiment files to my own repository
externalexamples Fix so we don't require parentheses on constraints
jopt-simple Added generate Umple tests (was based on altered Umple itself, so nee…
lib mini-release to fix issues on Travis and on first-build target
releases New Umple release
sandbox Removed umple generated code
testbed [656] fixing negate when constraint isn't negtable, e.g. isOldEnough()
testbed_php [656] fixing negate when constraint isn't negtable, e.g. isOldEnough()
testbed_ruby [656] fixing negate when constraint isn't negtable, e.g. isOldEnough()
travis Updating travis config
umpleonline [trace] minor modification for log4j tracer based on Tim thesis edits
umplewww Updating 404 page in umplewww
umplificatoronline [umplificatoronline] first commit for the umplificator online.
.gitignore Umple console changes and increasing the Java version (by Kevin Brigh…
.svnignore Added missing tests for USE language
.travis.yml Cleaning up importers (by Kevin Brightwell)
ReadMe.txt Adding links to umpr in Umple Online
UmpleMITLicense.html Updating license with recent contributors


This is the main directory for various Umple subprojects and components.

Umple is a model-oriented programming technology. It allows developers to embed modelling concepts (e.g. associations, state machines), patterns and other abstractions in traditional code, and vice versa. It generates high quality code for Java, C++ and PhP (and can be embedded in or embed these), as well as diagrams, metrics and many other artifacts.

Umple is developed in itself, guaranteeing robustness, hence the Umple compiler has to be distributed with the source (in the releases directory).

Development follows a model-driven, test-driven, agile, continuous-integration process. Umple is hosted currently on Google Code at It is mirrored on Github at and at SourceForge at 

Umple has been largely developed as a research project at the University of Ottawa, Canada, by numerous PhD and masters students, Many undergraduates from across Canada and the USA have also contributed. See the license file for the list of contributors.

More details can be found as follows
  * Umple home page:
  * Umple user manual:
  * Download page:
  * Live diagram of the metamodel:
  * Architecture:

Umple is continuously tested and build on Travis CI ( 

Current build status:

The items below are in alphabetical order.

Items marked *** are created by the build process only and are not version controlled.
They are referenced here so that people can better understand the hierarchy of files whether or not they have built the system.

      Ant build scripts and related information
          The user manual source oages, used to create the user manual
    cruise.umple -> The main Umple compiler
       See its own ReadMe.txt for further details
         See also UmpleTo* below for additional compiler components
       Code for the Eciipse plugins

    cruise.umplificator* - Tool for connverting code to Umple
    cruise.umple.validator - tool for validating umple when umplifying

       New code generation infrastructure used for real-timeC++

       Scripts and other tools used to help developers of Umple itself
    dist ***
       Main products to be distributed after a build
       cruise.umple/reference - the user manual (needs also some umplewww pages)
       qa - test reports 
       umple.jar - main command line compiler - the latest also stored in releases
       umpledocs.jar - generates the user manual
       umplestats.jar - generates statistics
       umplesync.jar - used by UmpleOnline to synchronize graphical form
       vml.jar - an extension for variability modeling

         Examples of Umple that the Umple team itself is managing
         Products that use Umple that we have allowed to be managed here
         The idea is that they serve as extra tests

       plugins to text editing tools to allow them to do syntax highlighting with Umple or other more sophisticated Umple operations

       Fork of one of the very few packages (MIT-licensed) where we have borrowed code from others
       Elements the Umple build depends on
       The file umple.jar is used to bootstrap the build
          - It should be updated with major releases, and also preiodically
             in between

       Historical and current versions of the Umple compiler

    testbed -> Testing of generated code

    UmpleToJava -> Code generation for Java
    UmpleToPhp  -> Code generation for Php
    UmpleToRuby -> Code generation for Ruby
    UmpleToRTCpp -> Code generation for C++
    UmpleTCpp   -> Code generation for alternative C++ - historical; to be deleted
    UmpleToSDL -> Code generation to convert Umple to SDL
    UmpleToSql -> Code generation SQL from Umple models
    UmpleToTemplate -> Template for creating new code generation subprojects
    umpleonline -> The UmpleOnline web application, which allows generation of code
        from Umple directly in a web browser, and also editing of Umple both graphically
        and textually. This is online at

    umplificatoronline -> Online tool for converting code to Umple

        Projects for the UIGU tools for generating a UI from Umple
        These need work to incorporate them into UmpleOnline
    umplewww -> Core files from the web pages, such as the user manual
        these are moved at build time into their appropriate places
        Software being created to reverse engineer code to Umple
Something went wrong with that request. Please try again.