Posts tagged “language workbench”.

Summary: Language Workbenches Challenge 2012

LWC2012 logo

Two weeks ago, I honored the yearly tradition of traveling to Cambridge and join with my colleagues at the Code Generation Conference.

As commented before in this blog, this conference is something unique. It is not an academic oriented event: it has no papers and publications in the traditional way of an academic meeting. On the other hand, it shows live tools and samples of real technology in use in the industry and the latest research tools in the academia in the field of Software Modeling, Domain Specific Languages and Code Generation. If you want to meet and talk with the toolmakers this is definitely the place to come.

The event was intensively reported via twitter under the hashtags #cg2012 and #lwc2012.

In this first post I will review the LWC and write about CG2012 in the next one.

LWC2012

On Tuesday 27th, the 2nd edition of the Language Workbenches Challenge  took place. 32 of us meet there to see how 10 tools solved the Piping and Instrumentation problem. This year I was only an observer, no time from my side to prepare a solution, I hope to submit next year again.

Rui Curado presented his solution with AtomWeaver. He has added a graphical notation on the top of AtomWeaver in the late year. Great work.

Juha-Pekka Tolvanen shown a solution based in MetaEdit+. Based on the maturity of MetaEdit, the graphical nature of the problem and the experience of Juha-Pekka he excels his solution showing a use case of the system and later on going meta and showing us how it was done.

An UML solution was represented by Paul Zenden. Using Enterprise Architect as the base tool and complemented with Xtend/Xpand he was able to metamodel all the elements needed to describe the problem. He took advantage of the capabilities of the EA tool to add custom graphic symbols to the new symbols defined.

Tijs van der Storm presented a textual approach based on Rascal. Graphics were generated using an additional graphical library.

Alex Loh from Texas introduced us Ensō. Ensō is a new LW built on top of Ruby. Although a bit slow in its first version, it opens the doors a new way of LW taking advantage of the dynamic and interpretation capabilities of the Ruby language.

The Web is ubiquitous, and this issue is also reaching modeling concerns. Meinte Boersma in cooperation with Martin Thiede presented Más (Modeling As Service, más = means more in Spanish). Martin created and presented Concrete as a projectional editor based in Ruby and HTML5 in CG2011. Now Meinte has extended it to create a full web modeling environment targeting enterprise modeling.

Finally Marko Boger presented an implementation of the graphical language build using Spray. Spray is a project to provide textual DSLs to create graphical DSL on the top of Eclipse Graphitti.

Spray was conceived in the Castle Inn (our local CG reference pub) one year ago after a CG2011 session after people have the shared complaint about how painful and slow was to maintain GMF editors or to build them from scratch using Graphitti. Now one year later, Spray is a reality. Good job, very well done!

This edition was very diverse with respect a tools, approaches and solutions taken. Great workshop!

We ended the day with the traditional family photo. Special thanks to Angelo Hulshout for organizing it and Paul Zenden for proposing the challenge and the reference implementation (thanks Angelo for remember me it as it was).
See you next year!

LWC2012 family photo

 

Code Generation 2011: a personal review

Once again, back home after the most exciting till date edition of the Code Generation conference in the latest years. The co-allocation of the Language Workbenches Competition has been a great incentive to attract all of us to join and present alternatives to a great challenge in the domain of modeling and code generation.

In this long post, I want to share my personal view about these days, and for sure, take note it could be partial and subjective. So, be kind to review also the comments as seen by others like Johan den Haan, Markus Völter, Angelo Hulshout, Marco Bambrilla, or Mariot Chauvin to cite a few and more expected to come. Find the majority of the pointers at the http://modeldrivensoftware.net

In this edition, the conference has been deeply covered via twitter using #cg2011 and #lwc11

As expected, I will be only be able to comment about the sessions I personally have attended. Running three tracks in parallel always force us to choose one and miss two other great sessions.

More… »

First public Essential 0.4.44 Beta!

Essential Logo

The Code Generation 2011 conference and the Language Workbenches Competition 2011 Workshop are quite close in the calendar.

I want to celebrate it with the MDD community sharing my work on Essential (a tool designed for acquiring speed with Model Driven Development). On 11th may 2011, version 0.4.44 has been released as the first public beta.

Essential is a meta-modeling and code generation tool providing specific DSLs to define and consume:

  • Metamodels
  • Models
  • Templates (using StringTemplate) &
  • Transformations (Model2Text and Model2Model)
With a strong emphasis on model interpretation, prototyping a code generation can be done in an agile way without the need of generating any infrastructure boilerplate or meta-editor plumbling accessories.
The main goals of the tools is to enable software architects to:
  • Prototyping software directly from models in a unexpensive way
  • Evolve theirs software architectures as fast as possible experimenting with design choices
  • Benchmarking and comparing architectures
  • Code generation
For all of you interested in, feel free to try it, enjoy and provide feedback.

Try it also with the sample projects created for the LWC 2011 challenge.

LWC2011 list of participants disclosed

Angelo Hulshout has disclosed the list of participants taking part in the first Language Workbenches Competition to be organized on May 24th, at Cambrigde, UK. Just before the Code Generation annual conference.

Finally, I will also be there presenting Essential as a solution to the challenge. It’s a nice excuse to go there, just in case! 🙂

Now I can hear in the background the sound of knives being sharpened, nevertheless with an Olympic spirit. }:)

If you want to see the State of the Art of the next generation Software Engineering tools in action, don’t miss the opportunity and join us. See you there!

Language Workbench Competition 2011

Language Workbenches, as defined originally by Martin Fowler, are tools aiming to cope with DSL creation and code generation to increase the level of abstraction of software development.

Currently, the main efforts on MDD, MDE, MDSD (model-driven-whatever you prefer…) are focused in the development of this kind of tools perceived as a hot research area for Software Engineering.

In this scenarion, Cambridge, at Code Generation 2010 was the perfect place for sparkling the idea of promoting a contest to show and compare the advances of different language workbenches.

The Language Workbench Competition born with the objective to serve as a point of comparison between different tools in this exciting and fast moving area.

The competition is now open to the public. So anyone interested can enroll and implement the proposed challenge just published.

On the other hand, if you want to know more about Language Workbenches, modeling and code generation add this page to you bookmarks and come back in few months to see some proposals.

The promoters of the idea are: Markus Völter, Eelco Visser, Steven Kelly, Angelo Hulshout, Jos Warmer, Bernhard Merkle, Karsten Thoms and myself.

So this a call to arms but with sportsmanship!

Angelo and Markus has already started the calling.