Model Driven Development is one of my favourite research topics. That’s why when the Icinetic guys contacted and offer me to join them to work together I had few arguments to resist the temptation and enroll.
Therefore, today I’m moving to Sevilla, in the south of Spain, to start a new phase of my life to work as the Chief Research Officer. Icinetic is an young MDD tool-maker and consultancy company.
I am quite excited to have the chance, the tools and the right team (both with the required business vision and the technical background) to focus on innovation and to create cool MDD & code generation tools.
La comunidad Alt.NET Hispano ha publicado la VAN (desconferencia) sobre Generación de código con Essential que tuvimos el pasado dia 11 de junio. Si estás interesado en MDD, generación de código y como aplicarlo con Essential, este video grabado para la comunidad en español es un buen punto de partida.
Mi agradecimiento a Alt.NET Hispano por el interés en la materia y la invitación a divulgarlo.
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.
Code Generation 2011 is the leading European conference on modeling and code generation. It’s a great opportunity to meet with the experts in the field and share the latest research in the area.
The invited speakers this year are very, very interesting:
Ed Merks, the leader of the Eclipse Modeling Framework
As a novelty, previous to the conference itself the first edition of the Language Workbenches Competition will take place on May 24th in the same venue.
In this edition, I will be there again, more active if ever, taking part with some activities:
I submitted a proposal with Essential for participation in LWC11. It’s going to be a great forum for comparing language workbenches capabilities and the state of the art in the area. If interested, track the progress here LCW11.
During the last weeks I’ve been working a little, replacing the old Microsoft Oslo dependencies to MGrammar inside Essential to an alternative parsing solution. The MS Oslo and later SQL Server Modeling never passed from the CTP stage and finally were discontinued. Therefore, I couldn’t ship a product in such conditions and finally decided to change it.
When building a new tool for modelling and code generation like Essential, one has to rethink again what template engine use to drive all the machinery. In code generation contexts, template engines are a good field for innovation and your choice will be with you probably for the full lifetime of your tool.
In this post, I will try to introduce and explain why StringTemplate is a superb engine for doing code generation and why you should consider it if dealing with a code generation scenario. More… »
The Hello World sample is a nice starting point to show the syntax and capabilities of every new language. This test is also useful for code generators and Domain Specific Languages (DSLs) also as a proof of concept.
Following this honorable tradition, I have created a video showing the capabilities of Essential: the tool I am working on for doing agile Model Driven Development.
In this 10 minutes video you will get a general idea of the DSL the language provides to create:
metamodels
models
templates
and control transformations
In order to see the details, jump to Vimeo, activate the High Definition mode (HD) and set full screen (sorry embebed version is not good enough).
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.
It also was the public presentation of Essential: the tooling supporting my approach for applying MDD. I got a very good feedback from the audience and receive many request to test the tool.
People interested in beta testing it can still enroll here.