Thursday, March 19, 2009

Using RCP Views to view UML Diagrams ?

Who doesn't know this:

You as Software Architect have listen to your business users requirements and designed such great UML diagrams - and now you present them proudly - but your business users don't understand what you designed. They couldn't imagine what all those dependencies, relations, inheritance, 0..1, 0..* mean.

What if you could generate by-magic RCP views directly from your UML model ?

...and your business users can understand what your diagrams mean and also see those little hidden secrets from properties like "length of a String" causing the RCP View to show a single line or multi-line text field ?

...or showing fields marked as index as required with yellow background ?

...or showing your Enumerations as SingleChoices or Combos ?

Utopia ?

No - this is the way to realize it:

use openArchitectureWare to generate from your UML Model Java Code, Configuration Files, EMF Models and more

use redView to auto-magically generate dynamic Views from your EMF Models
(Hint: the first 3 TabItems represent 0..1 or 1..1 associations, the last two TabItems contain a Table and represent 0..* or 1..* associations)

Curious ?

Then visit on Thursday at 2:30pm Room 206 Session

redView is a part of a complex enterprise solution - if you want to know more about my OSGI - Equinox - Riena - Easybeans Serverproject please visit JAX09 in Germany and book the OSGI ExpertsDay.

blog in german


Anonymous said...

This is very cool.

Amazingly, less than two weeks ago I presented a prototype of a similar application (which I called The Animator) to a Brazilian Java user group.

The key difference is that there is no need for code generation - the application takes an UML model as input and dynamically renders a SWT/JFace UI.

ekke said...


the redView project will be published as open source first week of may. redView itself doesnt need an UML model or generation - it can also be used to create UI from scratch.
Using a generation framework like openArchitectureWare gives you much flexibility how your UML model will be "interpreted" to generate the EMF UI model.


mattre said...

So if I understand correct: RedView comes with a RedView metamodel, and the oAW generator generates a RedView model from your domain EMF model or UML model (similar to the genmodel in EMF, or gmfgen in GMF).
Then the user has the ability to "modify" this RedView model instance, and on the second step the code generator generates the RCP views with the Riena Ridgets for you.

Are my assumptions correct ;), or got I something wrong?!


ekke said...

you're correct:
redView has an EMF MetaModel for SWT:
elements, layout, databinding, styles etc.
the oAW generator generates redView (EMF) model from my domain (UML) model.
the user can modify the redView models - and those modifications are stored in the redView (EMF) model.
the second step isn't nessecary: redView isn't only a WYSIWYG SWT (Riena) View editor - there's also a factory where you get a composite DYNAMICALLY rendered by redView.
only if you dont like dynamic behaviour then you can use oAW to generate code for RCP Views with Riena Ridgets

mattre said...

I like the WYSIWYG editor idea (I might have already known when looking at the screenshot) and also that you can dynamically render any EMF model.

I am really looking forward to the source code... I hope you make it public soon ;)!!


ekke said...

we expect to publish redView first week of may.
if you're at JAX09 in Mainz - I'll also show other parts at OSGI Experts Day.