One day I had and keep having the feeling that mainstream tools for Code Generation are over-engineered and provides a lack of Separation on Concerns.
This was the motivation for me to build Essential as a MDE tooling for creating and maintain custom code generators. Time has arrived I need to get it back to life, refresh it and adapt to the new needs.
The guys at the Eclipse Modeling Framework leaded by Ed Merks@edmerks are working hard in XCore to provide ECore models a textual syntax. This is a needed feature from a long time.
It was also a good surprise to see how XCore syntax is quite close to Essential Meta. This is good news again: interoperability between the Java modeling side of world (EMF) and .NET modeling efforts with Essential are now simpler with the arrival of XCore.
As Meinte Boersma @miente37 comment on twitter: semicolons seems to be the main difference.
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:
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
For all of you interested in, feel free to try it, enjoy and provide feedback.
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.
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:
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).