umple
The Umple Model-Oriented Programming Technology
Umple is technology for Model-Oriented Programming. It adds abstractions such as UML associations, attributes, and state machines to object-oriented programming languages such as Java, C++, PHP and Ruby.
A developer can use Umple in one of several ways. They can start with a pure model, containing only classes, associations, attributes and state machines, and then gradually add methods in one of the base languages to the Umple code base. Alternatively a developer can start with a normal...