Umple (http://www.umple.org/) is a technology for raising the abstraction of programming and allowing easy modeling by programmers. The Umple project includes a compiler written in itself, an Eclipse plugin, a command line tool and a website for manipulating models (http://try.umple.org).
Umple stands for 'UML programming language', 'Ample' and 'Simple'. It is a technology for what we call model-oriented programming (MOP). In MOP, developers model and program simultaneously. Models, written textually in the Umple language, are embedded in base programming languages like Java, C++ and Php, or vice-versa. Base language code is generated from the Umple model, and is compiled along programmer-written base language code to produce a complete system.
This allows developers to work at the high level of abstraction allowed by models, while at the same time taking advantage of all the tools that have been developed for people writing traditional source code. Umple also allow