May 26, 2011

About modeling workbenches

I was last week at Cambridge for Code Generation 2011.

That's the first time I attend to this conference, and I feel I have missed for several years, agreat opportunity to discuss and share ideas about modeling beyond Eclipse community.

One hot topic of the conference was language workbenches with a competition dedicated to them one day before the official start. You will find several summaries on this first journey with the several presentations, including the Obeo Designer one. I really enjoyed this workshop and discovered interesting new workbenches such as Essential or Whole platform.

The day after I presented how you could create easily your own modeling workbench mixing several kind of editors. If you did not attend, following is a summary of my presentation.

I started by explaining why particularly graphical DSL are more interesting than UML if you want to raise your level of abstraction rather than level of complexity.

UML graphical notation, along being not specific, is ambiguous and not intuitive.

Building a graphical or textual DSL should be driven by end user way of work and data you model.

Neither expect from an emacs user to program by drawing some kind of diagram sequence, nor expect from a powerpoint user to create a flowchart by literally typing it.

One of a key point for a modeling workbench is its ability to support collaborative work, which means enable people with different concerns to work on the same models.

A modeling workbench should adapt to the workflow of users and set process with conflicts handling.

Modeling is valuable in itself, however you can reach another level of productivity gain when you use models to produce deliverables : code, documentation or settings file.

A modeling workbench should manage de- synchronization between models and the deliverables.

Obeo Designer is a modeling workbench platform which focus on adaptability, flexibility and tooling. It is based on eclipse modeling projects.

For instance for text generation it includes Acceleo, a template based approach generator with featured editor, debugger and profiler.

It includes also Viewpoint, a graphical runtime to specify graphical representations such as diagrams and table editors. You don't need to generate any line of code to specify representations.

Viewpoint provides several mechanisms to display only relevant informations such as layers and filters.

Live demo showed how to create such editors to edit graphically models and then did a model transformation from UML and a code generation to Java.

This platform has been used for several Obeo customers and partners with different kind of editors and with various generation use cases.

For instance for safety analysis with FTA diagrams.

Viewpoint technology is also capable of drawing advanced diagrams for your domain specific models such as sequences diagrams (including interaction uses and combined fragments).

Even if you should often avoid UML you may have to deal with such legacy models.

So we provide open-source UML editors you could easily extend or integrate in a descriptive manner.

If you want to know more, presentation slides are available online.

I attended to a lot of interesting talks, but if I should to retain only two, it would definitely be the keynotes from Terrence Parr and Ed Merks. Strong opinions, good sense of humor, and a understandable speech to explain what they have realized.

1 comment:

  1. Thanks for citing me, Mariot. BTW, really like the way you included the slides and comments side by side in this post, planning to borrow this idea for a post I am working on.