UML, good or bad?

Via Adriano Comai I stumbled upon Ivar Jacobson’s article  “Taking the temperature of UML” , an interesting view of one of UML founders on the UML.  One of the important quotes is:

Still, UML has become complex and clumsy. For 80% of all software only 20% of UML is needed. However, it is not easy to find the subset of UML which we would call the “Essential” UML. We must make UML smarter to use.

There is a strong point in UML being too big. I have been following UML since its inception, having worked 10 years on one of the first UML tools, Software Through Pictures. Over the time, I have more and more been favouring (textual) DSLs. One of the reasons are the intrinsic problems of graphical  modelling, so one of the quotes I cannot really agree to:

There are a number of good and easy to use tools.

The situation has gotten much better, but graphical modeling tools are very complex to get right and I’d support the statement on one of the speakers on the german Architektour podcast that there are few tools that I really like, only tools that I dislike less. However, in project settings, there might be some influencing factors that make  UML and UML tooling is the best solution. If you understand german, most of the arguments pro and con UML that I’d use are mentioned on the Architektour podcast.

I like Pedro J. Molina’s article in his post “Using the 20% of UML”.

So I don’t think an “Essential UML” would be the right way to go. Time is better invested to find the right DSL for your domain.

Eclipse Summit Europe: Lightweight Model-Driven Development for Embedded Systems

I am happy that the talk that Markus Völter and I submitted for the Eclipse Summit Europe 2009 has been accepted.

Wednesday, 14:20, 40 minutes | Room 6
Model driven development and code generation is relatively widespread in the development of embedded systems. However, usually, large and expensive UML-based real-time modeling tools are used, typically in conjunction with their own runtime environment. To make this approach scale down to smaller, more agile environments, a more lightweight and flexible approach is needed. In this talk, we show how the Textual Modeling Framework, the Xpand code generation engine and a couple of utilities for managing product line variability in models can be used to develop embedded systems. Architects develop their own domain specific language and code generator, to make sure the abstractions and the generated code fit their needs on the target platform. The talk uses a minimum of slides and is based mostly on a realistic example, showing the DSL, the code generator and the way we’ve built it. — Note: the attached slides are based on a related talk. They will be adapted slightly to fit the proposed session better. But the provide a realistic estimate for style, amount and content.

http://www.eclipsecon.org/summiteurope2009/sessions?id=854