May 31, 2011

About SWTBot

I recently read a blog post about SWTBot, which I consider as a unfair rant.

Before going further, I would like to say that I think having several eclipse projects with the same functionalities is totally fine. Diversity and competition enable one to bring innovation and new approaches. I think it, but I have also experienced it inside the modeling platform with Acceleo, Jet and Xpand or Grafiti and GMF. That said I think each project should concentrate on building a successful technology and an enthusiast community associated, and not trying to claim that other projects suck, more over when criticisms seem a bit peremptory.

Below are my answers, point to point :
  • I agree that support for other keyboard mappings could be enhanced a lot in SWTBot, but I do not think this issue is a blocker for functional testing your application in a majority of cases. Seriously, how many features depends on umlaut and trema in your text inputs ?
  • You may prefer TestNG, but having support for this test framework is not mandatory for having SWTBot to work. However to complain about a feature request, never asked before, making SWTBot not usable, seems to me weird.
  • The comment above apply, but I will add that the issue you encounter seems to be rather in the scala eclipse integration plug-in than in SWTBot. Anyway it should be easy to fix.
  • I was not able to understand your problem and the what the trick you mention fixes. Please open an issue with steps to reproduce and the behavior you expect.
May be you were trying to suggest cool new features, or priority in fixing issues, in that case do not hesitate to open bugzilla entries or add your comment to existing ones.

SWTBot is a small project, with a dynamic community, which try to improve it step by step. It is certainly not perfect, had issues and room for improvement, but we try to make it work.

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.