Sunday, February 17, 2008

The StUIML principles

As my full articles are not ready yet (working around the clock on a Software Factories project for a large dutch Insurance Company), I thought it would be a good idea to reveal the basic principles that StUIML is based on:
  1. The UI model should never pose requirements for the domain model

  2. Reuse at the model level is key, so each UI model component should follow the 'strong cohesion, loose coupling' principle

  3. The percentage of generated code should be well above 90% and preferable > 95%

The antipatterns that the principles above avoid can be seen in many UI development projects:

Allthough n-tier architecture is widely adopted it is still commonplace to add domain model features to accomodate the UI tier.

Programming logic, navigation and content inside a single screen class is another common trap, because of the RAD style of development where a single screen is the focus for developers.

If you only generate 40% or 60% of the UI, you quickly loose some of the advantages of MDSE, because of synchronisation and uncontrolled dependencies. There are too many DSL's that are only used in the first iteration. They are abandoned and the generated code is just a starting point for traditional manual labor.

Next time I will describe the key concepts (metamodel elements) in StUIML.

Thursday, February 14, 2008

StUIML at EclipseCon2008

The upcoming EclipseCon2008 will show two StUIML related talks:

  • Intentional UI Modeling talks about the background and features of StUIML and the role of WYSIWYG in combination with DSL and code generation. The examples used are based on combining StUIML with UML domain models and generation of Java Swing.
  • Model-driven web applications talks about the use of StUIML in combination with Ecore and generation of Seam/JSF.

    There is a lot of attention for modeling and the user interface so I am looking forward to the discussions.

    Hope to see you there. As a warning: my picture on the EclipseCon2008 site is at least 15 years old. So look for a bolding middle-aged father of 4 instead...