The Yummy UML Modeling Environment project page
The project is temporarily frozen, hard to go back to Java...but we will come back someday:)
Introduction
Yummy stands for U. M. L. Modeling Environment, and is a lightweight UML editor (compared to, for instance, ArgoUML? [1]) implemented in Java.
Yummy aims at being simple and fast to use, stressing the importance of clean, responsive UI, while also putting an emphasize on the underlying model and in the expressivity of UML diagrams. We do not see UML as a specification language, but rather on a design and communication tool. We do not really believe in turnign UML diagrams directly into code.
Yummy uses JHotDraw? [2] for representing the diagrams and NSUml? [3] to store the underlying model. We have concieved Yummy around design patterns and try to keep things clear, simple, lightweight and fast.
Development
Yummy uses an interative development process. We try to plan 3 to 6 months iterations where we aim at a specific goal indentified by a set of feature. The following sections give a short detail about done, undergoing and future iterations.
Iterations 1 and 2 (History)
First iteration was aimed at designing a efficient architecture and testing the recent libraries mentioned above.
![]() |
| Screenshot of Yummy, at the end of iteration 1 in july 2002 |
Second iteration was aimed at the figures implementation improvement, serialization implementation and project management handling.
![]() |
| Screenshot of Yummy, at the end of iteration 2 in january 2003 |
Iteration 3 (planning)
Iteration 3 focus will be:
- UI redesign: the UI concept will be redefined to offer a better ergonomy. Here is a screenshot of an original UI concept for an UML editor. UI will be way more keyboard-oriented.
- Proper resource management: Resource management should use property files (especially for i18n) and resource bundles
- Support for wrapping text entry box and labels
- Support for annotated connection figures (see Poseidon UML)
- Support for CSS styles in most figures (using a CSS parser such as SteadyState's)
- Rewrite inspectors infrastructure. Should use UI compiler for fast prototyping and convenience.
- Implement code skeleton generation and reverse engineering
- Support for UML package and sequence diagrams
Tasks (by priority):
- Resource management (Done by Seb)
- Annotated connection figures (Done by Seb)
- Wrapping text box and labels (Already in JHotDraw? 4.1b)
- UI rewrite (Sebastien and Zoe)
- CompositeFigure? architecture reviewing ("En cours" by Zoe)
- Inspectors (Sebastien)
- CSS styles (Sebastien)
- Improved project manager (Zoe)
- Reverse engineering (Zoe)
- UML package and sequence diagrams (Zoe)
Iteration 4 may add:
- Printing support
- PDF exporting support (using iText)
- SVG exporting support (using Batik)
- Code generation (using Jostraca)
- Scripting (using Jython)
And in a far future:
Links
Here is a collection of useful or interesting links related to Yummy:
- UML quick reference, which gives a very interesting overview of the visual formalisms covered by UML.
- Practical UML a simple, example-driven introduction to virtually all UML diagrams. It's rather bare, but it allows to kickstart using UML.
- Agile modeling and Modeling Style provide great information and ideas on how to use UML as a communication and specification tool more adequately.
- A framework for the UML meta-model is an interesting document for UML-intended software development.
- UMLet is another UML tool project in Java
Here are Java-related links:
- An on-line book on how to write performant applications with Java
And, in Java as in any complex language, examples are always useful to avoid wasting time in reading specs for hours to finally get how to use a method... Here are some useful links to "improve" more efficiently in "library competencies"...


