StarUML is a free open-source Unified Modeling Language (UML) and Model Driven Architecture (MDA) tool. StarUML can be used to design software models and create their associated UML artifacts. StarUML has support for code generation from UML diagrams and also for creating UML diagrams from source code.