Posts by pjmolina.

¡Hasta pronto Valencia!

Ciudad de las Artes y las Ciencias, Valencia. (By CC José Carlos Cortizo Pérez)

Today I’m leaving my work at Capgemini Spain in the city of Valencia.

The great amount of projects, were I was involved in, were a perfect field for continuous learning and team working. After six years and half in this company I have learned and shared experiences with colleagues and customers, some of them also evolved into good friends.

One of the best part of a big consulting firm, was to have the chance to meet and access to experts around the world as if the were part of your team. Another one, no less important, was the team spirit I found in Valencia. Thank you guys. Really learned a lot from you!

Now, I decided that it is time for a change, to move for a new challenge, and push a strong focus into the quest that always was latent in my mind.

¡Hasta pronto Valencia! – See you soon!

Modelling the User Interface, the video

The recording of the Code Generation 2011 session about ‘Modelling the User Interface’ is finally available online at InfoQ.

For further details take a look to the slides and Conceptual User Interface Patterns.

During the video you can see a pair of demos:

  •  Essential on action doing full UI inference and code generation
  • and IO, the codename for a new proof of concept UI specification and WYSIWYG prototyping tool.

Essential on Alt.Net Hispano

The Alt.NET Hispano group has published my VAN about Code generation with Essential. The recording was done in Spanish.

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.

Descarga directa del video (562 Mb).

 

More… »

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.

Getting ready for CG2011

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:

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:

As always, I’m looking forward to meet again the code generation community.

Take a look to the full programme and don’t miss the chance.

See you in Cambridge!

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!

Essential submission to LWC11

As blogged before, at CG2010 a group of interest came up with a proposal for creating a Language Workbenches Competition and the first edition will be taking place in Cambridge May 24th, just before CG2011.

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.

StringTemplate: a great template engine for code generation

Paper Templates, licensed CC Attribution by Edinburgh City of Print

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… »

Hello World with Essential, the video

Essential Logo

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).

Essential IDE – Hello World sample from Pedro J. Molina on Vimeo.

More info about it and 12 usage scenarios in the last Code Generation 2010 presentation about Tailored Code Generators.

Share your impressions!